10520cc2cSOliver-Rainer Wittmann /**************************************************************
20520cc2cSOliver-Rainer Wittmann *
30520cc2cSOliver-Rainer Wittmann * Licensed to the Apache Software Foundation (ASF) under one
40520cc2cSOliver-Rainer Wittmann * or more contributor license agreements. See the NOTICE file
50520cc2cSOliver-Rainer Wittmann * distributed with this work for additional information
60520cc2cSOliver-Rainer Wittmann * regarding copyright ownership. The ASF licenses this file
70520cc2cSOliver-Rainer Wittmann * to you under the Apache License, Version 2.0 (the
80520cc2cSOliver-Rainer Wittmann * "License"); you may not use this file except in compliance
90520cc2cSOliver-Rainer Wittmann * with the License. You may obtain a copy of the License at
100520cc2cSOliver-Rainer Wittmann *
110520cc2cSOliver-Rainer Wittmann * http://www.apache.org/licenses/LICENSE-2.0
120520cc2cSOliver-Rainer Wittmann *
130520cc2cSOliver-Rainer Wittmann * Unless required by applicable law or agreed to in writing,
140520cc2cSOliver-Rainer Wittmann * software distributed under the License is distributed on an
150520cc2cSOliver-Rainer Wittmann * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
160520cc2cSOliver-Rainer Wittmann * KIND, either express or implied. See the License for the
170520cc2cSOliver-Rainer Wittmann * specific language governing permissions and limitations
180520cc2cSOliver-Rainer Wittmann * under the License.
190520cc2cSOliver-Rainer Wittmann *
200520cc2cSOliver-Rainer Wittmann *************************************************************/
21ff0525f2SOliver-Rainer Wittmann
22ff0525f2SOliver-Rainer Wittmann #include "precompiled_sw.hxx"
23ff0525f2SOliver-Rainer Wittmann
24ff0525f2SOliver-Rainer Wittmann #include "PagePropertyPanel.hxx"
25ff0525f2SOliver-Rainer Wittmann #include "PagePropertyPanel.hrc"
26ff0525f2SOliver-Rainer Wittmann
27ff0525f2SOliver-Rainer Wittmann #include "PropertyPanel.hrc"
28ff0525f2SOliver-Rainer Wittmann
29ff0525f2SOliver-Rainer Wittmann #include <svx/sidebar/PopupContainer.hxx>
30ff0525f2SOliver-Rainer Wittmann #include "PageOrientationControl.hxx"
31ff0525f2SOliver-Rainer Wittmann #include "PageMarginControl.hxx"
32ff0525f2SOliver-Rainer Wittmann #include "PageSizeControl.hxx"
33ff0525f2SOliver-Rainer Wittmann #include "PageColumnControl.hxx"
34ff0525f2SOliver-Rainer Wittmann
35ff0525f2SOliver-Rainer Wittmann #include <swtypes.hxx>
36ff0525f2SOliver-Rainer Wittmann #include <cmdid.h>
37ff0525f2SOliver-Rainer Wittmann #include <errhdl.hxx>
38ff0525f2SOliver-Rainer Wittmann
39ff0525f2SOliver-Rainer Wittmann #include <svl/intitem.hxx>
40ff0525f2SOliver-Rainer Wittmann #include <editeng/sizeitem.hxx>
41ff0525f2SOliver-Rainer Wittmann #include <editeng/paperinf.hxx>
42ff0525f2SOliver-Rainer Wittmann #include <svx/svxids.hrc>
43ff0525f2SOliver-Rainer Wittmann #include <svx/dlgutil.hxx>
44ff0525f2SOliver-Rainer Wittmann #include <svx/rulritem.hxx>
45ff0525f2SOliver-Rainer Wittmann
46ff0525f2SOliver-Rainer Wittmann #include <sfx2/sidebar/ControlFactory.hxx>
476a606da0SAndre Fischer #include <sfx2/sidebar/Layouter.hxx>
486a606da0SAndre Fischer #include <sfx2/sidebar/ResourceDefinitions.hrc>
49ff0525f2SOliver-Rainer Wittmann #include <sfx2/dispatch.hxx>
50ff0525f2SOliver-Rainer Wittmann #include <sfx2/bindings.hxx>
51ff0525f2SOliver-Rainer Wittmann #include <sfx2/viewsh.hxx>
52ff0525f2SOliver-Rainer Wittmann #include <sfx2/objsh.hxx>
53ff0525f2SOliver-Rainer Wittmann
54ff0525f2SOliver-Rainer Wittmann #include <boost/bind.hpp>
55ff0525f2SOliver-Rainer Wittmann
56550fbbbdSOliver-Rainer Wittmann #include <com/sun/star/frame/XController.hpp>
57550fbbbdSOliver-Rainer Wittmann #include <com/sun/star/frame/XModel.hpp>
58550fbbbdSOliver-Rainer Wittmann #include <com/sun/star/document/XUndoManagerSupplier.hpp>
59550fbbbdSOliver-Rainer Wittmann
606a606da0SAndre Fischer using namespace ::sfx2::sidebar;
616a606da0SAndre Fischer
62ff0525f2SOliver-Rainer Wittmann #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString)))
63ff0525f2SOliver-Rainer Wittmann
64ff0525f2SOliver-Rainer Wittmann #define SetFldVal(rField, lValue) (rField).SetValue((rField).Normalize(lValue), FUNIT_TWIP)
65ff0525f2SOliver-Rainer Wittmann
66550fbbbdSOliver-Rainer Wittmann namespace {
getUndoManager(const cssu::Reference<css::frame::XFrame> & rxFrame)67550fbbbdSOliver-Rainer Wittmann const cssu::Reference< css::document::XUndoManager > getUndoManager( const cssu::Reference< css::frame::XFrame >& rxFrame )
68550fbbbdSOliver-Rainer Wittmann {
69550fbbbdSOliver-Rainer Wittmann const cssu::Reference< css::frame::XController >& xController = rxFrame->getController();
70550fbbbdSOliver-Rainer Wittmann if ( xController.is() )
71550fbbbdSOliver-Rainer Wittmann {
72550fbbbdSOliver-Rainer Wittmann const cssu::Reference< css::frame::XModel >& xModel = xController->getModel();
73550fbbbdSOliver-Rainer Wittmann if ( xModel.is() )
74550fbbbdSOliver-Rainer Wittmann {
75900fdb6dSOliver-Rainer Wittmann const cssu::Reference< css::document::XUndoManagerSupplier > xSuppUndo( xModel, cssu::UNO_QUERY_THROW );
76550fbbbdSOliver-Rainer Wittmann if ( xSuppUndo.is() )
77550fbbbdSOliver-Rainer Wittmann {
78550fbbbdSOliver-Rainer Wittmann const cssu::Reference< css::document::XUndoManager > xUndoManager( xSuppUndo->getUndoManager(), cssu::UNO_QUERY_THROW );
79550fbbbdSOliver-Rainer Wittmann return xUndoManager;
80550fbbbdSOliver-Rainer Wittmann }
81550fbbbdSOliver-Rainer Wittmann }
82550fbbbdSOliver-Rainer Wittmann }
83550fbbbdSOliver-Rainer Wittmann
84550fbbbdSOliver-Rainer Wittmann return cssu::Reference< css::document::XUndoManager > ();
85550fbbbdSOliver-Rainer Wittmann }
86550fbbbdSOliver-Rainer Wittmann }
87550fbbbdSOliver-Rainer Wittmann
88ff0525f2SOliver-Rainer Wittmann
89ff0525f2SOliver-Rainer Wittmann namespace sw { namespace sidebar {
90ff0525f2SOliver-Rainer Wittmann
Create(Window * pParent,const::com::sun::star::uno::Reference<::com::sun::star::frame::XFrame> & rxFrame,SfxBindings * pBindings)91ff0525f2SOliver-Rainer Wittmann PagePropertyPanel* PagePropertyPanel::Create (
92ff0525f2SOliver-Rainer Wittmann Window* pParent,
93550fbbbdSOliver-Rainer Wittmann const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame>& rxFrame,
94ff0525f2SOliver-Rainer Wittmann SfxBindings* pBindings)
95ff0525f2SOliver-Rainer Wittmann {
96ff0525f2SOliver-Rainer Wittmann if (pParent == NULL)
97ff0525f2SOliver-Rainer Wittmann throw ::com::sun::star::lang::IllegalArgumentException(A2S("no parent Window given to PagePropertyPanel::Create"), NULL, 0);
98550fbbbdSOliver-Rainer Wittmann if ( ! rxFrame.is())
99550fbbbdSOliver-Rainer Wittmann throw ::com::sun::star::lang::IllegalArgumentException(A2S("no XFrame given to PagePropertyPanel::Create"), NULL, 1);
100ff0525f2SOliver-Rainer Wittmann if (pBindings == NULL)
101ff0525f2SOliver-Rainer Wittmann throw ::com::sun::star::lang::IllegalArgumentException(A2S("no SfxBindings given to PagePropertyPanel::Create"), NULL, 2);
102ff0525f2SOliver-Rainer Wittmann
103ff0525f2SOliver-Rainer Wittmann return new PagePropertyPanel(
104ff0525f2SOliver-Rainer Wittmann pParent,
105550fbbbdSOliver-Rainer Wittmann rxFrame,
106ff0525f2SOliver-Rainer Wittmann pBindings);
107ff0525f2SOliver-Rainer Wittmann }
108ff0525f2SOliver-Rainer Wittmann
PagePropertyPanel(Window * pParent,const::com::sun::star::uno::Reference<::com::sun::star::frame::XFrame> & rxFrame,SfxBindings * pBindings)109ff0525f2SOliver-Rainer Wittmann PagePropertyPanel::PagePropertyPanel(
110ff0525f2SOliver-Rainer Wittmann Window* pParent,
111550fbbbdSOliver-Rainer Wittmann const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame>& rxFrame,
112ff0525f2SOliver-Rainer Wittmann SfxBindings* pBindings)
113ff0525f2SOliver-Rainer Wittmann : Control(pParent, SW_RES(RID_PROPERTYPANEL_SWPAGE))
114ff0525f2SOliver-Rainer Wittmann , mpBindings(pBindings)
115ff0525f2SOliver-Rainer Wittmann // visible controls
116ff0525f2SOliver-Rainer Wittmann , maFtOrientation( this, SW_RES(FT_ORIENTATION) )
117ff0525f2SOliver-Rainer Wittmann , mpToolBoxOrientationBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
118ff0525f2SOliver-Rainer Wittmann , mpToolBoxOrientation( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxOrientationBackground.get(), SW_RES(TB_ORIENTATION)) )
119ff0525f2SOliver-Rainer Wittmann , maFtMargin( this, SW_RES(FT_MARGIN) )
120ff0525f2SOliver-Rainer Wittmann , mpToolBoxMarginBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
121ff0525f2SOliver-Rainer Wittmann , mpToolBoxMargin( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxMarginBackground.get(), SW_RES(TB_MARGIN)) )
122ff0525f2SOliver-Rainer Wittmann , maFtSize( this, SW_RES(FT_SIZE) )
123ff0525f2SOliver-Rainer Wittmann , mpToolBoxSizeBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
124ff0525f2SOliver-Rainer Wittmann , mpToolBoxSize( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxSizeBackground.get(), SW_RES(TB_SIZE)) )
125ff0525f2SOliver-Rainer Wittmann , maFtColumn( this, SW_RES(FT_COLUMN) )
126ff0525f2SOliver-Rainer Wittmann , mpToolBoxColumnBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
127ff0525f2SOliver-Rainer Wittmann , mpToolBoxColumn( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxColumnBackground.get(), SW_RES(TB_COLUMN)) )
128ff0525f2SOliver-Rainer Wittmann // image resources
129ff0525f2SOliver-Rainer Wittmann , maImgSize (NULL)
130ff0525f2SOliver-Rainer Wittmann , maImgSize_L (NULL)
131ff0525f2SOliver-Rainer Wittmann , mImgPortrait (SW_RES(IMG_PAGE_PORTRAIT))
132ff0525f2SOliver-Rainer Wittmann , mImgLandscape (SW_RES(IMG_PAGE_LANDSCAPE))
133ff0525f2SOliver-Rainer Wittmann , mImgNarrow (SW_RES(IMG_PAGE_NARROW))
134ff0525f2SOliver-Rainer Wittmann , mImgNormal (SW_RES(IMG_PAGE_NORMAL))
135ff0525f2SOliver-Rainer Wittmann , mImgWide (SW_RES(IMG_PAGE_WIDE))
136ff0525f2SOliver-Rainer Wittmann , mImgMirrored (SW_RES(IMG_PAGE_MIRRORED))
137ff0525f2SOliver-Rainer Wittmann , mImgMarginCustom (SW_RES(IMG_PAGE_MARGIN_CUSTOM))
138ff0525f2SOliver-Rainer Wittmann , mImgNarrow_L (SW_RES(IMG_PAGE_NARROW_L))
139ff0525f2SOliver-Rainer Wittmann , mImgNormal_L (SW_RES(IMG_PAGE_NORMAL_L))
140ff0525f2SOliver-Rainer Wittmann , mImgWide_L (SW_RES(IMG_PAGE_WIDE_L))
141ff0525f2SOliver-Rainer Wittmann , mImgMirrored_L (SW_RES(IMG_PAGE_MIRRORED_L))
142ff0525f2SOliver-Rainer Wittmann , mImgMarginCustom_L (SW_RES(IMG_PAGE_MARGIN_CUSTOM_L))
143ff0525f2SOliver-Rainer Wittmann , mImgA3 (SW_RES(IMG_PAGE_A3))
144ff0525f2SOliver-Rainer Wittmann , mImgA4 (SW_RES(IMG_PAGE_A4))
145ff0525f2SOliver-Rainer Wittmann , mImgA5 (SW_RES(IMG_PAGE_A5))
146ff0525f2SOliver-Rainer Wittmann , mImgB4 (SW_RES(IMG_PAGE_B4))
147ff0525f2SOliver-Rainer Wittmann , mImgB5 (SW_RES(IMG_PAGE_B5))
148ff0525f2SOliver-Rainer Wittmann , mImgC5 (SW_RES(IMG_PAGE_C5))
149ff0525f2SOliver-Rainer Wittmann , mImgLetter (SW_RES(IMG_PAGE_LETTER))
150ff0525f2SOliver-Rainer Wittmann , mImgLegal (SW_RES(IMG_PAGE_LEGAL))
151ff0525f2SOliver-Rainer Wittmann , mImgSizeNone (SW_RES(IMG_PAGE_SIZE_NONE))
152ff0525f2SOliver-Rainer Wittmann , mImgA3_L (SW_RES(IMG_PAGE_A3_L))
153ff0525f2SOliver-Rainer Wittmann , mImgA4_L (SW_RES(IMG_PAGE_A4_L))
154ff0525f2SOliver-Rainer Wittmann , mImgA5_L (SW_RES(IMG_PAGE_A5_L))
155ff0525f2SOliver-Rainer Wittmann , mImgB4_L (SW_RES(IMG_PAGE_B4_L))
156ff0525f2SOliver-Rainer Wittmann , mImgB5_L (SW_RES(IMG_PAGE_B5_L))
157ff0525f2SOliver-Rainer Wittmann , mImgC5_L (SW_RES(IMG_PAGE_C5_L))
158ff0525f2SOliver-Rainer Wittmann , mImgLetter_L (SW_RES(IMG_PAGE_LETTER_L))
159ff0525f2SOliver-Rainer Wittmann , mImgLegal_L (SW_RES(IMG_PAGE_LEGAL_L))
160ff0525f2SOliver-Rainer Wittmann , mImgSizeNone_L (SW_RES(IMG_PAGE_SIZE_NONE_L))
161ff0525f2SOliver-Rainer Wittmann , mImgColumn1 (SW_RES(IMG_PAGE_COLUMN_1))
162ff0525f2SOliver-Rainer Wittmann , mImgColumn2 (SW_RES(IMG_PAGE_COLUMN_2))
163ff0525f2SOliver-Rainer Wittmann , mImgColumn3 (SW_RES(IMG_PAGE_COLUMN_3))
164ff0525f2SOliver-Rainer Wittmann , mImgLeft (SW_RES(IMG_PAGE_COLUMN_LEFT))
165ff0525f2SOliver-Rainer Wittmann , mImgRight (SW_RES(IMG_PAGE_COLUMN_RIGHT))
166ff0525f2SOliver-Rainer Wittmann , mImgColumnNone (SW_RES(IMG_PAGE_COLUMN_NONE))
167ff0525f2SOliver-Rainer Wittmann , mImgColumn1_L (SW_RES(IMG_PAGE_COLUMN_1_L))
168ff0525f2SOliver-Rainer Wittmann , mImgColumn2_L (SW_RES(IMG_PAGE_COLUMN_2_L))
169ff0525f2SOliver-Rainer Wittmann , mImgColumn3_L (SW_RES(IMG_PAGE_COLUMN_3_L))
170ff0525f2SOliver-Rainer Wittmann , mImgLeft_L (SW_RES(IMG_PAGE_COLUMN_LEFT_L))
171ff0525f2SOliver-Rainer Wittmann , mImgRight_L (SW_RES(IMG_PAGE_COLUMN_RIGHT_L))
172ff0525f2SOliver-Rainer Wittmann , mImgColumnNone_L (SW_RES(IMG_PAGE_COLUMN_NONE_L))
173ff0525f2SOliver-Rainer Wittmann
174ff0525f2SOliver-Rainer Wittmann , mpPageItem( new SvxPageItem(SID_ATTR_PAGE) )
1758a2dd8f0SOliver-Rainer Wittmann , mpPageLRMarginItem( new SvxLongLRSpaceItem( 0, 0, SID_ATTR_PAGE_LRSPACE ) )
1768a2dd8f0SOliver-Rainer Wittmann , mpPageULMarginItem( new SvxLongULSpaceItem( 0, 0, SID_ATTR_PAGE_ULSPACE ) )
177ff0525f2SOliver-Rainer Wittmann , mpPageSizeItem( new SvxSizeItem(SID_ATTR_PAGE_SIZE) )
178ff0525f2SOliver-Rainer Wittmann , mePaper( PAPER_USER )
1798a2dd8f0SOliver-Rainer Wittmann , mpPageColumnTypeItem( new SfxInt16Item(SID_ATTR_PAGE_COLUMN) )
180ff0525f2SOliver-Rainer Wittmann
181ff0525f2SOliver-Rainer Wittmann , meFUnit()
182ff0525f2SOliver-Rainer Wittmann , meUnit()
183ff0525f2SOliver-Rainer Wittmann
1848a2dd8f0SOliver-Rainer Wittmann , m_aSwPagePgULControl(SID_ATTR_PAGE_ULSPACE, *pBindings, *this)
1858a2dd8f0SOliver-Rainer Wittmann , m_aSwPagePgLRControl(SID_ATTR_PAGE_LRSPACE, *pBindings, *this)
1868a2dd8f0SOliver-Rainer Wittmann , m_aSwPagePgSizeControl(SID_ATTR_PAGE_SIZE, *pBindings, *this)
1878a2dd8f0SOliver-Rainer Wittmann , m_aSwPagePgControl(SID_ATTR_PAGE, *pBindings, *this)
1888a2dd8f0SOliver-Rainer Wittmann , m_aSwPageColControl(SID_ATTR_PAGE_COLUMN, *pBindings, *this)
1898a2dd8f0SOliver-Rainer Wittmann , m_aSwPagePgMetricControl(SID_ATTR_METRIC, *pBindings, *this)
190ff0525f2SOliver-Rainer Wittmann
191550fbbbdSOliver-Rainer Wittmann , maOrientationPopup( this,
192550fbbbdSOliver-Rainer Wittmann ::boost::bind( &PagePropertyPanel::CreatePageOrientationControl, this, _1 ),
193550fbbbdSOliver-Rainer Wittmann A2S("Page orientation") )
194550fbbbdSOliver-Rainer Wittmann , maMarginPopup( this,
195550fbbbdSOliver-Rainer Wittmann ::boost::bind( &PagePropertyPanel::CreatePageMarginControl, this, _1 ),
196550fbbbdSOliver-Rainer Wittmann A2S("Page margins") )
197550fbbbdSOliver-Rainer Wittmann , maSizePopup( this,
198550fbbbdSOliver-Rainer Wittmann ::boost::bind( &PagePropertyPanel::CreatePageSizeControl, this, _1 ),
199550fbbbdSOliver-Rainer Wittmann A2S("Page size") )
200550fbbbdSOliver-Rainer Wittmann , maColumnPopup( this,
201550fbbbdSOliver-Rainer Wittmann ::boost::bind( &PagePropertyPanel::CreatePageColumnControl, this, _1 ),
202550fbbbdSOliver-Rainer Wittmann A2S("Page columns") )
2037dc3d34dSOliver-Rainer Wittmann
204550fbbbdSOliver-Rainer Wittmann , mxUndoManager( getUndoManager( rxFrame ) )
205f3fdaad6SPavel Janík
2066a606da0SAndre Fischer , mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify( false ),
2076a606da0SAndre Fischer maLayouter(*this)
208ff0525f2SOliver-Rainer Wittmann {
209ff0525f2SOliver-Rainer Wittmann Initialize();
2107dc3d34dSOliver-Rainer Wittmann mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify = true;
211ff0525f2SOliver-Rainer Wittmann FreeResource();
2126a606da0SAndre Fischer
2136a606da0SAndre Fischer // Setup the grid layouter.
2146a606da0SAndre Fischer maLayouter.GetCell(0,0).SetControl(maFtOrientation).SetGridWidth(2);
2156a606da0SAndre Fischer maLayouter.GetCell(1,0).SetControl(*mpToolBoxOrientationBackground).SetFixedWidth();
2166a606da0SAndre Fischer
2176a606da0SAndre Fischer maLayouter.GetCell(0,3).SetControl(maFtMargin).SetGridWidth(2);
2186a606da0SAndre Fischer maLayouter.GetCell(1,3).SetControl(*mpToolBoxMarginBackground).SetFixedWidth();
2196a606da0SAndre Fischer
2206a606da0SAndre Fischer maLayouter.GetCell(2,0).SetControl(maFtSize).SetGridWidth(2);
2216a606da0SAndre Fischer maLayouter.GetCell(3,0).SetControl(*mpToolBoxSizeBackground).SetFixedWidth();
2226a606da0SAndre Fischer
2236a606da0SAndre Fischer maLayouter.GetCell(2,3).SetControl(maFtColumn).SetGridWidth(2);
2246a606da0SAndre Fischer maLayouter.GetCell(3,3).SetControl(*mpToolBoxColumnBackground).SetFixedWidth();
2256a606da0SAndre Fischer
2266a606da0SAndre Fischer maLayouter.GetColumn(0)
2276a606da0SAndre Fischer .SetWeight(0)
2286a606da0SAndre Fischer .SetLeftPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL));
2296a606da0SAndre Fischer maLayouter.GetColumn(1)
2306a606da0SAndre Fischer .SetWeight(1)
2316a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this,MBOX_WIDTH/2));
2326a606da0SAndre Fischer maLayouter.GetColumn(2)
2336a606da0SAndre Fischer .SetWeight(0)
2346a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this, CONTROL_SPACING_HORIZONTAL));
2356a606da0SAndre Fischer maLayouter.GetColumn(3)
2366a606da0SAndre Fischer .SetWeight(0);
2376a606da0SAndre Fischer maLayouter.GetColumn(4)
2386a606da0SAndre Fischer .SetWeight(1)
2396a606da0SAndre Fischer .SetRightPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL))
2406a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this,MBOX_WIDTH/2));
2416a606da0SAndre Fischer
2426a606da0SAndre Fischer // Make controls that display text handle short widths more
2436a606da0SAndre Fischer // graceful.
2446a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtOrientation);
2456a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtMargin);
2466a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtSize);
2476a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtColumn);
248ff0525f2SOliver-Rainer Wittmann }
249ff0525f2SOliver-Rainer Wittmann
2506a606da0SAndre Fischer
2516a606da0SAndre Fischer
2526a606da0SAndre Fischer
~PagePropertyPanel()253ff0525f2SOliver-Rainer Wittmann PagePropertyPanel::~PagePropertyPanel()
254ff0525f2SOliver-Rainer Wittmann {
255ff0525f2SOliver-Rainer Wittmann delete[] maImgSize;
256ff0525f2SOliver-Rainer Wittmann delete[] maImgSize_L;
257ff0525f2SOliver-Rainer Wittmann
258ff0525f2SOliver-Rainer Wittmann // destroy the toolbox windows.
259ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation.reset();
260ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin.reset();
261ff0525f2SOliver-Rainer Wittmann mpToolBoxSize.reset();
262ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn.reset();
263ff0525f2SOliver-Rainer Wittmann
264ff0525f2SOliver-Rainer Wittmann // destroy the background windows of the toolboxes.
265ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientationBackground.reset();
266ff0525f2SOliver-Rainer Wittmann mpToolBoxMarginBackground.reset();
267ff0525f2SOliver-Rainer Wittmann mpToolBoxSizeBackground.reset();
268ff0525f2SOliver-Rainer Wittmann mpToolBoxColumnBackground.reset();
269ff0525f2SOliver-Rainer Wittmann }
270ff0525f2SOliver-Rainer Wittmann
Initialize()271ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::Initialize()
272ff0525f2SOliver-Rainer Wittmann {
27337fee4fdSAndre Fischer maFtOrientation.SetBackground(Wallpaper());
27437fee4fdSAndre Fischer maFtMargin.SetBackground(Wallpaper());
27537fee4fdSAndre Fischer maFtSize.SetBackground(Wallpaper());
27637fee4fdSAndre Fischer maFtColumn.SetBackground(Wallpaper());
27737fee4fdSAndre Fischer
278ff0525f2SOliver-Rainer Wittmann // popup for page orientation
279ff0525f2SOliver-Rainer Wittmann Link aLink = LINK( this, PagePropertyPanel, ClickOrientationHdl );
280ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetDropdownClickHdl( aLink );
281ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetSelectHdl( aLink );
282ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetItemImage( TBI_ORIENTATION, mImgPortrait);
283ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetItemBits( TBI_ORIENTATION, mpToolBoxOrientation->GetItemBits( TBI_ORIENTATION ) | TIB_DROPDOWNONLY );
284ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetQuickHelpText(TBI_ORIENTATION,String(SW_RES(STR_QHELP_TB_ORIENTATION)));
285ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetOutputSizePixel( mpToolBoxOrientation->CalcWindowSizePixel() );
286ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetBackground( Wallpaper() );
287ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetPaintTransparent( sal_True );
288ff0525f2SOliver-Rainer Wittmann
289ff0525f2SOliver-Rainer Wittmann // popup for page margins
290ff0525f2SOliver-Rainer Wittmann aLink = LINK( this, PagePropertyPanel, ClickMarginHdl );
291ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetDropdownClickHdl( aLink );
292ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetSelectHdl( aLink );
293ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage(TBI_MARGIN, mImgNormal);
294ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemBits( TBI_MARGIN, mpToolBoxMargin->GetItemBits( TBI_MARGIN ) | TIB_DROPDOWNONLY );
295ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetQuickHelpText(TBI_MARGIN,String(SW_RES(STR_QHELP_TB_MARGIN)));
296ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetOutputSizePixel( mpToolBoxMargin->CalcWindowSizePixel() );
297ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetBackground(Wallpaper());
298ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetPaintTransparent( sal_True );
299ff0525f2SOliver-Rainer Wittmann
300ff0525f2SOliver-Rainer Wittmann // popup for page size
301ff0525f2SOliver-Rainer Wittmann aLink = LINK( this, PagePropertyPanel, ClickSizeHdl );
302ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetDropdownClickHdl( aLink );
303ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetSelectHdl( aLink );
304ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetItemImage(TBI_SIZE, mImgLetter);
305ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetItemBits( TBI_SIZE, mpToolBoxSize->GetItemBits( TBI_SIZE ) | TIB_DROPDOWNONLY );
306ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetQuickHelpText(TBI_SIZE,String(SW_RES(STR_QHELP_TB_SIZE)));
307ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetOutputSizePixel( mpToolBoxSize->CalcWindowSizePixel() );
308ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetBackground(Wallpaper());
309ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetPaintTransparent( sal_True );
310ff0525f2SOliver-Rainer Wittmann maImgSize = new Image[8];
311ff0525f2SOliver-Rainer Wittmann maImgSize[0] = mImgA3;
312ff0525f2SOliver-Rainer Wittmann maImgSize[1] = mImgA4;
313ff0525f2SOliver-Rainer Wittmann maImgSize[2] = mImgA5;
314ff0525f2SOliver-Rainer Wittmann maImgSize[3] = mImgB4;
315ff0525f2SOliver-Rainer Wittmann maImgSize[4] = mImgB5;
316ff0525f2SOliver-Rainer Wittmann maImgSize[5] = mImgC5;
317ff0525f2SOliver-Rainer Wittmann maImgSize[6] = mImgLetter;
318ff0525f2SOliver-Rainer Wittmann maImgSize[7] = mImgLegal;
319ff0525f2SOliver-Rainer Wittmann maImgSize_L = new Image[8];
320ff0525f2SOliver-Rainer Wittmann maImgSize_L[0] = mImgA3_L;
321ff0525f2SOliver-Rainer Wittmann maImgSize_L[1] = mImgA4_L;
322ff0525f2SOliver-Rainer Wittmann maImgSize_L[2] = mImgA5_L;
323ff0525f2SOliver-Rainer Wittmann maImgSize_L[3] = mImgB4_L;
324ff0525f2SOliver-Rainer Wittmann maImgSize_L[4] = mImgB5_L;
325ff0525f2SOliver-Rainer Wittmann maImgSize_L[5] = mImgC5_L;
326ff0525f2SOliver-Rainer Wittmann maImgSize_L[6] = mImgLetter_L;
327ff0525f2SOliver-Rainer Wittmann maImgSize_L[7] = mImgLegal_L;
328ff0525f2SOliver-Rainer Wittmann
329ff0525f2SOliver-Rainer Wittmann // popup for page column property
330ff0525f2SOliver-Rainer Wittmann aLink = LINK( this, PagePropertyPanel, ClickColumnHdl );
331ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetDropdownClickHdl( aLink );
332ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetSelectHdl( aLink );
333ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1);
334ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemBits( TBI_COLUMN, mpToolBoxColumn->GetItemBits( TBI_COLUMN ) | TIB_DROPDOWNONLY );
335ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetQuickHelpText(TBI_COLUMN,String(SW_RES(STR_QHELP_TB_COLUMN)));
336ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetOutputSizePixel( mpToolBoxColumn->CalcWindowSizePixel() );
337ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetBackground(Wallpaper());
338ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetPaintTransparent( sal_True );
339ff0525f2SOliver-Rainer Wittmann
340ff0525f2SOliver-Rainer Wittmann meFUnit = GetModuleFieldUnit();
341ff0525f2SOliver-Rainer Wittmann meUnit = m_aSwPagePgSizeControl.GetCoreMetric();
342ff0525f2SOliver-Rainer Wittmann
343ff0525f2SOliver-Rainer Wittmann // 'pull' for page style's attribute values
3448a2dd8f0SOliver-Rainer Wittmann mpBindings->Update( SID_ATTR_PAGE_LRSPACE );
3458a2dd8f0SOliver-Rainer Wittmann mpBindings->Update( SID_ATTR_PAGE_ULSPACE );
346ff0525f2SOliver-Rainer Wittmann mpBindings->Update( SID_ATTR_PAGE );
347ff0525f2SOliver-Rainer Wittmann mpBindings->Update( SID_ATTR_PAGE_SIZE );
348ff0525f2SOliver-Rainer Wittmann }
349ff0525f2SOliver-Rainer Wittmann
350ff0525f2SOliver-Rainer Wittmann
CreatePageOrientationControl(::svx::sidebar::PopupContainer * pParent)351ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageOrientationControl( ::svx::sidebar::PopupContainer* pParent )
352ff0525f2SOliver-Rainer Wittmann {
353ff0525f2SOliver-Rainer Wittmann return new PageOrientationControl( pParent, *this , mpPageItem->IsLandscape() );
354ff0525f2SOliver-Rainer Wittmann }
355ff0525f2SOliver-Rainer Wittmann
356ff0525f2SOliver-Rainer Wittmann
IMPL_LINK(PagePropertyPanel,ClickOrientationHdl,ToolBox *,pToolBox)357ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickOrientationHdl, ToolBox*, pToolBox )
358ff0525f2SOliver-Rainer Wittmann {
359550fbbbdSOliver-Rainer Wittmann maOrientationPopup.Show( *pToolBox );
360550fbbbdSOliver-Rainer Wittmann
361ff0525f2SOliver-Rainer Wittmann return 0L;
362ff0525f2SOliver-Rainer Wittmann }
363ff0525f2SOliver-Rainer Wittmann
364ff0525f2SOliver-Rainer Wittmann
ExecuteOrientationChange(const sal_Bool bLandscape)365ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteOrientationChange( const sal_Bool bLandscape )
366ff0525f2SOliver-Rainer Wittmann {
367550fbbbdSOliver-Rainer Wittmann StartUndo();
368550fbbbdSOliver-Rainer Wittmann
369ff0525f2SOliver-Rainer Wittmann {
370ff0525f2SOliver-Rainer Wittmann // set new page orientation
371ff0525f2SOliver-Rainer Wittmann mpPageItem->SetLandscape( bLandscape );
372ff0525f2SOliver-Rainer Wittmann
373ff0525f2SOliver-Rainer Wittmann // swap the width and height of the page size
374ff0525f2SOliver-Rainer Wittmann mpPageSizeItem->SetSize( Size( mpPageSizeItem->GetSize().Height(), mpPageSizeItem->GetSize().Width() ) );
375ff0525f2SOliver-Rainer Wittmann
376ff0525f2SOliver-Rainer Wittmann // apply changed attributes
377ff0525f2SOliver-Rainer Wittmann GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE_SIZE, SFX_CALLMODE_RECORD, mpPageSizeItem.get(), mpPageItem.get(), 0L );
378ff0525f2SOliver-Rainer Wittmann }
379ff0525f2SOliver-Rainer Wittmann
380ff0525f2SOliver-Rainer Wittmann // check, if margin values still fit to the changed page size.
381ff0525f2SOliver-Rainer Wittmann // if not, adjust margin values
382ff0525f2SOliver-Rainer Wittmann {
383ff0525f2SOliver-Rainer Wittmann const long nML = mpPageLRMarginItem->GetLeft();
384ff0525f2SOliver-Rainer Wittmann const long nMR = mpPageLRMarginItem->GetRight();
385ff0525f2SOliver-Rainer Wittmann const long nTmpPW = nML + nMR + MINBODY;
386ff0525f2SOliver-Rainer Wittmann
387ff0525f2SOliver-Rainer Wittmann const long nPW = mpPageSizeItem->GetSize().Width();
388ff0525f2SOliver-Rainer Wittmann
389ff0525f2SOliver-Rainer Wittmann if ( nTmpPW > nPW )
390ff0525f2SOliver-Rainer Wittmann {
391ff0525f2SOliver-Rainer Wittmann if ( nML <= nMR )
392ff0525f2SOliver-Rainer Wittmann {
393ff0525f2SOliver-Rainer Wittmann ExecuteMarginLRChange( mpPageLRMarginItem->GetLeft(), nMR - (nTmpPW - nPW ) );
394ff0525f2SOliver-Rainer Wittmann }
395ff0525f2SOliver-Rainer Wittmann else
396ff0525f2SOliver-Rainer Wittmann {
397ff0525f2SOliver-Rainer Wittmann ExecuteMarginLRChange( nML - (nTmpPW - nPW ), mpPageLRMarginItem->GetRight() );
398ff0525f2SOliver-Rainer Wittmann }
399ff0525f2SOliver-Rainer Wittmann }
400ff0525f2SOliver-Rainer Wittmann
401ff0525f2SOliver-Rainer Wittmann const long nMT = mpPageULMarginItem->GetUpper();
402ff0525f2SOliver-Rainer Wittmann const long nMB = mpPageULMarginItem->GetLower();
403ff0525f2SOliver-Rainer Wittmann const long nTmpPH = nMT + nMB + MINBODY;
404ff0525f2SOliver-Rainer Wittmann
405ff0525f2SOliver-Rainer Wittmann const long nPH = mpPageSizeItem->GetSize().Height();
406ff0525f2SOliver-Rainer Wittmann
407ff0525f2SOliver-Rainer Wittmann if ( nTmpPH > nPH )
408ff0525f2SOliver-Rainer Wittmann {
409ff0525f2SOliver-Rainer Wittmann if ( nMT <= nMB )
410ff0525f2SOliver-Rainer Wittmann {
411ff0525f2SOliver-Rainer Wittmann ExecuteMarginULChange( mpPageULMarginItem->GetUpper(), nMB - ( nTmpPH - nPH ) );
412ff0525f2SOliver-Rainer Wittmann }
413ff0525f2SOliver-Rainer Wittmann else
414ff0525f2SOliver-Rainer Wittmann {
415ff0525f2SOliver-Rainer Wittmann ExecuteMarginULChange( nMT - ( nTmpPH - nPH ), mpPageULMarginItem->GetLower() );
416ff0525f2SOliver-Rainer Wittmann }
417ff0525f2SOliver-Rainer Wittmann }
418ff0525f2SOliver-Rainer Wittmann }
419550fbbbdSOliver-Rainer Wittmann
420550fbbbdSOliver-Rainer Wittmann EndUndo();
421ff0525f2SOliver-Rainer Wittmann }
422ff0525f2SOliver-Rainer Wittmann
423ff0525f2SOliver-Rainer Wittmann
ClosePageOrientationPopup()424ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageOrientationPopup()
425ff0525f2SOliver-Rainer Wittmann {
426550fbbbdSOliver-Rainer Wittmann maOrientationPopup.Hide();
427ff0525f2SOliver-Rainer Wittmann }
428ff0525f2SOliver-Rainer Wittmann
429ff0525f2SOliver-Rainer Wittmann
430ff0525f2SOliver-Rainer Wittmann
431ff0525f2SOliver-Rainer Wittmann
CreatePageMarginControl(::svx::sidebar::PopupContainer * pParent)432ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageMarginControl( ::svx::sidebar::PopupContainer* pParent )
433ff0525f2SOliver-Rainer Wittmann {
434ff0525f2SOliver-Rainer Wittmann return new PageMarginControl(
435ff0525f2SOliver-Rainer Wittmann pParent,
436ff0525f2SOliver-Rainer Wittmann *this,
437ff0525f2SOliver-Rainer Wittmann *mpPageLRMarginItem.get(),
438ff0525f2SOliver-Rainer Wittmann *mpPageULMarginItem.get(),
439ff0525f2SOliver-Rainer Wittmann mpPageItem->GetPageUsage() == SVX_PAGE_MIRROR,
440ff0525f2SOliver-Rainer Wittmann mpPageSizeItem->GetSize(),
441ff0525f2SOliver-Rainer Wittmann mpPageItem->IsLandscape(),
442ff0525f2SOliver-Rainer Wittmann meFUnit,
443ff0525f2SOliver-Rainer Wittmann meUnit );
444ff0525f2SOliver-Rainer Wittmann }
445ff0525f2SOliver-Rainer Wittmann
446ff0525f2SOliver-Rainer Wittmann
ExecuteMarginLRChange(const long nPageLeftMargin,const long nPageRightMargin)447ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteMarginLRChange(
448ff0525f2SOliver-Rainer Wittmann const long nPageLeftMargin,
449ff0525f2SOliver-Rainer Wittmann const long nPageRightMargin )
450ff0525f2SOliver-Rainer Wittmann {
451ff0525f2SOliver-Rainer Wittmann mpPageLRMarginItem->SetLeft( nPageLeftMargin );
452ff0525f2SOliver-Rainer Wittmann mpPageLRMarginItem->SetRight( nPageRightMargin );
4538a2dd8f0SOliver-Rainer Wittmann GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE_LRSPACE, SFX_CALLMODE_RECORD, mpPageLRMarginItem.get(), 0L );
454ff0525f2SOliver-Rainer Wittmann }
455ff0525f2SOliver-Rainer Wittmann
ExecuteMarginULChange(const long nPageTopMargin,const long nPageBottomMargin)456ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteMarginULChange(
457ff0525f2SOliver-Rainer Wittmann const long nPageTopMargin,
458ff0525f2SOliver-Rainer Wittmann const long nPageBottomMargin )
459ff0525f2SOliver-Rainer Wittmann {
460ff0525f2SOliver-Rainer Wittmann mpPageULMarginItem->SetUpper( nPageTopMargin );
461ff0525f2SOliver-Rainer Wittmann mpPageULMarginItem->SetLower( nPageBottomMargin );
4628a2dd8f0SOliver-Rainer Wittmann GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE_ULSPACE, SFX_CALLMODE_RECORD, mpPageULMarginItem.get(), 0L );
463ff0525f2SOliver-Rainer Wittmann }
464ff0525f2SOliver-Rainer Wittmann
465ff0525f2SOliver-Rainer Wittmann
ExecutePageLayoutChange(const bool bMirrored)466ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecutePageLayoutChange( const bool bMirrored )
467ff0525f2SOliver-Rainer Wittmann {
468ff0525f2SOliver-Rainer Wittmann mpPageItem->SetPageUsage( bMirrored ? SVX_PAGE_MIRROR : SVX_PAGE_ALL );
469ff0525f2SOliver-Rainer Wittmann GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE, SFX_CALLMODE_RECORD, mpPageItem.get(), 0L );
470ff0525f2SOliver-Rainer Wittmann }
471ff0525f2SOliver-Rainer Wittmann
472ff0525f2SOliver-Rainer Wittmann
IMPL_LINK(PagePropertyPanel,ClickMarginHdl,ToolBox *,pToolBox)473ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickMarginHdl, ToolBox*, pToolBox )
474ff0525f2SOliver-Rainer Wittmann {
475550fbbbdSOliver-Rainer Wittmann maMarginPopup.Show( *pToolBox );
476ff0525f2SOliver-Rainer Wittmann
477ff0525f2SOliver-Rainer Wittmann return 0L;
478ff0525f2SOliver-Rainer Wittmann }
479ff0525f2SOliver-Rainer Wittmann
480ff0525f2SOliver-Rainer Wittmann
ClosePageMarginPopup()481ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageMarginPopup()
482ff0525f2SOliver-Rainer Wittmann {
483550fbbbdSOliver-Rainer Wittmann maMarginPopup.Hide();
484ff0525f2SOliver-Rainer Wittmann }
485ff0525f2SOliver-Rainer Wittmann
486ff0525f2SOliver-Rainer Wittmann
487ff0525f2SOliver-Rainer Wittmann
488ff0525f2SOliver-Rainer Wittmann
CreatePageSizeControl(::svx::sidebar::PopupContainer * pParent)489ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageSizeControl( ::svx::sidebar::PopupContainer* pParent )
490ff0525f2SOliver-Rainer Wittmann {
491ff0525f2SOliver-Rainer Wittmann return new PageSizeControl(
492ff0525f2SOliver-Rainer Wittmann pParent,
493ff0525f2SOliver-Rainer Wittmann *this,
494ff0525f2SOliver-Rainer Wittmann mePaper,
495ff0525f2SOliver-Rainer Wittmann mpPageItem->IsLandscape(),
496ff0525f2SOliver-Rainer Wittmann meFUnit );
497ff0525f2SOliver-Rainer Wittmann }
498ff0525f2SOliver-Rainer Wittmann
499ff0525f2SOliver-Rainer Wittmann
ExecuteSizeChange(const Paper ePaper)500ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteSizeChange( const Paper ePaper )
501ff0525f2SOliver-Rainer Wittmann {
502ff0525f2SOliver-Rainer Wittmann Size aPageSize = SvxPaperInfo::GetPaperSize( ePaper, (MapUnit)(meUnit) );
503ff0525f2SOliver-Rainer Wittmann if ( mpPageItem->IsLandscape() )
504ff0525f2SOliver-Rainer Wittmann {
505ff0525f2SOliver-Rainer Wittmann Swap( aPageSize );
506ff0525f2SOliver-Rainer Wittmann }
507ff0525f2SOliver-Rainer Wittmann mpPageSizeItem->SetSize( aPageSize );
508ff0525f2SOliver-Rainer Wittmann
509ff0525f2SOliver-Rainer Wittmann mpBindings->GetDispatcher()->Execute(SID_ATTR_PAGE_SIZE, SFX_CALLMODE_RECORD, mpPageSizeItem.get(), 0L );
510ff0525f2SOliver-Rainer Wittmann }
511ff0525f2SOliver-Rainer Wittmann
512ff0525f2SOliver-Rainer Wittmann
IMPL_LINK(PagePropertyPanel,ClickSizeHdl,ToolBox *,pToolBox)513ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickSizeHdl, ToolBox*, pToolBox )
514ff0525f2SOliver-Rainer Wittmann {
515550fbbbdSOliver-Rainer Wittmann maSizePopup.Show( *pToolBox );
516ff0525f2SOliver-Rainer Wittmann
517ff0525f2SOliver-Rainer Wittmann return 0L;
518ff0525f2SOliver-Rainer Wittmann }
519ff0525f2SOliver-Rainer Wittmann
520ff0525f2SOliver-Rainer Wittmann
ClosePageSizePopup()521ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageSizePopup()
522ff0525f2SOliver-Rainer Wittmann {
523550fbbbdSOliver-Rainer Wittmann maSizePopup.Hide();
524ff0525f2SOliver-Rainer Wittmann }
525ff0525f2SOliver-Rainer Wittmann
526ff0525f2SOliver-Rainer Wittmann
527ff0525f2SOliver-Rainer Wittmann
528ff0525f2SOliver-Rainer Wittmann
CreatePageColumnControl(::svx::sidebar::PopupContainer * pParent)529ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageColumnControl( ::svx::sidebar::PopupContainer* pParent )
530ff0525f2SOliver-Rainer Wittmann {
531ff0525f2SOliver-Rainer Wittmann return new PageColumnControl(
532ff0525f2SOliver-Rainer Wittmann pParent,
533ff0525f2SOliver-Rainer Wittmann *this,
534ff0525f2SOliver-Rainer Wittmann mpPageColumnTypeItem->GetValue(),
535ff0525f2SOliver-Rainer Wittmann mpPageItem->IsLandscape() );
536ff0525f2SOliver-Rainer Wittmann }
537ff0525f2SOliver-Rainer Wittmann
538ff0525f2SOliver-Rainer Wittmann
ExecuteColumnChange(const sal_uInt16 nColumnType)539ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteColumnChange( const sal_uInt16 nColumnType )
540ff0525f2SOliver-Rainer Wittmann {
541ff0525f2SOliver-Rainer Wittmann mpPageColumnTypeItem->SetValue( nColumnType );
5428a2dd8f0SOliver-Rainer Wittmann mpBindings->GetDispatcher()->Execute(SID_ATTR_PAGE_COLUMN, SFX_CALLMODE_RECORD, mpPageColumnTypeItem.get(), 0L );
543ff0525f2SOliver-Rainer Wittmann }
544ff0525f2SOliver-Rainer Wittmann
545ff0525f2SOliver-Rainer Wittmann
IMPL_LINK(PagePropertyPanel,ClickColumnHdl,ToolBox *,pToolBox)546ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickColumnHdl, ToolBox*, pToolBox )
547ff0525f2SOliver-Rainer Wittmann {
548550fbbbdSOliver-Rainer Wittmann maColumnPopup.Show( *pToolBox );
549ff0525f2SOliver-Rainer Wittmann
550ff0525f2SOliver-Rainer Wittmann return 0L;
551ff0525f2SOliver-Rainer Wittmann }
552ff0525f2SOliver-Rainer Wittmann
553ff0525f2SOliver-Rainer Wittmann
ClosePageColumnPopup()554ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageColumnPopup()
555ff0525f2SOliver-Rainer Wittmann {
556550fbbbdSOliver-Rainer Wittmann maColumnPopup.Hide();
557ff0525f2SOliver-Rainer Wittmann }
558ff0525f2SOliver-Rainer Wittmann
559ff0525f2SOliver-Rainer Wittmann
560ff0525f2SOliver-Rainer Wittmann
561ff0525f2SOliver-Rainer Wittmann
NotifyItemUpdate(const sal_uInt16 nSId,const SfxItemState eState,const SfxPoolItem * pState,const bool bIsEnabled)562ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::NotifyItemUpdate(
563ff0525f2SOliver-Rainer Wittmann const sal_uInt16 nSId,
564ff0525f2SOliver-Rainer Wittmann const SfxItemState eState,
56545da7d5eSAndre Fischer const SfxPoolItem* pState,
56645da7d5eSAndre Fischer const bool bIsEnabled)
567ff0525f2SOliver-Rainer Wittmann {
56845da7d5eSAndre Fischer (void)bIsEnabled;
56945da7d5eSAndre Fischer
570ff0525f2SOliver-Rainer Wittmann switch( nSId )
571ff0525f2SOliver-Rainer Wittmann {
5728a2dd8f0SOliver-Rainer Wittmann case SID_ATTR_PAGE_COLUMN:
573ff0525f2SOliver-Rainer Wittmann {
574ff0525f2SOliver-Rainer Wittmann if ( eState >= SFX_ITEM_AVAILABLE &&
575ff0525f2SOliver-Rainer Wittmann pState && pState->ISA(SfxInt16Item) )
576ff0525f2SOliver-Rainer Wittmann {
577ff0525f2SOliver-Rainer Wittmann mpPageColumnTypeItem.reset( static_cast<SfxInt16Item*>(pState->Clone()) );
578ff0525f2SOliver-Rainer Wittmann ChangeColumnImage( mpPageColumnTypeItem->GetValue() );
579ff0525f2SOliver-Rainer Wittmann }
580ff0525f2SOliver-Rainer Wittmann }
581ff0525f2SOliver-Rainer Wittmann break;
5828a2dd8f0SOliver-Rainer Wittmann case SID_ATTR_PAGE_LRSPACE:
583ff0525f2SOliver-Rainer Wittmann if ( eState >= SFX_ITEM_AVAILABLE &&
584ff0525f2SOliver-Rainer Wittmann pState && pState->ISA(SvxLongLRSpaceItem) )
585ff0525f2SOliver-Rainer Wittmann {
586ff0525f2SOliver-Rainer Wittmann mpPageLRMarginItem.reset( static_cast<SvxLongLRSpaceItem*>(pState->Clone()) );
587ff0525f2SOliver-Rainer Wittmann ChangeMarginImage();
588ff0525f2SOliver-Rainer Wittmann }
589ff0525f2SOliver-Rainer Wittmann break;
590ff0525f2SOliver-Rainer Wittmann
5918a2dd8f0SOliver-Rainer Wittmann case SID_ATTR_PAGE_ULSPACE:
592ff0525f2SOliver-Rainer Wittmann if ( eState >= SFX_ITEM_AVAILABLE &&
593ff0525f2SOliver-Rainer Wittmann pState && pState->ISA(SvxLongULSpaceItem) )
594ff0525f2SOliver-Rainer Wittmann {
595ff0525f2SOliver-Rainer Wittmann mpPageULMarginItem.reset( static_cast<SvxLongULSpaceItem*>(pState->Clone()) );
596ff0525f2SOliver-Rainer Wittmann ChangeMarginImage();
597ff0525f2SOliver-Rainer Wittmann }
598ff0525f2SOliver-Rainer Wittmann break;
599ff0525f2SOliver-Rainer Wittmann
600ff0525f2SOliver-Rainer Wittmann case SID_ATTR_PAGE:
601ff0525f2SOliver-Rainer Wittmann if ( eState >= SFX_ITEM_AVAILABLE &&
602ff0525f2SOliver-Rainer Wittmann pState && pState->ISA(SvxPageItem) )
603ff0525f2SOliver-Rainer Wittmann {
604ff0525f2SOliver-Rainer Wittmann mpPageItem.reset( static_cast<SvxPageItem*>(pState->Clone()) );
605ff0525f2SOliver-Rainer Wittmann if ( mpPageItem->IsLandscape() )
606ff0525f2SOliver-Rainer Wittmann {
607ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetItemImage(TBI_ORIENTATION, mImgLandscape);
608ff0525f2SOliver-Rainer Wittmann }
609ff0525f2SOliver-Rainer Wittmann else
610ff0525f2SOliver-Rainer Wittmann {
611ff0525f2SOliver-Rainer Wittmann mpToolBoxOrientation->SetItemImage(TBI_ORIENTATION, mImgPortrait);
612ff0525f2SOliver-Rainer Wittmann }
613ff0525f2SOliver-Rainer Wittmann ChangeMarginImage();
614ff0525f2SOliver-Rainer Wittmann ChangeSizeImage();
615ff0525f2SOliver-Rainer Wittmann ChangeColumnImage( mpPageColumnTypeItem->GetValue() );
616ff0525f2SOliver-Rainer Wittmann }
617ff0525f2SOliver-Rainer Wittmann break;
618ff0525f2SOliver-Rainer Wittmann
619ff0525f2SOliver-Rainer Wittmann case SID_ATTR_PAGE_SIZE:
6207dc3d34dSOliver-Rainer Wittmann if ( mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify )
6217dc3d34dSOliver-Rainer Wittmann {
6227dc3d34dSOliver-Rainer Wittmann mpBindings->Invalidate( SID_ATTR_PAGE, sal_True, sal_False );
6237dc3d34dSOliver-Rainer Wittmann }
624ff0525f2SOliver-Rainer Wittmann if ( eState >= SFX_ITEM_AVAILABLE &&
625ff0525f2SOliver-Rainer Wittmann pState && pState->ISA(SvxSizeItem) )
626ff0525f2SOliver-Rainer Wittmann {
627ff0525f2SOliver-Rainer Wittmann mpPageSizeItem.reset( static_cast<SvxSizeItem*>(pState->Clone()) );
628ff0525f2SOliver-Rainer Wittmann ChangeSizeImage();
629ff0525f2SOliver-Rainer Wittmann }
630ff0525f2SOliver-Rainer Wittmann break;
631ff0525f2SOliver-Rainer Wittmann case SID_ATTR_METRIC:
632ff0525f2SOliver-Rainer Wittmann MetricState( eState, pState );
633ff0525f2SOliver-Rainer Wittmann break;
634ff0525f2SOliver-Rainer Wittmann }
635ff0525f2SOliver-Rainer Wittmann }
636ff0525f2SOliver-Rainer Wittmann
637ff0525f2SOliver-Rainer Wittmann
MetricState(SfxItemState eState,const SfxPoolItem * pState)638ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::MetricState( SfxItemState eState, const SfxPoolItem* pState )
639ff0525f2SOliver-Rainer Wittmann {
640ff0525f2SOliver-Rainer Wittmann meFUnit = FUNIT_NONE;
641ff0525f2SOliver-Rainer Wittmann if ( pState && eState >= SFX_ITEM_DEFAULT )
642ff0525f2SOliver-Rainer Wittmann {
643ff0525f2SOliver-Rainer Wittmann meFUnit = (FieldUnit)( (const SfxUInt16Item*)pState )->GetValue();
644ff0525f2SOliver-Rainer Wittmann }
645ff0525f2SOliver-Rainer Wittmann else
646ff0525f2SOliver-Rainer Wittmann {
647ff0525f2SOliver-Rainer Wittmann SfxViewFrame* pFrame = SfxViewFrame::Current();
648ff0525f2SOliver-Rainer Wittmann SfxObjectShell* pSh = NULL;
649ff0525f2SOliver-Rainer Wittmann if ( pFrame )
650ff0525f2SOliver-Rainer Wittmann pSh = pFrame->GetObjectShell();
651ff0525f2SOliver-Rainer Wittmann if ( pSh )
652ff0525f2SOliver-Rainer Wittmann {
653ff0525f2SOliver-Rainer Wittmann SfxModule* pModule = pSh->GetModule();
654ff0525f2SOliver-Rainer Wittmann if ( pModule )
655ff0525f2SOliver-Rainer Wittmann {
656ff0525f2SOliver-Rainer Wittmann const SfxPoolItem* pItem = pModule->GetItem( SID_ATTR_METRIC );
657ff0525f2SOliver-Rainer Wittmann if ( pItem )
658ff0525f2SOliver-Rainer Wittmann meFUnit = (FieldUnit)( (SfxUInt16Item*)pItem )->GetValue();
659ff0525f2SOliver-Rainer Wittmann }
660ff0525f2SOliver-Rainer Wittmann else
661ff0525f2SOliver-Rainer Wittmann {
662ff0525f2SOliver-Rainer Wittmann DBG_ERRORFILE( "<PagePropertyPanel::MetricState(..)>: no module found" );
663ff0525f2SOliver-Rainer Wittmann }
664ff0525f2SOliver-Rainer Wittmann }
665ff0525f2SOliver-Rainer Wittmann }
666ff0525f2SOliver-Rainer Wittmann }
667ff0525f2SOliver-Rainer Wittmann
668ff0525f2SOliver-Rainer Wittmann
669ff0525f2SOliver-Rainer Wittmann
670ff0525f2SOliver-Rainer Wittmann
ChangeMarginImage()671ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeMarginImage()
672ff0525f2SOliver-Rainer Wittmann {
673ff0525f2SOliver-Rainer Wittmann if ( mpPageLRMarginItem.get() == 0 ||
674ff0525f2SOliver-Rainer Wittmann mpPageULMarginItem.get() == 0 ||
675ff0525f2SOliver-Rainer Wittmann mpPageItem.get() == 0 )
676ff0525f2SOliver-Rainer Wittmann {
677ff0525f2SOliver-Rainer Wittmann return;
678ff0525f2SOliver-Rainer Wittmann }
679ff0525f2SOliver-Rainer Wittmann
680ff0525f2SOliver-Rainer Wittmann const long cTolerance = 5;
681ff0525f2SOliver-Rainer Wittmann
682ff0525f2SOliver-Rainer Wittmann if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_NARROW_VALUE) <= cTolerance &&
683ff0525f2SOliver-Rainer Wittmann abs(mpPageLRMarginItem->GetRight() - SWPAGE_NARROW_VALUE) <= cTolerance &&
684ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetUpper() - SWPAGE_NARROW_VALUE) <= cTolerance &&
685ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetLower() - SWPAGE_NARROW_VALUE) <= cTolerance &&
686ff0525f2SOliver-Rainer Wittmann mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
687ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage( TBI_MARGIN, mpPageItem->IsLandscape() ? mImgNarrow_L : mImgNarrow );
688ff0525f2SOliver-Rainer Wittmann
689ff0525f2SOliver-Rainer Wittmann else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
690ff0525f2SOliver-Rainer Wittmann abs(mpPageLRMarginItem->GetRight() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
691ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetUpper() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
692ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetLower() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
693ff0525f2SOliver-Rainer Wittmann mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
694ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgNormal_L : mImgNormal );
695ff0525f2SOliver-Rainer Wittmann
696ff0525f2SOliver-Rainer Wittmann else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_WIDE_VALUE2) <= cTolerance &&
697ff0525f2SOliver-Rainer Wittmann abs(mpPageLRMarginItem->GetRight() - SWPAGE_WIDE_VALUE2) <= cTolerance &&
698ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetUpper() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
699ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetLower() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
700ff0525f2SOliver-Rainer Wittmann mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
701ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgWide_L : mImgWide );
702ff0525f2SOliver-Rainer Wittmann
703ff0525f2SOliver-Rainer Wittmann else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_WIDE_VALUE3) <= cTolerance &&
704ff0525f2SOliver-Rainer Wittmann abs(mpPageLRMarginItem->GetRight() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
705ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetUpper() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
706ff0525f2SOliver-Rainer Wittmann abs(mpPageULMarginItem->GetLower() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
707ff0525f2SOliver-Rainer Wittmann mpPageItem->GetPageUsage() == SVX_PAGE_MIRROR )
708ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgMirrored_L : mImgMirrored );
709ff0525f2SOliver-Rainer Wittmann
710ff0525f2SOliver-Rainer Wittmann else
711ff0525f2SOliver-Rainer Wittmann mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgMarginCustom_L : mImgMarginCustom );
712ff0525f2SOliver-Rainer Wittmann }
713ff0525f2SOliver-Rainer Wittmann
714ff0525f2SOliver-Rainer Wittmann
ChangeSizeImage()715ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeSizeImage()
716ff0525f2SOliver-Rainer Wittmann {
717ff0525f2SOliver-Rainer Wittmann if ( mpPageSizeItem.get() == 0 ||
718ff0525f2SOliver-Rainer Wittmann mpPageItem.get() == 0 )
719ff0525f2SOliver-Rainer Wittmann {
720ff0525f2SOliver-Rainer Wittmann return;
721ff0525f2SOliver-Rainer Wittmann }
722ff0525f2SOliver-Rainer Wittmann
723ff0525f2SOliver-Rainer Wittmann Size aTmpPaperSize = mpPageSizeItem->GetSize();
724ff0525f2SOliver-Rainer Wittmann if ( mpPageItem->IsLandscape() )
725ff0525f2SOliver-Rainer Wittmann {
726ff0525f2SOliver-Rainer Wittmann Swap( aTmpPaperSize ); // Swap(..) defined in editeng/paperinf.hxx
727ff0525f2SOliver-Rainer Wittmann }
728ff0525f2SOliver-Rainer Wittmann
729ff0525f2SOliver-Rainer Wittmann mePaper = SvxPaperInfo::GetSvxPaper( aTmpPaperSize, static_cast<MapUnit>(meUnit), sal_True );
730ff0525f2SOliver-Rainer Wittmann
731ff0525f2SOliver-Rainer Wittmann sal_uInt16 nImageIdx = 0;
732ff0525f2SOliver-Rainer Wittmann switch ( mePaper )
733ff0525f2SOliver-Rainer Wittmann {
734ff0525f2SOliver-Rainer Wittmann case PAPER_A3:
735ff0525f2SOliver-Rainer Wittmann nImageIdx = 1;
736ff0525f2SOliver-Rainer Wittmann break;
737ff0525f2SOliver-Rainer Wittmann case PAPER_A4:
738ff0525f2SOliver-Rainer Wittmann nImageIdx = 2;
739ff0525f2SOliver-Rainer Wittmann break;
740ff0525f2SOliver-Rainer Wittmann case PAPER_A5:
741ff0525f2SOliver-Rainer Wittmann nImageIdx = 3;
742ff0525f2SOliver-Rainer Wittmann break;
743ff0525f2SOliver-Rainer Wittmann case PAPER_B4_ISO:
744ff0525f2SOliver-Rainer Wittmann nImageIdx = 4;
745ff0525f2SOliver-Rainer Wittmann break;
746ff0525f2SOliver-Rainer Wittmann case PAPER_B5_ISO:
747ff0525f2SOliver-Rainer Wittmann nImageIdx = 5;
748ff0525f2SOliver-Rainer Wittmann break;
749ff0525f2SOliver-Rainer Wittmann case PAPER_ENV_C5:
750ff0525f2SOliver-Rainer Wittmann nImageIdx = 6;
751ff0525f2SOliver-Rainer Wittmann break;
752ff0525f2SOliver-Rainer Wittmann case PAPER_LETTER:
753ff0525f2SOliver-Rainer Wittmann nImageIdx = 7;
754ff0525f2SOliver-Rainer Wittmann break;
755ff0525f2SOliver-Rainer Wittmann case PAPER_LEGAL:
756ff0525f2SOliver-Rainer Wittmann nImageIdx = 8;
757ff0525f2SOliver-Rainer Wittmann break;
758ff0525f2SOliver-Rainer Wittmann default:
759ff0525f2SOliver-Rainer Wittmann nImageIdx = 0;
760ff0525f2SOliver-Rainer Wittmann mePaper = PAPER_USER;
761ff0525f2SOliver-Rainer Wittmann break;
762ff0525f2SOliver-Rainer Wittmann }
763ff0525f2SOliver-Rainer Wittmann
764ff0525f2SOliver-Rainer Wittmann if ( nImageIdx == 0 )
765ff0525f2SOliver-Rainer Wittmann {
766ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetItemImage( TBI_SIZE,
767ff0525f2SOliver-Rainer Wittmann ( mpPageItem->IsLandscape() ? mImgSizeNone_L : mImgSizeNone ) );
768ff0525f2SOliver-Rainer Wittmann }
769ff0525f2SOliver-Rainer Wittmann else
770ff0525f2SOliver-Rainer Wittmann {
771ff0525f2SOliver-Rainer Wittmann mpToolBoxSize->SetItemImage( TBI_SIZE,
772ff0525f2SOliver-Rainer Wittmann ( mpPageItem->IsLandscape() ? maImgSize_L[nImageIdx-1] : maImgSize[nImageIdx-1] ) );
773ff0525f2SOliver-Rainer Wittmann }
774ff0525f2SOliver-Rainer Wittmann }
775ff0525f2SOliver-Rainer Wittmann
776ff0525f2SOliver-Rainer Wittmann
ChangeColumnImage(const sal_uInt16 nColumnType)777ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeColumnImage( const sal_uInt16 nColumnType )
778ff0525f2SOliver-Rainer Wittmann {
779ff0525f2SOliver-Rainer Wittmann if ( mpPageItem.get() == 0 )
780ff0525f2SOliver-Rainer Wittmann {
781ff0525f2SOliver-Rainer Wittmann return;
782ff0525f2SOliver-Rainer Wittmann }
783ff0525f2SOliver-Rainer Wittmann
784ff0525f2SOliver-Rainer Wittmann if ( !mpPageItem->IsLandscape() )
785ff0525f2SOliver-Rainer Wittmann {
786ff0525f2SOliver-Rainer Wittmann switch( nColumnType )
787ff0525f2SOliver-Rainer Wittmann {
788ff0525f2SOliver-Rainer Wittmann case 1:
789ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1);
790ff0525f2SOliver-Rainer Wittmann break;
791ff0525f2SOliver-Rainer Wittmann case 2:
792ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn2);
793ff0525f2SOliver-Rainer Wittmann break;
794ff0525f2SOliver-Rainer Wittmann case 3:
795ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn3);
796ff0525f2SOliver-Rainer Wittmann break;
797ff0525f2SOliver-Rainer Wittmann case 4:
798ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgLeft);
799ff0525f2SOliver-Rainer Wittmann break;
800ff0525f2SOliver-Rainer Wittmann case 5:
801ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgRight);
802ff0525f2SOliver-Rainer Wittmann break;
803ff0525f2SOliver-Rainer Wittmann default:
804ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumnNone);
805ff0525f2SOliver-Rainer Wittmann }
806ff0525f2SOliver-Rainer Wittmann }
807ff0525f2SOliver-Rainer Wittmann else
808ff0525f2SOliver-Rainer Wittmann {
809ff0525f2SOliver-Rainer Wittmann switch( nColumnType )
810ff0525f2SOliver-Rainer Wittmann {
811ff0525f2SOliver-Rainer Wittmann case 1:
812ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1_L);
813ff0525f2SOliver-Rainer Wittmann break;
814ff0525f2SOliver-Rainer Wittmann case 2:
815ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn2_L);
816ff0525f2SOliver-Rainer Wittmann break;
817ff0525f2SOliver-Rainer Wittmann case 3:
818ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn3_L);
819ff0525f2SOliver-Rainer Wittmann break;
820ff0525f2SOliver-Rainer Wittmann case 4:
821ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgLeft_L);
822ff0525f2SOliver-Rainer Wittmann break;
823ff0525f2SOliver-Rainer Wittmann case 5:
824ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgRight_L);
825ff0525f2SOliver-Rainer Wittmann break;
826ff0525f2SOliver-Rainer Wittmann default:
827ff0525f2SOliver-Rainer Wittmann mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumnNone_L);
828ff0525f2SOliver-Rainer Wittmann }
829ff0525f2SOliver-Rainer Wittmann }
830ff0525f2SOliver-Rainer Wittmann }
831ff0525f2SOliver-Rainer Wittmann
832550fbbbdSOliver-Rainer Wittmann
StartUndo()833550fbbbdSOliver-Rainer Wittmann void PagePropertyPanel::StartUndo()
834550fbbbdSOliver-Rainer Wittmann {
835*763264f0SArmin Le Grand if ( mxUndoManager.is() )
836550fbbbdSOliver-Rainer Wittmann {
837550fbbbdSOliver-Rainer Wittmann mxUndoManager->enterUndoContext( A2S("") );
838550fbbbdSOliver-Rainer Wittmann }
839550fbbbdSOliver-Rainer Wittmann }
840550fbbbdSOliver-Rainer Wittmann
841550fbbbdSOliver-Rainer Wittmann
EndUndo()842550fbbbdSOliver-Rainer Wittmann void PagePropertyPanel::EndUndo()
843550fbbbdSOliver-Rainer Wittmann {
844*763264f0SArmin Le Grand if ( mxUndoManager.is() )
845550fbbbdSOliver-Rainer Wittmann {
846550fbbbdSOliver-Rainer Wittmann mxUndoManager->leaveUndoContext();
847550fbbbdSOliver-Rainer Wittmann }
848550fbbbdSOliver-Rainer Wittmann }
849550fbbbdSOliver-Rainer Wittmann
8506a606da0SAndre Fischer
8516a606da0SAndre Fischer
8526a606da0SAndre Fischer
Resize(void)8536a606da0SAndre Fischer void PagePropertyPanel::Resize (void)
8546a606da0SAndre Fischer {
8556a606da0SAndre Fischer maLayouter.Layout();
8566a606da0SAndre Fischer }
8576a606da0SAndre Fischer
8586a606da0SAndre Fischer
8596a606da0SAndre Fischer
8606a606da0SAndre Fischer
8616a606da0SAndre Fischer
862ff0525f2SOliver-Rainer Wittmann } } // end of namespace ::sw::sidebar
863