1*ff0525f2SOliver-Rainer Wittmann /************************************************************************
2*ff0525f2SOliver-Rainer Wittmann *
3*ff0525f2SOliver-Rainer Wittmann * Licensed Materials - Property of IBM.
4*ff0525f2SOliver-Rainer Wittmann * (C) Copyright IBM Corporation 2003, 2012.  All Rights Reserved.
5*ff0525f2SOliver-Rainer Wittmann * U.S. Government Users Restricted Rights:
6*ff0525f2SOliver-Rainer Wittmann * Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
7*ff0525f2SOliver-Rainer Wittmann *
8*ff0525f2SOliver-Rainer Wittmann ************************************************************************/
9*ff0525f2SOliver-Rainer Wittmann 
10*ff0525f2SOliver-Rainer Wittmann #include "precompiled_sw.hxx"
11*ff0525f2SOliver-Rainer Wittmann 
12*ff0525f2SOliver-Rainer Wittmann #include "PagePropertyPanel.hxx"
13*ff0525f2SOliver-Rainer Wittmann #include "PagePropertyPanel.hrc"
14*ff0525f2SOliver-Rainer Wittmann 
15*ff0525f2SOliver-Rainer Wittmann #include "PropertyPanel.hrc"
16*ff0525f2SOliver-Rainer Wittmann 
17*ff0525f2SOliver-Rainer Wittmann #include <svx/sidebar/PopupContainer.hxx>
18*ff0525f2SOliver-Rainer Wittmann #include "PageOrientationControl.hxx"
19*ff0525f2SOliver-Rainer Wittmann #include "PageMarginControl.hxx"
20*ff0525f2SOliver-Rainer Wittmann #include "PageSizeControl.hxx"
21*ff0525f2SOliver-Rainer Wittmann #include "PageColumnControl.hxx"
22*ff0525f2SOliver-Rainer Wittmann 
23*ff0525f2SOliver-Rainer Wittmann #include <swtypes.hxx>
24*ff0525f2SOliver-Rainer Wittmann #include <cmdid.h>
25*ff0525f2SOliver-Rainer Wittmann #include <errhdl.hxx>
26*ff0525f2SOliver-Rainer Wittmann 
27*ff0525f2SOliver-Rainer Wittmann #include <svl/intitem.hxx>
28*ff0525f2SOliver-Rainer Wittmann #include <editeng/sizeitem.hxx>
29*ff0525f2SOliver-Rainer Wittmann #include <editeng/paperinf.hxx>
30*ff0525f2SOliver-Rainer Wittmann #include <svx/svxids.hrc>
31*ff0525f2SOliver-Rainer Wittmann #include <svx/dlgutil.hxx>
32*ff0525f2SOliver-Rainer Wittmann #include <svx/rulritem.hxx>
33*ff0525f2SOliver-Rainer Wittmann 
34*ff0525f2SOliver-Rainer Wittmann #include <sfx2/sidebar/ControlFactory.hxx>
35*ff0525f2SOliver-Rainer Wittmann #include <sfx2/dispatch.hxx>
36*ff0525f2SOliver-Rainer Wittmann #include <sfx2/bindings.hxx>
37*ff0525f2SOliver-Rainer Wittmann #include <sfx2/viewsh.hxx>
38*ff0525f2SOliver-Rainer Wittmann #include <sfx2/objsh.hxx>
39*ff0525f2SOliver-Rainer Wittmann 
40*ff0525f2SOliver-Rainer Wittmann #include <boost/bind.hpp>
41*ff0525f2SOliver-Rainer Wittmann 
42*ff0525f2SOliver-Rainer Wittmann #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString)))
43*ff0525f2SOliver-Rainer Wittmann 
44*ff0525f2SOliver-Rainer Wittmann #define SetFldVal(rField, lValue) (rField).SetValue((rField).Normalize(lValue), FUNIT_TWIP)
45*ff0525f2SOliver-Rainer Wittmann 
46*ff0525f2SOliver-Rainer Wittmann 
47*ff0525f2SOliver-Rainer Wittmann namespace sw { namespace sidebar {
48*ff0525f2SOliver-Rainer Wittmann 
49*ff0525f2SOliver-Rainer Wittmann PagePropertyPanel* PagePropertyPanel::Create (
50*ff0525f2SOliver-Rainer Wittmann     Window* pParent,
51*ff0525f2SOliver-Rainer Wittmann     const cssu::Reference<css::frame::XFrame>& rxFrame,
52*ff0525f2SOliver-Rainer Wittmann     SfxBindings* pBindings)
53*ff0525f2SOliver-Rainer Wittmann {
54*ff0525f2SOliver-Rainer Wittmann     if (pParent == NULL)
55*ff0525f2SOliver-Rainer Wittmann         throw ::com::sun::star::lang::IllegalArgumentException(A2S("no parent Window given to PagePropertyPanel::Create"), NULL, 0);
56*ff0525f2SOliver-Rainer Wittmann     if ( ! rxFrame.is())
57*ff0525f2SOliver-Rainer Wittmann         throw ::com::sun::star::lang::IllegalArgumentException(A2S("no XFrame given to PagePropertyPanel::Create"), NULL, 1);
58*ff0525f2SOliver-Rainer Wittmann     if (pBindings == NULL)
59*ff0525f2SOliver-Rainer Wittmann         throw ::com::sun::star::lang::IllegalArgumentException(A2S("no SfxBindings given to PagePropertyPanel::Create"), NULL, 2);
60*ff0525f2SOliver-Rainer Wittmann 
61*ff0525f2SOliver-Rainer Wittmann     return new PagePropertyPanel(
62*ff0525f2SOliver-Rainer Wittmann         pParent,
63*ff0525f2SOliver-Rainer Wittmann         rxFrame,
64*ff0525f2SOliver-Rainer Wittmann         pBindings);
65*ff0525f2SOliver-Rainer Wittmann }
66*ff0525f2SOliver-Rainer Wittmann 
67*ff0525f2SOliver-Rainer Wittmann PagePropertyPanel::PagePropertyPanel(
68*ff0525f2SOliver-Rainer Wittmann             Window* pParent,
69*ff0525f2SOliver-Rainer Wittmann             const cssu::Reference<css::frame::XFrame>& rxFrame,
70*ff0525f2SOliver-Rainer Wittmann             SfxBindings* pBindings)
71*ff0525f2SOliver-Rainer Wittmann     : Control(pParent, SW_RES(RID_PROPERTYPANEL_SWPAGE))
72*ff0525f2SOliver-Rainer Wittmann     , mxFrame(rxFrame)
73*ff0525f2SOliver-Rainer Wittmann     , maContext()
74*ff0525f2SOliver-Rainer Wittmann     , mpBindings(pBindings)
75*ff0525f2SOliver-Rainer Wittmann     // visible controls
76*ff0525f2SOliver-Rainer Wittmann     , maFtOrientation( this, SW_RES(FT_ORIENTATION) )
77*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxOrientationBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
78*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxOrientation( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxOrientationBackground.get(), SW_RES(TB_ORIENTATION)) )
79*ff0525f2SOliver-Rainer Wittmann     , maFtMargin( this, SW_RES(FT_MARGIN) )
80*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxMarginBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
81*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxMargin( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxMarginBackground.get(), SW_RES(TB_MARGIN)) )
82*ff0525f2SOliver-Rainer Wittmann     , maFtSize( this, SW_RES(FT_SIZE) )
83*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxSizeBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
84*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxSize( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxSizeBackground.get(), SW_RES(TB_SIZE)) )
85*ff0525f2SOliver-Rainer Wittmann     , maFtColumn( this, SW_RES(FT_COLUMN) )
86*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxColumnBackground( ::sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this) )
87*ff0525f2SOliver-Rainer Wittmann     , mpToolBoxColumn( ::sfx2::sidebar::ControlFactory::CreateToolBox( mpToolBoxColumnBackground.get(), SW_RES(TB_COLUMN)) )
88*ff0525f2SOliver-Rainer Wittmann     // image resources
89*ff0525f2SOliver-Rainer Wittmann     , maImgSize					(NULL)
90*ff0525f2SOliver-Rainer Wittmann     , maImgSize_L					(NULL)
91*ff0525f2SOliver-Rainer Wittmann     , mImgPortrait				(SW_RES(IMG_PAGE_PORTRAIT))
92*ff0525f2SOliver-Rainer Wittmann     , mImgLandscape				(SW_RES(IMG_PAGE_LANDSCAPE))
93*ff0525f2SOliver-Rainer Wittmann     , mImgNarrow					(SW_RES(IMG_PAGE_NARROW))
94*ff0525f2SOliver-Rainer Wittmann     , mImgNormal					(SW_RES(IMG_PAGE_NORMAL))
95*ff0525f2SOliver-Rainer Wittmann     , mImgWide					(SW_RES(IMG_PAGE_WIDE))
96*ff0525f2SOliver-Rainer Wittmann     , mImgMirrored				(SW_RES(IMG_PAGE_MIRRORED))
97*ff0525f2SOliver-Rainer Wittmann     , mImgMarginCustom			(SW_RES(IMG_PAGE_MARGIN_CUSTOM))
98*ff0525f2SOliver-Rainer Wittmann     , mImgNarrow_L				(SW_RES(IMG_PAGE_NARROW_L))
99*ff0525f2SOliver-Rainer Wittmann     , mImgNormal_L				(SW_RES(IMG_PAGE_NORMAL_L))
100*ff0525f2SOliver-Rainer Wittmann     , mImgWide_L					(SW_RES(IMG_PAGE_WIDE_L))
101*ff0525f2SOliver-Rainer Wittmann     , mImgMirrored_L				(SW_RES(IMG_PAGE_MIRRORED_L))
102*ff0525f2SOliver-Rainer Wittmann     , mImgMarginCustom_L			(SW_RES(IMG_PAGE_MARGIN_CUSTOM_L))
103*ff0525f2SOliver-Rainer Wittmann     , mImgA3						(SW_RES(IMG_PAGE_A3))
104*ff0525f2SOliver-Rainer Wittmann     , mImgA4						(SW_RES(IMG_PAGE_A4))
105*ff0525f2SOliver-Rainer Wittmann     , mImgA5						(SW_RES(IMG_PAGE_A5))
106*ff0525f2SOliver-Rainer Wittmann     , mImgB4						(SW_RES(IMG_PAGE_B4))
107*ff0525f2SOliver-Rainer Wittmann     , mImgB5						(SW_RES(IMG_PAGE_B5))
108*ff0525f2SOliver-Rainer Wittmann     , mImgC5						(SW_RES(IMG_PAGE_C5))
109*ff0525f2SOliver-Rainer Wittmann     , mImgLetter					(SW_RES(IMG_PAGE_LETTER))
110*ff0525f2SOliver-Rainer Wittmann     , mImgLegal					(SW_RES(IMG_PAGE_LEGAL))
111*ff0525f2SOliver-Rainer Wittmann     , mImgSizeNone				(SW_RES(IMG_PAGE_SIZE_NONE))
112*ff0525f2SOliver-Rainer Wittmann     , mImgA3_L					(SW_RES(IMG_PAGE_A3_L))
113*ff0525f2SOliver-Rainer Wittmann     , mImgA4_L					(SW_RES(IMG_PAGE_A4_L))
114*ff0525f2SOliver-Rainer Wittmann     , mImgA5_L					(SW_RES(IMG_PAGE_A5_L))
115*ff0525f2SOliver-Rainer Wittmann     , mImgB4_L					(SW_RES(IMG_PAGE_B4_L))
116*ff0525f2SOliver-Rainer Wittmann     , mImgB5_L					(SW_RES(IMG_PAGE_B5_L))
117*ff0525f2SOliver-Rainer Wittmann     , mImgC5_L					(SW_RES(IMG_PAGE_C5_L))
118*ff0525f2SOliver-Rainer Wittmann     , mImgLetter_L				(SW_RES(IMG_PAGE_LETTER_L))
119*ff0525f2SOliver-Rainer Wittmann     , mImgLegal_L					(SW_RES(IMG_PAGE_LEGAL_L))
120*ff0525f2SOliver-Rainer Wittmann     , mImgSizeNone_L				(SW_RES(IMG_PAGE_SIZE_NONE_L))
121*ff0525f2SOliver-Rainer Wittmann     , mImgColumn1					(SW_RES(IMG_PAGE_COLUMN_1))
122*ff0525f2SOliver-Rainer Wittmann     , mImgColumn2					(SW_RES(IMG_PAGE_COLUMN_2))
123*ff0525f2SOliver-Rainer Wittmann     , mImgColumn3					(SW_RES(IMG_PAGE_COLUMN_3))
124*ff0525f2SOliver-Rainer Wittmann     , mImgLeft					(SW_RES(IMG_PAGE_COLUMN_LEFT))
125*ff0525f2SOliver-Rainer Wittmann     , mImgRight					(SW_RES(IMG_PAGE_COLUMN_RIGHT))
126*ff0525f2SOliver-Rainer Wittmann     , mImgColumnNone				(SW_RES(IMG_PAGE_COLUMN_NONE))
127*ff0525f2SOliver-Rainer Wittmann     , mImgColumn1_L				(SW_RES(IMG_PAGE_COLUMN_1_L))
128*ff0525f2SOliver-Rainer Wittmann     , mImgColumn2_L				(SW_RES(IMG_PAGE_COLUMN_2_L))
129*ff0525f2SOliver-Rainer Wittmann     , mImgColumn3_L				(SW_RES(IMG_PAGE_COLUMN_3_L))
130*ff0525f2SOliver-Rainer Wittmann     , mImgLeft_L					(SW_RES(IMG_PAGE_COLUMN_LEFT_L))
131*ff0525f2SOliver-Rainer Wittmann     , mImgRight_L					(SW_RES(IMG_PAGE_COLUMN_RIGHT_L))
132*ff0525f2SOliver-Rainer Wittmann     , mImgColumnNone_L			(SW_RES(IMG_PAGE_COLUMN_NONE_L))
133*ff0525f2SOliver-Rainer Wittmann 
134*ff0525f2SOliver-Rainer Wittmann     , mpPageItem( new SvxPageItem(SID_ATTR_PAGE) )
135*ff0525f2SOliver-Rainer Wittmann     , mpPageLRMarginItem( new SvxLongLRSpaceItem( 0, 0, SID_ATTR_LONG_LRSPACE ) )
136*ff0525f2SOliver-Rainer Wittmann     , mpPageULMarginItem( new SvxLongULSpaceItem( 0, 0, SID_ATTR_LONG_ULSPACE ) )
137*ff0525f2SOliver-Rainer Wittmann     , mpPageSizeItem( new SvxSizeItem(SID_ATTR_PAGE_SIZE) )
138*ff0525f2SOliver-Rainer Wittmann     , mePaper( PAPER_USER )
139*ff0525f2SOliver-Rainer Wittmann     , mpPageColumnTypeItem( new SfxInt16Item(SID_ATTR_SWPAGE_COLUMN) )
140*ff0525f2SOliver-Rainer Wittmann 
141*ff0525f2SOliver-Rainer Wittmann     , meFUnit()
142*ff0525f2SOliver-Rainer Wittmann     , meUnit()
143*ff0525f2SOliver-Rainer Wittmann 
144*ff0525f2SOliver-Rainer Wittmann     , m_aSwPagePgULControl		(SID_ATTR_LONG_ULSPACE, *pBindings, *this)
145*ff0525f2SOliver-Rainer Wittmann     , m_aSwPagePgLRControl		(SID_ATTR_LONG_LRSPACE, *pBindings, *this)
146*ff0525f2SOliver-Rainer Wittmann     , m_aSwPagePgSizeControl		(SID_ATTR_PAGE_SIZE, *pBindings, *this)
147*ff0525f2SOliver-Rainer Wittmann     , m_aSwPagePgControl			(SID_ATTR_PAGE, *pBindings, *this)
148*ff0525f2SOliver-Rainer Wittmann     , m_aSwPageColControl			(SID_ATTR_SWPAGE_COLUMN, *pBindings, *this)
149*ff0525f2SOliver-Rainer Wittmann     , m_aSwPagePgMetricControl	(SID_ATTR_METRIC, *pBindings, *this)
150*ff0525f2SOliver-Rainer Wittmann 
151*ff0525f2SOliver-Rainer Wittmann     , mpOrientationPopup()
152*ff0525f2SOliver-Rainer Wittmann     , mpMarginPopup()
153*ff0525f2SOliver-Rainer Wittmann     , mpSizePopup()
154*ff0525f2SOliver-Rainer Wittmann     , mpColumnPopup()
155*ff0525f2SOliver-Rainer Wittmann {
156*ff0525f2SOliver-Rainer Wittmann     Initialize();
157*ff0525f2SOliver-Rainer Wittmann     FreeResource();
158*ff0525f2SOliver-Rainer Wittmann }
159*ff0525f2SOliver-Rainer Wittmann 
160*ff0525f2SOliver-Rainer Wittmann PagePropertyPanel::~PagePropertyPanel()
161*ff0525f2SOliver-Rainer Wittmann {
162*ff0525f2SOliver-Rainer Wittmann     delete[] maImgSize;
163*ff0525f2SOliver-Rainer Wittmann     delete[] maImgSize_L;
164*ff0525f2SOliver-Rainer Wittmann 
165*ff0525f2SOliver-Rainer Wittmann     // destroy the toolbox windows.
166*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation.reset();
167*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin.reset();
168*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize.reset();
169*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn.reset();
170*ff0525f2SOliver-Rainer Wittmann 
171*ff0525f2SOliver-Rainer Wittmann     // destroy the background windows of the toolboxes.
172*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientationBackground.reset();
173*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMarginBackground.reset();
174*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSizeBackground.reset();
175*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumnBackground.reset();
176*ff0525f2SOliver-Rainer Wittmann }
177*ff0525f2SOliver-Rainer Wittmann 
178*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::Initialize()
179*ff0525f2SOliver-Rainer Wittmann {
180*ff0525f2SOliver-Rainer Wittmann     // popup for page orientation
181*ff0525f2SOliver-Rainer Wittmann     Link aLink = LINK( this, PagePropertyPanel, ClickOrientationHdl );
182*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetDropdownClickHdl( aLink );
183*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetSelectHdl( aLink );
184*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetItemImage( TBI_ORIENTATION, mImgPortrait);
185*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetItemBits( TBI_ORIENTATION, mpToolBoxOrientation->GetItemBits( TBI_ORIENTATION ) | TIB_DROPDOWNONLY );
186*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetQuickHelpText(TBI_ORIENTATION,String(SW_RES(STR_QHELP_TB_ORIENTATION)));
187*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetOutputSizePixel( mpToolBoxOrientation->CalcWindowSizePixel() );
188*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetBackground( Wallpaper() );
189*ff0525f2SOliver-Rainer Wittmann     mpToolBoxOrientation->SetPaintTransparent( sal_True );
190*ff0525f2SOliver-Rainer Wittmann 
191*ff0525f2SOliver-Rainer Wittmann     // popup for page margins
192*ff0525f2SOliver-Rainer Wittmann     aLink = LINK( this, PagePropertyPanel, ClickMarginHdl );
193*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetDropdownClickHdl( aLink );
194*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetSelectHdl( aLink );
195*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetItemImage(TBI_MARGIN, mImgNormal);
196*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetItemBits( TBI_MARGIN, mpToolBoxMargin->GetItemBits( TBI_MARGIN ) | TIB_DROPDOWNONLY );
197*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetQuickHelpText(TBI_MARGIN,String(SW_RES(STR_QHELP_TB_MARGIN)));
198*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetOutputSizePixel( mpToolBoxMargin->CalcWindowSizePixel() );
199*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetBackground(Wallpaper());
200*ff0525f2SOliver-Rainer Wittmann     mpToolBoxMargin->SetPaintTransparent( sal_True );
201*ff0525f2SOliver-Rainer Wittmann 
202*ff0525f2SOliver-Rainer Wittmann     // popup for page size
203*ff0525f2SOliver-Rainer Wittmann     aLink = LINK( this, PagePropertyPanel, ClickSizeHdl );
204*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetDropdownClickHdl( aLink );
205*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetSelectHdl( aLink );
206*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetItemImage(TBI_SIZE, mImgLetter);
207*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetItemBits( TBI_SIZE, mpToolBoxSize->GetItemBits( TBI_SIZE ) | TIB_DROPDOWNONLY );
208*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetQuickHelpText(TBI_SIZE,String(SW_RES(STR_QHELP_TB_SIZE)));
209*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetOutputSizePixel( mpToolBoxSize->CalcWindowSizePixel() );
210*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetBackground(Wallpaper());
211*ff0525f2SOliver-Rainer Wittmann     mpToolBoxSize->SetPaintTransparent( sal_True );
212*ff0525f2SOliver-Rainer Wittmann     maImgSize = new Image[8];
213*ff0525f2SOliver-Rainer Wittmann     maImgSize[0] = mImgA3;
214*ff0525f2SOliver-Rainer Wittmann     maImgSize[1] = mImgA4;
215*ff0525f2SOliver-Rainer Wittmann     maImgSize[2] = mImgA5;
216*ff0525f2SOliver-Rainer Wittmann     maImgSize[3] = mImgB4;
217*ff0525f2SOliver-Rainer Wittmann     maImgSize[4] = mImgB5;
218*ff0525f2SOliver-Rainer Wittmann     maImgSize[5] = mImgC5;
219*ff0525f2SOliver-Rainer Wittmann     maImgSize[6] = mImgLetter;
220*ff0525f2SOliver-Rainer Wittmann     maImgSize[7] = mImgLegal;
221*ff0525f2SOliver-Rainer Wittmann     maImgSize_L = new Image[8];
222*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[0] = mImgA3_L;
223*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[1] = mImgA4_L;
224*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[2] = mImgA5_L;
225*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[3] = mImgB4_L;
226*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[4] = mImgB5_L;
227*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[5] = mImgC5_L;
228*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[6] = mImgLetter_L;
229*ff0525f2SOliver-Rainer Wittmann     maImgSize_L[7] = mImgLegal_L;
230*ff0525f2SOliver-Rainer Wittmann 
231*ff0525f2SOliver-Rainer Wittmann     // popup for page column property
232*ff0525f2SOliver-Rainer Wittmann     aLink = LINK( this, PagePropertyPanel, ClickColumnHdl );
233*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetDropdownClickHdl( aLink );
234*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetSelectHdl( aLink );
235*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1);
236*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetItemBits( TBI_COLUMN, mpToolBoxColumn->GetItemBits( TBI_COLUMN ) | TIB_DROPDOWNONLY );
237*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetQuickHelpText(TBI_COLUMN,String(SW_RES(STR_QHELP_TB_COLUMN)));
238*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetOutputSizePixel( mpToolBoxColumn->CalcWindowSizePixel() );
239*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetBackground(Wallpaper());
240*ff0525f2SOliver-Rainer Wittmann     mpToolBoxColumn->SetPaintTransparent( sal_True );
241*ff0525f2SOliver-Rainer Wittmann 
242*ff0525f2SOliver-Rainer Wittmann     meFUnit = GetModuleFieldUnit();
243*ff0525f2SOliver-Rainer Wittmann     meUnit  = m_aSwPagePgSizeControl.GetCoreMetric();
244*ff0525f2SOliver-Rainer Wittmann 
245*ff0525f2SOliver-Rainer Wittmann     // 'pull' for page style's attribute values
246*ff0525f2SOliver-Rainer Wittmann     mpBindings->Update( SID_ATTR_LONG_LRSPACE );
247*ff0525f2SOliver-Rainer Wittmann     mpBindings->Update( SID_ATTR_LONG_ULSPACE );
248*ff0525f2SOliver-Rainer Wittmann     mpBindings->Update( SID_ATTR_PAGE );
249*ff0525f2SOliver-Rainer Wittmann     mpBindings->Update( SID_ATTR_PAGE_SIZE );
250*ff0525f2SOliver-Rainer Wittmann }
251*ff0525f2SOliver-Rainer Wittmann 
252*ff0525f2SOliver-Rainer Wittmann 
253*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::DataChanged( const DataChangedEvent& rEvent )
254*ff0525f2SOliver-Rainer Wittmann {
255*ff0525f2SOliver-Rainer Wittmann     // currently nothing special to do
256*ff0525f2SOliver-Rainer Wittmann 
257*ff0525f2SOliver-Rainer Wittmann     // forward to base class
258*ff0525f2SOliver-Rainer Wittmann     Control::DataChanged( rEvent );
259*ff0525f2SOliver-Rainer Wittmann }
260*ff0525f2SOliver-Rainer Wittmann 
261*ff0525f2SOliver-Rainer Wittmann 
262*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::HandleContextChange( const ::sfx2::sidebar::EnumContext aContext)
263*ff0525f2SOliver-Rainer Wittmann {
264*ff0525f2SOliver-Rainer Wittmann     if (maContext == aContext)
265*ff0525f2SOliver-Rainer Wittmann     {
266*ff0525f2SOliver-Rainer Wittmann         // nothing to do.
267*ff0525f2SOliver-Rainer Wittmann         return;
268*ff0525f2SOliver-Rainer Wittmann     }
269*ff0525f2SOliver-Rainer Wittmann 
270*ff0525f2SOliver-Rainer Wittmann     maContext = aContext;
271*ff0525f2SOliver-Rainer Wittmann 
272*ff0525f2SOliver-Rainer Wittmann     // TODO: reactions on certain context switches
273*ff0525f2SOliver-Rainer Wittmann }
274*ff0525f2SOliver-Rainer Wittmann 
275*ff0525f2SOliver-Rainer Wittmann 
276*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ShowPageStyleFormatDialog( void )
277*ff0525f2SOliver-Rainer Wittmann {
278*ff0525f2SOliver-Rainer Wittmann     mpBindings->GetDispatcher()->Execute( FN_FORMAT_PAGE_DLG, SFX_CALLMODE_ASYNCHRON );
279*ff0525f2SOliver-Rainer Wittmann }
280*ff0525f2SOliver-Rainer Wittmann 
281*ff0525f2SOliver-Rainer Wittmann 
282*ff0525f2SOliver-Rainer Wittmann 
283*ff0525f2SOliver-Rainer Wittmann 
284*ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageOrientationControl( ::svx::sidebar::PopupContainer* pParent )
285*ff0525f2SOliver-Rainer Wittmann {
286*ff0525f2SOliver-Rainer Wittmann     return new PageOrientationControl( pParent, *this , mpPageItem->IsLandscape() );
287*ff0525f2SOliver-Rainer Wittmann }
288*ff0525f2SOliver-Rainer Wittmann 
289*ff0525f2SOliver-Rainer Wittmann 
290*ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickOrientationHdl, ToolBox*, pToolBox )
291*ff0525f2SOliver-Rainer Wittmann {
292*ff0525f2SOliver-Rainer Wittmann     mpOrientationPopup.reset(
293*ff0525f2SOliver-Rainer Wittmann         new ::svx::sidebar::Popup(
294*ff0525f2SOliver-Rainer Wittmann             this,
295*ff0525f2SOliver-Rainer Wittmann             ::boost::bind(&PagePropertyPanel::CreatePageOrientationControl, this, _1),
296*ff0525f2SOliver-Rainer Wittmann             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Page orientation")) ) );
297*ff0525f2SOliver-Rainer Wittmann     mpOrientationPopup->Show( *pToolBox );
298*ff0525f2SOliver-Rainer Wittmann 
299*ff0525f2SOliver-Rainer Wittmann     return 0L;
300*ff0525f2SOliver-Rainer Wittmann }
301*ff0525f2SOliver-Rainer Wittmann 
302*ff0525f2SOliver-Rainer Wittmann 
303*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteOrientationChange( const sal_Bool bLandscape )
304*ff0525f2SOliver-Rainer Wittmann {
305*ff0525f2SOliver-Rainer Wittmann     {
306*ff0525f2SOliver-Rainer Wittmann         // set new page orientation
307*ff0525f2SOliver-Rainer Wittmann         mpPageItem->SetLandscape( bLandscape );
308*ff0525f2SOliver-Rainer Wittmann 
309*ff0525f2SOliver-Rainer Wittmann         // swap the width and height of the page size
310*ff0525f2SOliver-Rainer Wittmann         mpPageSizeItem->SetSize( Size( mpPageSizeItem->GetSize().Height(), mpPageSizeItem->GetSize().Width() ) );
311*ff0525f2SOliver-Rainer Wittmann 
312*ff0525f2SOliver-Rainer Wittmann         // apply changed attributes
313*ff0525f2SOliver-Rainer Wittmann         GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE_SIZE, SFX_CALLMODE_RECORD, mpPageSizeItem.get(), mpPageItem.get(), 0L );
314*ff0525f2SOliver-Rainer Wittmann     }
315*ff0525f2SOliver-Rainer Wittmann 
316*ff0525f2SOliver-Rainer Wittmann     // check, if margin values still fit to the changed page size.
317*ff0525f2SOliver-Rainer Wittmann     // if not, adjust margin values
318*ff0525f2SOliver-Rainer Wittmann     {
319*ff0525f2SOliver-Rainer Wittmann         const long nML = mpPageLRMarginItem->GetLeft();
320*ff0525f2SOliver-Rainer Wittmann         const long nMR = mpPageLRMarginItem->GetRight();
321*ff0525f2SOliver-Rainer Wittmann         const long nTmpPW = nML + nMR + MINBODY;
322*ff0525f2SOliver-Rainer Wittmann 
323*ff0525f2SOliver-Rainer Wittmann         const long nPW  = mpPageSizeItem->GetSize().Width();
324*ff0525f2SOliver-Rainer Wittmann 
325*ff0525f2SOliver-Rainer Wittmann         if ( nTmpPW > nPW )
326*ff0525f2SOliver-Rainer Wittmann         {
327*ff0525f2SOliver-Rainer Wittmann             if ( nML <= nMR )
328*ff0525f2SOliver-Rainer Wittmann             {
329*ff0525f2SOliver-Rainer Wittmann                 ExecuteMarginLRChange( mpPageLRMarginItem->GetLeft(), nMR - (nTmpPW - nPW ) );
330*ff0525f2SOliver-Rainer Wittmann             }
331*ff0525f2SOliver-Rainer Wittmann             else
332*ff0525f2SOliver-Rainer Wittmann             {
333*ff0525f2SOliver-Rainer Wittmann                 ExecuteMarginLRChange( nML - (nTmpPW - nPW ), mpPageLRMarginItem->GetRight() );
334*ff0525f2SOliver-Rainer Wittmann             }
335*ff0525f2SOliver-Rainer Wittmann         }
336*ff0525f2SOliver-Rainer Wittmann 
337*ff0525f2SOliver-Rainer Wittmann         const long nMT = mpPageULMarginItem->GetUpper();
338*ff0525f2SOliver-Rainer Wittmann         const long nMB = mpPageULMarginItem->GetLower();
339*ff0525f2SOliver-Rainer Wittmann         const long nTmpPH = nMT + nMB + MINBODY;
340*ff0525f2SOliver-Rainer Wittmann 
341*ff0525f2SOliver-Rainer Wittmann         const long nPH  = mpPageSizeItem->GetSize().Height();
342*ff0525f2SOliver-Rainer Wittmann 
343*ff0525f2SOliver-Rainer Wittmann         if ( nTmpPH > nPH )
344*ff0525f2SOliver-Rainer Wittmann         {
345*ff0525f2SOliver-Rainer Wittmann             if ( nMT <= nMB )
346*ff0525f2SOliver-Rainer Wittmann             {
347*ff0525f2SOliver-Rainer Wittmann                 ExecuteMarginULChange( mpPageULMarginItem->GetUpper(), nMB - ( nTmpPH - nPH ) );
348*ff0525f2SOliver-Rainer Wittmann             }
349*ff0525f2SOliver-Rainer Wittmann             else
350*ff0525f2SOliver-Rainer Wittmann             {
351*ff0525f2SOliver-Rainer Wittmann                 ExecuteMarginULChange( nMT - ( nTmpPH - nPH ), mpPageULMarginItem->GetLower() );
352*ff0525f2SOliver-Rainer Wittmann             }
353*ff0525f2SOliver-Rainer Wittmann         }
354*ff0525f2SOliver-Rainer Wittmann     }
355*ff0525f2SOliver-Rainer Wittmann }
356*ff0525f2SOliver-Rainer Wittmann 
357*ff0525f2SOliver-Rainer Wittmann 
358*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageOrientationPopup()
359*ff0525f2SOliver-Rainer Wittmann {
360*ff0525f2SOliver-Rainer Wittmann     mpOrientationPopup->Hide();
361*ff0525f2SOliver-Rainer Wittmann     mpOrientationPopup.reset( 0 );
362*ff0525f2SOliver-Rainer Wittmann }
363*ff0525f2SOliver-Rainer Wittmann 
364*ff0525f2SOliver-Rainer Wittmann 
365*ff0525f2SOliver-Rainer Wittmann 
366*ff0525f2SOliver-Rainer Wittmann 
367*ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageMarginControl( ::svx::sidebar::PopupContainer* pParent )
368*ff0525f2SOliver-Rainer Wittmann {
369*ff0525f2SOliver-Rainer Wittmann     return new PageMarginControl(
370*ff0525f2SOliver-Rainer Wittmann         pParent,
371*ff0525f2SOliver-Rainer Wittmann         *this,
372*ff0525f2SOliver-Rainer Wittmann         *mpPageLRMarginItem.get(),
373*ff0525f2SOliver-Rainer Wittmann         *mpPageULMarginItem.get(),
374*ff0525f2SOliver-Rainer Wittmann         mpPageItem->GetPageUsage() == SVX_PAGE_MIRROR,
375*ff0525f2SOliver-Rainer Wittmann         mpPageSizeItem->GetSize(),
376*ff0525f2SOliver-Rainer Wittmann         mpPageItem->IsLandscape(),
377*ff0525f2SOliver-Rainer Wittmann         meFUnit,
378*ff0525f2SOliver-Rainer Wittmann         meUnit );
379*ff0525f2SOliver-Rainer Wittmann }
380*ff0525f2SOliver-Rainer Wittmann 
381*ff0525f2SOliver-Rainer Wittmann 
382*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteMarginLRChange(
383*ff0525f2SOliver-Rainer Wittmann     const long nPageLeftMargin,
384*ff0525f2SOliver-Rainer Wittmann     const long nPageRightMargin )
385*ff0525f2SOliver-Rainer Wittmann {
386*ff0525f2SOliver-Rainer Wittmann     mpPageLRMarginItem->SetLeft( nPageLeftMargin );
387*ff0525f2SOliver-Rainer Wittmann     mpPageLRMarginItem->SetRight( nPageRightMargin );
388*ff0525f2SOliver-Rainer Wittmann     GetBindings()->GetDispatcher()->Execute( SID_ATTR_LONG_LRSPACE, SFX_CALLMODE_RECORD, mpPageLRMarginItem.get(),  0L );
389*ff0525f2SOliver-Rainer Wittmann }
390*ff0525f2SOliver-Rainer Wittmann 
391*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteMarginULChange(
392*ff0525f2SOliver-Rainer Wittmann     const long nPageTopMargin,
393*ff0525f2SOliver-Rainer Wittmann     const long nPageBottomMargin )
394*ff0525f2SOliver-Rainer Wittmann {
395*ff0525f2SOliver-Rainer Wittmann     mpPageULMarginItem->SetUpper( nPageTopMargin );
396*ff0525f2SOliver-Rainer Wittmann     mpPageULMarginItem->SetLower( nPageBottomMargin );
397*ff0525f2SOliver-Rainer Wittmann     GetBindings()->GetDispatcher()->Execute( SID_ATTR_LONG_ULSPACE, SFX_CALLMODE_RECORD, mpPageULMarginItem.get(),  0L );
398*ff0525f2SOliver-Rainer Wittmann }
399*ff0525f2SOliver-Rainer Wittmann 
400*ff0525f2SOliver-Rainer Wittmann 
401*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecutePageLayoutChange( const bool bMirrored )
402*ff0525f2SOliver-Rainer Wittmann {
403*ff0525f2SOliver-Rainer Wittmann     mpPageItem->SetPageUsage( bMirrored ? SVX_PAGE_MIRROR : SVX_PAGE_ALL );
404*ff0525f2SOliver-Rainer Wittmann     GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE, SFX_CALLMODE_RECORD, mpPageItem.get(),  0L );
405*ff0525f2SOliver-Rainer Wittmann }
406*ff0525f2SOliver-Rainer Wittmann 
407*ff0525f2SOliver-Rainer Wittmann 
408*ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickMarginHdl, ToolBox*, pToolBox )
409*ff0525f2SOliver-Rainer Wittmann {
410*ff0525f2SOliver-Rainer Wittmann     mpMarginPopup.reset(
411*ff0525f2SOliver-Rainer Wittmann         new ::svx::sidebar::Popup(
412*ff0525f2SOliver-Rainer Wittmann             this,
413*ff0525f2SOliver-Rainer Wittmann             ::boost::bind(&PagePropertyPanel::CreatePageMarginControl, this, _1),
414*ff0525f2SOliver-Rainer Wittmann             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Page margins")) ) );
415*ff0525f2SOliver-Rainer Wittmann     mpMarginPopup->Show( *pToolBox );
416*ff0525f2SOliver-Rainer Wittmann 
417*ff0525f2SOliver-Rainer Wittmann     return 0L;
418*ff0525f2SOliver-Rainer Wittmann }
419*ff0525f2SOliver-Rainer Wittmann 
420*ff0525f2SOliver-Rainer Wittmann 
421*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageMarginPopup()
422*ff0525f2SOliver-Rainer Wittmann {
423*ff0525f2SOliver-Rainer Wittmann     mpMarginPopup->Hide();
424*ff0525f2SOliver-Rainer Wittmann     mpMarginPopup.reset( 0 );
425*ff0525f2SOliver-Rainer Wittmann }
426*ff0525f2SOliver-Rainer Wittmann 
427*ff0525f2SOliver-Rainer Wittmann 
428*ff0525f2SOliver-Rainer Wittmann 
429*ff0525f2SOliver-Rainer Wittmann 
430*ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageSizeControl( ::svx::sidebar::PopupContainer* pParent )
431*ff0525f2SOliver-Rainer Wittmann {
432*ff0525f2SOliver-Rainer Wittmann     return new PageSizeControl(
433*ff0525f2SOliver-Rainer Wittmann         pParent,
434*ff0525f2SOliver-Rainer Wittmann         *this,
435*ff0525f2SOliver-Rainer Wittmann         mePaper,
436*ff0525f2SOliver-Rainer Wittmann         mpPageItem->IsLandscape(),
437*ff0525f2SOliver-Rainer Wittmann         meFUnit );
438*ff0525f2SOliver-Rainer Wittmann }
439*ff0525f2SOliver-Rainer Wittmann 
440*ff0525f2SOliver-Rainer Wittmann 
441*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteSizeChange( const Paper ePaper )
442*ff0525f2SOliver-Rainer Wittmann {
443*ff0525f2SOliver-Rainer Wittmann     Size aPageSize = SvxPaperInfo::GetPaperSize( ePaper, (MapUnit)(meUnit) );
444*ff0525f2SOliver-Rainer Wittmann     if ( mpPageItem->IsLandscape() )
445*ff0525f2SOliver-Rainer Wittmann     {
446*ff0525f2SOliver-Rainer Wittmann         Swap( aPageSize );
447*ff0525f2SOliver-Rainer Wittmann     }
448*ff0525f2SOliver-Rainer Wittmann     mpPageSizeItem->SetSize( aPageSize );
449*ff0525f2SOliver-Rainer Wittmann 
450*ff0525f2SOliver-Rainer Wittmann     mpBindings->GetDispatcher()->Execute(SID_ATTR_PAGE_SIZE, SFX_CALLMODE_RECORD, mpPageSizeItem.get(),  0L );
451*ff0525f2SOliver-Rainer Wittmann }
452*ff0525f2SOliver-Rainer Wittmann 
453*ff0525f2SOliver-Rainer Wittmann 
454*ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickSizeHdl, ToolBox*, pToolBox )
455*ff0525f2SOliver-Rainer Wittmann {
456*ff0525f2SOliver-Rainer Wittmann     mpSizePopup.reset(
457*ff0525f2SOliver-Rainer Wittmann         new ::svx::sidebar::Popup(
458*ff0525f2SOliver-Rainer Wittmann             this,
459*ff0525f2SOliver-Rainer Wittmann             ::boost::bind(&PagePropertyPanel::CreatePageSizeControl, this, _1),
460*ff0525f2SOliver-Rainer Wittmann             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Page size")) ) );
461*ff0525f2SOliver-Rainer Wittmann     mpSizePopup->Show( *pToolBox );
462*ff0525f2SOliver-Rainer Wittmann 
463*ff0525f2SOliver-Rainer Wittmann     return 0L;
464*ff0525f2SOliver-Rainer Wittmann }
465*ff0525f2SOliver-Rainer Wittmann 
466*ff0525f2SOliver-Rainer Wittmann 
467*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageSizePopup()
468*ff0525f2SOliver-Rainer Wittmann {
469*ff0525f2SOliver-Rainer Wittmann     mpSizePopup->Hide();
470*ff0525f2SOliver-Rainer Wittmann     mpSizePopup.reset( 0 );
471*ff0525f2SOliver-Rainer Wittmann }
472*ff0525f2SOliver-Rainer Wittmann 
473*ff0525f2SOliver-Rainer Wittmann 
474*ff0525f2SOliver-Rainer Wittmann 
475*ff0525f2SOliver-Rainer Wittmann 
476*ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::PopupControl* PagePropertyPanel::CreatePageColumnControl( ::svx::sidebar::PopupContainer* pParent )
477*ff0525f2SOliver-Rainer Wittmann {
478*ff0525f2SOliver-Rainer Wittmann     return new PageColumnControl(
479*ff0525f2SOliver-Rainer Wittmann         pParent,
480*ff0525f2SOliver-Rainer Wittmann         *this,
481*ff0525f2SOliver-Rainer Wittmann         mpPageColumnTypeItem->GetValue(),
482*ff0525f2SOliver-Rainer Wittmann         mpPageItem->IsLandscape() );
483*ff0525f2SOliver-Rainer Wittmann }
484*ff0525f2SOliver-Rainer Wittmann 
485*ff0525f2SOliver-Rainer Wittmann 
486*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ExecuteColumnChange( const sal_uInt16 nColumnType )
487*ff0525f2SOliver-Rainer Wittmann {
488*ff0525f2SOliver-Rainer Wittmann     mpPageColumnTypeItem->SetValue( nColumnType );
489*ff0525f2SOliver-Rainer Wittmann     mpBindings->GetDispatcher()->Execute(SID_ATTR_SWPAGE_COLUMN, SFX_CALLMODE_RECORD, mpPageColumnTypeItem.get(),  0L );
490*ff0525f2SOliver-Rainer Wittmann }
491*ff0525f2SOliver-Rainer Wittmann 
492*ff0525f2SOliver-Rainer Wittmann 
493*ff0525f2SOliver-Rainer Wittmann IMPL_LINK( PagePropertyPanel, ClickColumnHdl, ToolBox*, pToolBox )
494*ff0525f2SOliver-Rainer Wittmann {
495*ff0525f2SOliver-Rainer Wittmann     mpColumnPopup.reset(
496*ff0525f2SOliver-Rainer Wittmann         new ::svx::sidebar::Popup(
497*ff0525f2SOliver-Rainer Wittmann             this,
498*ff0525f2SOliver-Rainer Wittmann             ::boost::bind(&PagePropertyPanel::CreatePageColumnControl, this, _1),
499*ff0525f2SOliver-Rainer Wittmann             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Page columns")) ) );
500*ff0525f2SOliver-Rainer Wittmann     mpColumnPopup->Show( *pToolBox );
501*ff0525f2SOliver-Rainer Wittmann 
502*ff0525f2SOliver-Rainer Wittmann     return 0L;
503*ff0525f2SOliver-Rainer Wittmann }
504*ff0525f2SOliver-Rainer Wittmann 
505*ff0525f2SOliver-Rainer Wittmann 
506*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ClosePageColumnPopup()
507*ff0525f2SOliver-Rainer Wittmann {
508*ff0525f2SOliver-Rainer Wittmann     mpColumnPopup->Hide();
509*ff0525f2SOliver-Rainer Wittmann     mpColumnPopup.reset( 0 );
510*ff0525f2SOliver-Rainer Wittmann }
511*ff0525f2SOliver-Rainer Wittmann 
512*ff0525f2SOliver-Rainer Wittmann 
513*ff0525f2SOliver-Rainer Wittmann 
514*ff0525f2SOliver-Rainer Wittmann 
515*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::NotifyItemUpdate(
516*ff0525f2SOliver-Rainer Wittmann     const sal_uInt16 nSId,
517*ff0525f2SOliver-Rainer Wittmann     const SfxItemState eState,
518*ff0525f2SOliver-Rainer Wittmann     const SfxPoolItem* pState)
519*ff0525f2SOliver-Rainer Wittmann {
520*ff0525f2SOliver-Rainer Wittmann     switch( nSId )
521*ff0525f2SOliver-Rainer Wittmann     {
522*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_SWPAGE_COLUMN:
523*ff0525f2SOliver-Rainer Wittmann         {
524*ff0525f2SOliver-Rainer Wittmann             if ( eState >= SFX_ITEM_AVAILABLE &&
525*ff0525f2SOliver-Rainer Wittmann                  pState && pState->ISA(SfxInt16Item) )
526*ff0525f2SOliver-Rainer Wittmann             {
527*ff0525f2SOliver-Rainer Wittmann                 mpPageColumnTypeItem.reset( static_cast<SfxInt16Item*>(pState->Clone()) );
528*ff0525f2SOliver-Rainer Wittmann                 ChangeColumnImage( mpPageColumnTypeItem->GetValue() );
529*ff0525f2SOliver-Rainer Wittmann             }
530*ff0525f2SOliver-Rainer Wittmann         }
531*ff0525f2SOliver-Rainer Wittmann         break;
532*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_LONG_LRSPACE:
533*ff0525f2SOliver-Rainer Wittmann         if ( eState >= SFX_ITEM_AVAILABLE &&
534*ff0525f2SOliver-Rainer Wittmann              pState && pState->ISA(SvxLongLRSpaceItem) )
535*ff0525f2SOliver-Rainer Wittmann         {
536*ff0525f2SOliver-Rainer Wittmann             mpPageLRMarginItem.reset( static_cast<SvxLongLRSpaceItem*>(pState->Clone()) );
537*ff0525f2SOliver-Rainer Wittmann             ChangeMarginImage();
538*ff0525f2SOliver-Rainer Wittmann         }
539*ff0525f2SOliver-Rainer Wittmann         break;
540*ff0525f2SOliver-Rainer Wittmann 
541*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_LONG_ULSPACE:
542*ff0525f2SOliver-Rainer Wittmann         if ( eState >= SFX_ITEM_AVAILABLE &&
543*ff0525f2SOliver-Rainer Wittmann              pState && pState->ISA(SvxLongULSpaceItem) )
544*ff0525f2SOliver-Rainer Wittmann         {
545*ff0525f2SOliver-Rainer Wittmann             mpPageULMarginItem.reset( static_cast<SvxLongULSpaceItem*>(pState->Clone()) );
546*ff0525f2SOliver-Rainer Wittmann             ChangeMarginImage();
547*ff0525f2SOliver-Rainer Wittmann         }
548*ff0525f2SOliver-Rainer Wittmann         break;
549*ff0525f2SOliver-Rainer Wittmann 
550*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_PAGE:
551*ff0525f2SOliver-Rainer Wittmann         if ( eState >= SFX_ITEM_AVAILABLE &&
552*ff0525f2SOliver-Rainer Wittmann              pState && pState->ISA(SvxPageItem) )
553*ff0525f2SOliver-Rainer Wittmann         {
554*ff0525f2SOliver-Rainer Wittmann             mpPageItem.reset( static_cast<SvxPageItem*>(pState->Clone()) );
555*ff0525f2SOliver-Rainer Wittmann             if ( mpPageItem->IsLandscape() )
556*ff0525f2SOliver-Rainer Wittmann             {
557*ff0525f2SOliver-Rainer Wittmann                 mpToolBoxOrientation->SetItemImage(TBI_ORIENTATION, mImgLandscape);
558*ff0525f2SOliver-Rainer Wittmann             }
559*ff0525f2SOliver-Rainer Wittmann             else
560*ff0525f2SOliver-Rainer Wittmann             {
561*ff0525f2SOliver-Rainer Wittmann                 mpToolBoxOrientation->SetItemImage(TBI_ORIENTATION, mImgPortrait);
562*ff0525f2SOliver-Rainer Wittmann             }
563*ff0525f2SOliver-Rainer Wittmann             ChangeMarginImage();
564*ff0525f2SOliver-Rainer Wittmann             ChangeSizeImage();
565*ff0525f2SOliver-Rainer Wittmann             ChangeColumnImage( mpPageColumnTypeItem->GetValue() );
566*ff0525f2SOliver-Rainer Wittmann         }
567*ff0525f2SOliver-Rainer Wittmann         break;
568*ff0525f2SOliver-Rainer Wittmann 
569*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_PAGE_SIZE:
570*ff0525f2SOliver-Rainer Wittmann         mpBindings->Invalidate( SID_ATTR_PAGE, sal_True, sal_False );
571*ff0525f2SOliver-Rainer Wittmann         if ( eState >= SFX_ITEM_AVAILABLE &&
572*ff0525f2SOliver-Rainer Wittmann              pState && pState->ISA(SvxSizeItem) )
573*ff0525f2SOliver-Rainer Wittmann         {
574*ff0525f2SOliver-Rainer Wittmann             mpPageSizeItem.reset( static_cast<SvxSizeItem*>(pState->Clone()) );
575*ff0525f2SOliver-Rainer Wittmann             ChangeSizeImage();
576*ff0525f2SOliver-Rainer Wittmann         }
577*ff0525f2SOliver-Rainer Wittmann         break;
578*ff0525f2SOliver-Rainer Wittmann     case SID_ATTR_METRIC:
579*ff0525f2SOliver-Rainer Wittmann         MetricState( eState, pState );
580*ff0525f2SOliver-Rainer Wittmann         break;
581*ff0525f2SOliver-Rainer Wittmann     }
582*ff0525f2SOliver-Rainer Wittmann }
583*ff0525f2SOliver-Rainer Wittmann 
584*ff0525f2SOliver-Rainer Wittmann 
585*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::MetricState( SfxItemState eState, const SfxPoolItem* pState )
586*ff0525f2SOliver-Rainer Wittmann {
587*ff0525f2SOliver-Rainer Wittmann     meFUnit = FUNIT_NONE;
588*ff0525f2SOliver-Rainer Wittmann     if ( pState && eState >= SFX_ITEM_DEFAULT )
589*ff0525f2SOliver-Rainer Wittmann     {
590*ff0525f2SOliver-Rainer Wittmann         meFUnit = (FieldUnit)( (const SfxUInt16Item*)pState )->GetValue();
591*ff0525f2SOliver-Rainer Wittmann     }
592*ff0525f2SOliver-Rainer Wittmann     else
593*ff0525f2SOliver-Rainer Wittmann     {
594*ff0525f2SOliver-Rainer Wittmann         SfxViewFrame* pFrame = SfxViewFrame::Current();
595*ff0525f2SOliver-Rainer Wittmann         SfxObjectShell* pSh = NULL;
596*ff0525f2SOliver-Rainer Wittmann         if ( pFrame )
597*ff0525f2SOliver-Rainer Wittmann             pSh = pFrame->GetObjectShell();
598*ff0525f2SOliver-Rainer Wittmann         if ( pSh )
599*ff0525f2SOliver-Rainer Wittmann         {
600*ff0525f2SOliver-Rainer Wittmann             SfxModule* pModule = pSh->GetModule();
601*ff0525f2SOliver-Rainer Wittmann             if ( pModule )
602*ff0525f2SOliver-Rainer Wittmann             {
603*ff0525f2SOliver-Rainer Wittmann                 const SfxPoolItem* pItem = pModule->GetItem( SID_ATTR_METRIC );
604*ff0525f2SOliver-Rainer Wittmann                 if ( pItem )
605*ff0525f2SOliver-Rainer Wittmann                     meFUnit = (FieldUnit)( (SfxUInt16Item*)pItem )->GetValue();
606*ff0525f2SOliver-Rainer Wittmann             }
607*ff0525f2SOliver-Rainer Wittmann             else
608*ff0525f2SOliver-Rainer Wittmann             {
609*ff0525f2SOliver-Rainer Wittmann                 DBG_ERRORFILE( "<PagePropertyPanel::MetricState(..)>: no module found" );
610*ff0525f2SOliver-Rainer Wittmann             }
611*ff0525f2SOliver-Rainer Wittmann         }
612*ff0525f2SOliver-Rainer Wittmann     }
613*ff0525f2SOliver-Rainer Wittmann }
614*ff0525f2SOliver-Rainer Wittmann 
615*ff0525f2SOliver-Rainer Wittmann 
616*ff0525f2SOliver-Rainer Wittmann 
617*ff0525f2SOliver-Rainer Wittmann 
618*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeMarginImage()
619*ff0525f2SOliver-Rainer Wittmann {
620*ff0525f2SOliver-Rainer Wittmann     if ( mpPageLRMarginItem.get() == 0 ||
621*ff0525f2SOliver-Rainer Wittmann          mpPageULMarginItem.get() == 0 ||
622*ff0525f2SOliver-Rainer Wittmann          mpPageItem.get() == 0 )
623*ff0525f2SOliver-Rainer Wittmann     {
624*ff0525f2SOliver-Rainer Wittmann         return;
625*ff0525f2SOliver-Rainer Wittmann     }
626*ff0525f2SOliver-Rainer Wittmann 
627*ff0525f2SOliver-Rainer Wittmann     const long cTolerance = 5;
628*ff0525f2SOliver-Rainer Wittmann 
629*ff0525f2SOliver-Rainer Wittmann     if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_NARROW_VALUE) <= cTolerance &&
630*ff0525f2SOliver-Rainer Wittmann         abs(mpPageLRMarginItem->GetRight() - SWPAGE_NARROW_VALUE) <= cTolerance &&
631*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetUpper() - SWPAGE_NARROW_VALUE) <= cTolerance &&
632*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetLower() - SWPAGE_NARROW_VALUE) <= cTolerance &&
633*ff0525f2SOliver-Rainer Wittmann         mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
634*ff0525f2SOliver-Rainer Wittmann         mpToolBoxMargin->SetItemImage( TBI_MARGIN, mpPageItem->IsLandscape() ? mImgNarrow_L : mImgNarrow );
635*ff0525f2SOliver-Rainer Wittmann 
636*ff0525f2SOliver-Rainer Wittmann     else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
637*ff0525f2SOliver-Rainer Wittmann         abs(mpPageLRMarginItem->GetRight() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
638*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetUpper() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
639*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetLower() - SWPAGE_NORMAL_VALUE) <= cTolerance &&
640*ff0525f2SOliver-Rainer Wittmann         mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
641*ff0525f2SOliver-Rainer Wittmann         mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgNormal_L : mImgNormal );
642*ff0525f2SOliver-Rainer Wittmann 
643*ff0525f2SOliver-Rainer Wittmann     else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_WIDE_VALUE2) <= cTolerance &&
644*ff0525f2SOliver-Rainer Wittmann         abs(mpPageLRMarginItem->GetRight() - SWPAGE_WIDE_VALUE2) <= cTolerance &&
645*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetUpper() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
646*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetLower() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
647*ff0525f2SOliver-Rainer Wittmann         mpPageItem->GetPageUsage() != SVX_PAGE_MIRROR )
648*ff0525f2SOliver-Rainer Wittmann         mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgWide_L : mImgWide );
649*ff0525f2SOliver-Rainer Wittmann 
650*ff0525f2SOliver-Rainer Wittmann     else if( abs(mpPageLRMarginItem->GetLeft() - SWPAGE_WIDE_VALUE3) <= cTolerance &&
651*ff0525f2SOliver-Rainer Wittmann         abs(mpPageLRMarginItem->GetRight() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
652*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetUpper() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
653*ff0525f2SOliver-Rainer Wittmann         abs(mpPageULMarginItem->GetLower() - SWPAGE_WIDE_VALUE1) <= cTolerance &&
654*ff0525f2SOliver-Rainer Wittmann         mpPageItem->GetPageUsage() == SVX_PAGE_MIRROR )
655*ff0525f2SOliver-Rainer Wittmann         mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgMirrored_L : mImgMirrored );
656*ff0525f2SOliver-Rainer Wittmann 
657*ff0525f2SOliver-Rainer Wittmann     else
658*ff0525f2SOliver-Rainer Wittmann         mpToolBoxMargin->SetItemImage(TBI_MARGIN, mpPageItem->IsLandscape() ? mImgMarginCustom_L : mImgMarginCustom );
659*ff0525f2SOliver-Rainer Wittmann }
660*ff0525f2SOliver-Rainer Wittmann 
661*ff0525f2SOliver-Rainer Wittmann 
662*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeSizeImage()
663*ff0525f2SOliver-Rainer Wittmann {
664*ff0525f2SOliver-Rainer Wittmann     if ( mpPageSizeItem.get() == 0 ||
665*ff0525f2SOliver-Rainer Wittmann          mpPageItem.get() == 0 )
666*ff0525f2SOliver-Rainer Wittmann     {
667*ff0525f2SOliver-Rainer Wittmann         return;
668*ff0525f2SOliver-Rainer Wittmann     }
669*ff0525f2SOliver-Rainer Wittmann 
670*ff0525f2SOliver-Rainer Wittmann     Size aTmpPaperSize = mpPageSizeItem->GetSize();
671*ff0525f2SOliver-Rainer Wittmann     if ( mpPageItem->IsLandscape() )
672*ff0525f2SOliver-Rainer Wittmann     {
673*ff0525f2SOliver-Rainer Wittmann         Swap( aTmpPaperSize ); // Swap(..) defined in editeng/paperinf.hxx
674*ff0525f2SOliver-Rainer Wittmann     }
675*ff0525f2SOliver-Rainer Wittmann 
676*ff0525f2SOliver-Rainer Wittmann     mePaper = SvxPaperInfo::GetSvxPaper( aTmpPaperSize, static_cast<MapUnit>(meUnit), sal_True );
677*ff0525f2SOliver-Rainer Wittmann 
678*ff0525f2SOliver-Rainer Wittmann     sal_uInt16 nImageIdx = 0;
679*ff0525f2SOliver-Rainer Wittmann     switch ( mePaper )
680*ff0525f2SOliver-Rainer Wittmann     {
681*ff0525f2SOliver-Rainer Wittmann     case PAPER_A3:
682*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 1;
683*ff0525f2SOliver-Rainer Wittmann         break;
684*ff0525f2SOliver-Rainer Wittmann     case PAPER_A4:
685*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 2;
686*ff0525f2SOliver-Rainer Wittmann         break;
687*ff0525f2SOliver-Rainer Wittmann     case PAPER_A5:
688*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 3;
689*ff0525f2SOliver-Rainer Wittmann         break;
690*ff0525f2SOliver-Rainer Wittmann     case PAPER_B4_ISO:
691*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 4;
692*ff0525f2SOliver-Rainer Wittmann         break;
693*ff0525f2SOliver-Rainer Wittmann     case PAPER_B5_ISO:
694*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 5;
695*ff0525f2SOliver-Rainer Wittmann         break;
696*ff0525f2SOliver-Rainer Wittmann     case PAPER_ENV_C5:
697*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 6;
698*ff0525f2SOliver-Rainer Wittmann         break;
699*ff0525f2SOliver-Rainer Wittmann     case PAPER_LETTER:
700*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 7;
701*ff0525f2SOliver-Rainer Wittmann         break;
702*ff0525f2SOliver-Rainer Wittmann     case PAPER_LEGAL:
703*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 8;
704*ff0525f2SOliver-Rainer Wittmann         break;
705*ff0525f2SOliver-Rainer Wittmann     default:
706*ff0525f2SOliver-Rainer Wittmann         nImageIdx = 0;
707*ff0525f2SOliver-Rainer Wittmann         mePaper = PAPER_USER;
708*ff0525f2SOliver-Rainer Wittmann         break;
709*ff0525f2SOliver-Rainer Wittmann     }
710*ff0525f2SOliver-Rainer Wittmann 
711*ff0525f2SOliver-Rainer Wittmann     if ( nImageIdx == 0 )
712*ff0525f2SOliver-Rainer Wittmann     {
713*ff0525f2SOliver-Rainer Wittmann         mpToolBoxSize->SetItemImage( TBI_SIZE,
714*ff0525f2SOliver-Rainer Wittmann                                      ( mpPageItem->IsLandscape() ? mImgSizeNone_L : mImgSizeNone  ) );
715*ff0525f2SOliver-Rainer Wittmann     }
716*ff0525f2SOliver-Rainer Wittmann     else
717*ff0525f2SOliver-Rainer Wittmann     {
718*ff0525f2SOliver-Rainer Wittmann         mpToolBoxSize->SetItemImage( TBI_SIZE,
719*ff0525f2SOliver-Rainer Wittmann                                      ( mpPageItem->IsLandscape() ? maImgSize_L[nImageIdx-1] : maImgSize[nImageIdx-1] ) );
720*ff0525f2SOliver-Rainer Wittmann     }
721*ff0525f2SOliver-Rainer Wittmann }
722*ff0525f2SOliver-Rainer Wittmann 
723*ff0525f2SOliver-Rainer Wittmann 
724*ff0525f2SOliver-Rainer Wittmann void PagePropertyPanel::ChangeColumnImage( const sal_uInt16 nColumnType )
725*ff0525f2SOliver-Rainer Wittmann {
726*ff0525f2SOliver-Rainer Wittmann     if ( mpPageItem.get() == 0 )
727*ff0525f2SOliver-Rainer Wittmann     {
728*ff0525f2SOliver-Rainer Wittmann         return;
729*ff0525f2SOliver-Rainer Wittmann     }
730*ff0525f2SOliver-Rainer Wittmann 
731*ff0525f2SOliver-Rainer Wittmann     if ( !mpPageItem->IsLandscape() )
732*ff0525f2SOliver-Rainer Wittmann     {
733*ff0525f2SOliver-Rainer Wittmann         switch( nColumnType )
734*ff0525f2SOliver-Rainer Wittmann         {
735*ff0525f2SOliver-Rainer Wittmann         case 1:
736*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1);
737*ff0525f2SOliver-Rainer Wittmann             break;
738*ff0525f2SOliver-Rainer Wittmann         case 2:
739*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn2);
740*ff0525f2SOliver-Rainer Wittmann             break;
741*ff0525f2SOliver-Rainer Wittmann         case 3:
742*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn3);
743*ff0525f2SOliver-Rainer Wittmann             break;
744*ff0525f2SOliver-Rainer Wittmann         case 4:
745*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgLeft);
746*ff0525f2SOliver-Rainer Wittmann             break;
747*ff0525f2SOliver-Rainer Wittmann         case 5:
748*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgRight);
749*ff0525f2SOliver-Rainer Wittmann             break;
750*ff0525f2SOliver-Rainer Wittmann         default:
751*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumnNone);
752*ff0525f2SOliver-Rainer Wittmann         }
753*ff0525f2SOliver-Rainer Wittmann     }
754*ff0525f2SOliver-Rainer Wittmann     else
755*ff0525f2SOliver-Rainer Wittmann     {
756*ff0525f2SOliver-Rainer Wittmann         switch( nColumnType )
757*ff0525f2SOliver-Rainer Wittmann         {
758*ff0525f2SOliver-Rainer Wittmann         case 1:
759*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn1_L);
760*ff0525f2SOliver-Rainer Wittmann             break;
761*ff0525f2SOliver-Rainer Wittmann         case 2:
762*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn2_L);
763*ff0525f2SOliver-Rainer Wittmann             break;
764*ff0525f2SOliver-Rainer Wittmann         case 3:
765*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumn3_L);
766*ff0525f2SOliver-Rainer Wittmann             break;
767*ff0525f2SOliver-Rainer Wittmann         case 4:
768*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgLeft_L);
769*ff0525f2SOliver-Rainer Wittmann             break;
770*ff0525f2SOliver-Rainer Wittmann         case 5:
771*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgRight_L);
772*ff0525f2SOliver-Rainer Wittmann             break;
773*ff0525f2SOliver-Rainer Wittmann         default:
774*ff0525f2SOliver-Rainer Wittmann             mpToolBoxColumn->SetItemImage(TBI_COLUMN, mImgColumnNone_L);
775*ff0525f2SOliver-Rainer Wittmann         }
776*ff0525f2SOliver-Rainer Wittmann     }
777*ff0525f2SOliver-Rainer Wittmann }
778*ff0525f2SOliver-Rainer Wittmann 
779*ff0525f2SOliver-Rainer Wittmann } } // end of namespace ::sw::sidebar
780