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> 47*6a606da0SAndre Fischer #include <sfx2/sidebar/Layouter.hxx> 48*6a606da0SAndre 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 60*6a606da0SAndre Fischer using namespace ::sfx2::sidebar; 61*6a606da0SAndre 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 { 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 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 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 206*6a606da0SAndre Fischer , mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify( false ), 207*6a606da0SAndre Fischer maLayouter(*this) 208ff0525f2SOliver-Rainer Wittmann { 209ff0525f2SOliver-Rainer Wittmann Initialize(); 2107dc3d34dSOliver-Rainer Wittmann mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify = true; 211ff0525f2SOliver-Rainer Wittmann FreeResource(); 212*6a606da0SAndre Fischer 213*6a606da0SAndre Fischer // Setup the grid layouter. 214*6a606da0SAndre Fischer maLayouter.GetCell(0,0).SetControl(maFtOrientation).SetGridWidth(2); 215*6a606da0SAndre Fischer maLayouter.GetCell(1,0).SetControl(*mpToolBoxOrientationBackground).SetFixedWidth(); 216*6a606da0SAndre Fischer 217*6a606da0SAndre Fischer maLayouter.GetCell(0,3).SetControl(maFtMargin).SetGridWidth(2); 218*6a606da0SAndre Fischer maLayouter.GetCell(1,3).SetControl(*mpToolBoxMarginBackground).SetFixedWidth(); 219*6a606da0SAndre Fischer 220*6a606da0SAndre Fischer maLayouter.GetCell(2,0).SetControl(maFtSize).SetGridWidth(2); 221*6a606da0SAndre Fischer maLayouter.GetCell(3,0).SetControl(*mpToolBoxSizeBackground).SetFixedWidth(); 222*6a606da0SAndre Fischer 223*6a606da0SAndre Fischer maLayouter.GetCell(2,3).SetControl(maFtColumn).SetGridWidth(2); 224*6a606da0SAndre Fischer maLayouter.GetCell(3,3).SetControl(*mpToolBoxColumnBackground).SetFixedWidth(); 225*6a606da0SAndre Fischer 226*6a606da0SAndre Fischer maLayouter.GetColumn(0) 227*6a606da0SAndre Fischer .SetWeight(0) 228*6a606da0SAndre Fischer .SetLeftPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)); 229*6a606da0SAndre Fischer maLayouter.GetColumn(1) 230*6a606da0SAndre Fischer .SetWeight(1) 231*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this,MBOX_WIDTH/2)); 232*6a606da0SAndre Fischer maLayouter.GetColumn(2) 233*6a606da0SAndre Fischer .SetWeight(0) 234*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this, CONTROL_SPACING_HORIZONTAL)); 235*6a606da0SAndre Fischer maLayouter.GetColumn(3) 236*6a606da0SAndre Fischer .SetWeight(0); 237*6a606da0SAndre Fischer maLayouter.GetColumn(4) 238*6a606da0SAndre Fischer .SetWeight(1) 239*6a606da0SAndre Fischer .SetRightPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)) 240*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this,MBOX_WIDTH/2)); 241*6a606da0SAndre Fischer 242*6a606da0SAndre Fischer // Make controls that display text handle short widths more 243*6a606da0SAndre Fischer // graceful. 244*6a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtOrientation); 245*6a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtMargin); 246*6a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtSize); 247*6a606da0SAndre Fischer Layouter::PrepareForLayouting(maFtColumn); 248ff0525f2SOliver-Rainer Wittmann } 249ff0525f2SOliver-Rainer Wittmann 250*6a606da0SAndre Fischer 251*6a606da0SAndre Fischer 252*6a606da0SAndre Fischer 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 833550fbbbdSOliver-Rainer Wittmann void PagePropertyPanel::StartUndo() 834550fbbbdSOliver-Rainer Wittmann { 835550fbbbdSOliver-Rainer Wittmann if ( mxUndoManager.is() ); 836550fbbbdSOliver-Rainer Wittmann { 837550fbbbdSOliver-Rainer Wittmann mxUndoManager->enterUndoContext( A2S("") ); 838550fbbbdSOliver-Rainer Wittmann } 839550fbbbdSOliver-Rainer Wittmann } 840550fbbbdSOliver-Rainer Wittmann 841550fbbbdSOliver-Rainer Wittmann 842550fbbbdSOliver-Rainer Wittmann void PagePropertyPanel::EndUndo() 843550fbbbdSOliver-Rainer Wittmann { 844550fbbbdSOliver-Rainer Wittmann if ( mxUndoManager.is() ); 845550fbbbdSOliver-Rainer Wittmann { 846550fbbbdSOliver-Rainer Wittmann mxUndoManager->leaveUndoContext(); 847550fbbbdSOliver-Rainer Wittmann } 848550fbbbdSOliver-Rainer Wittmann } 849550fbbbdSOliver-Rainer Wittmann 850*6a606da0SAndre Fischer 851*6a606da0SAndre Fischer 852*6a606da0SAndre Fischer 853*6a606da0SAndre Fischer void PagePropertyPanel::Resize (void) 854*6a606da0SAndre Fischer { 855*6a606da0SAndre Fischer maLayouter.Layout(); 856*6a606da0SAndre Fischer } 857*6a606da0SAndre Fischer 858*6a606da0SAndre Fischer 859*6a606da0SAndre Fischer 860*6a606da0SAndre Fischer 861*6a606da0SAndre Fischer 862ff0525f2SOliver-Rainer Wittmann } } // end of namespace ::sw::sidebar 863