xref: /aoo4110/main/cui/source/inc/page.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski #ifndef _SVX_PAGE_HXX
24*b1cdbd2cSJim Jagielski #define _SVX_PAGE_HXX
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #include <sfx2/tabdlg.hxx>
28*b1cdbd2cSJim Jagielski #include <vcl/field.hxx>
29*b1cdbd2cSJim Jagielski #include <vcl/fixed.hxx>
30*b1cdbd2cSJim Jagielski #include <vcl/group.hxx>
31*b1cdbd2cSJim Jagielski #include <vcl/lstbox.hxx>
32*b1cdbd2cSJim Jagielski #include <svtools/stdctrl.hxx>
33*b1cdbd2cSJim Jagielski #include <svx/pagectrl.hxx>
34*b1cdbd2cSJim Jagielski #include <svx/frmdirlbox.hxx>
35*b1cdbd2cSJim Jagielski #include <editeng/svxenum.hxx>
36*b1cdbd2cSJim Jagielski #include <i18npool/paper.hxx>
37*b1cdbd2cSJim Jagielski #include <svx/flagsdef.hxx>
38*b1cdbd2cSJim Jagielski 
39*b1cdbd2cSJim Jagielski // enum ------------------------------------------------------------------
40*b1cdbd2cSJim Jagielski 
41*b1cdbd2cSJim Jagielski //CHINA001 enum SvxModeType
42*b1cdbd2cSJim Jagielski //CHINA001 {
43*b1cdbd2cSJim Jagielski //CHINA001 	SVX_PAGE_MODE_STANDARD,
44*b1cdbd2cSJim Jagielski //CHINA001 	SVX_PAGE_MODE_CENTER,
45*b1cdbd2cSJim Jagielski //CHINA001 	SVX_PAGE_MODE_PRESENTATION
46*b1cdbd2cSJim Jagielski //CHINA001 };
47*b1cdbd2cSJim Jagielski 
48*b1cdbd2cSJim Jagielski // class SvxPageDescPage -------------------------------------------------
49*b1cdbd2cSJim Jagielski 
50*b1cdbd2cSJim Jagielski /*  {k:\svx\prototyp\dialog\page.bmp}
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski 	[Beschreibung]
53*b1cdbd2cSJim Jagielski 	TabPage zur Einstellung einer Seite (Groesse, Raender, ...)
54*b1cdbd2cSJim Jagielski 
55*b1cdbd2cSJim Jagielski 	[Items]
56*b1cdbd2cSJim Jagielski 	<SvxPageItem>:          <SID_ATTR_PAGE>
57*b1cdbd2cSJim Jagielski 	<SvxSizeItem>:          <SID_ATTR_SIZE>
58*b1cdbd2cSJim Jagielski 	<SvxSizeItem>:          <SID_ATTR_MAXSIZE>
59*b1cdbd2cSJim Jagielski 	<SvxULSpaceItem>:       <SID_ATTR_LRSPACE>
60*b1cdbd2cSJim Jagielski 	<SvxLRSpaceItem>:       <SID_ATTR_ULSPACE>
61*b1cdbd2cSJim Jagielski 	<SfxAllEnumItem>:       <SID_ATTR_PAPERTRAY>
62*b1cdbd2cSJim Jagielski 	<SvxPaperBinItem>:      <SID_ATTR_PAPERBIN>
63*b1cdbd2cSJim Jagielski 	<SvxBoolItem>:          <SID_ATTR_EXT1>
64*b1cdbd2cSJim Jagielski 	<SvxBoolItem>:          <SID_ATTR_EXT2>
65*b1cdbd2cSJim Jagielski 
66*b1cdbd2cSJim Jagielski 	<SfxSetItem>:           <SID_ATTR_HEADERSET>
67*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_ON>
68*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_DYNAMIC>
69*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_SHARED>
70*b1cdbd2cSJim Jagielski 		<SvxSizeItem>:          <SID_ATTR_SIZE>
71*b1cdbd2cSJim Jagielski 		<SvxULSpaceItem>:       <SID_ATTR_ULSPACE>
72*b1cdbd2cSJim Jagielski 		<SvxLRSpaceItem>:       <SID_ATTR_LRSPACE>
73*b1cdbd2cSJim Jagielski 
74*b1cdbd2cSJim Jagielski 	<SfxSetItem>:           <SID_ATTR_FOOTERSET>
75*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_ON>
76*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_DYNAMIC>
77*b1cdbd2cSJim Jagielski 		<SfxBoolItem>:          <SID_ATTR_SHARED>
78*b1cdbd2cSJim Jagielski 		<SvxSizeItem>:          <SID_ATTR_SIZE>
79*b1cdbd2cSJim Jagielski 		<SvxULSpaceItem>:       <SID_ATTR_ULSPACE>
80*b1cdbd2cSJim Jagielski 		<SvxLRSpaceItem>:       <SID_ATTR_LRSPACE>
81*b1cdbd2cSJim Jagielski */
82*b1cdbd2cSJim Jagielski 
83*b1cdbd2cSJim Jagielski struct	SvxPage_Impl;
84*b1cdbd2cSJim Jagielski typedef	sal_uInt16 MarginPosition;
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski class SvxPageDescPage : public SfxTabPage
87*b1cdbd2cSJim Jagielski {
88*b1cdbd2cSJim Jagielski 	using TabPage::ActivatePage;
89*b1cdbd2cSJim Jagielski 	using TabPage::DeactivatePage;
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski     // paper format
92*b1cdbd2cSJim Jagielski     FixedLine           aPaperSizeFl;
93*b1cdbd2cSJim Jagielski     FixedText           aPaperFormatText;
94*b1cdbd2cSJim Jagielski 	ListBox             aPaperSizeBox;
95*b1cdbd2cSJim Jagielski 
96*b1cdbd2cSJim Jagielski     FixedText           aPaperWidthText;
97*b1cdbd2cSJim Jagielski 	MetricField         aPaperWidthEdit;
98*b1cdbd2cSJim Jagielski 	FixedText           aPaperHeightText;
99*b1cdbd2cSJim Jagielski 	MetricField         aPaperHeightEdit;
100*b1cdbd2cSJim Jagielski 
101*b1cdbd2cSJim Jagielski     FixedText           aOrientationFT;
102*b1cdbd2cSJim Jagielski     RadioButton         aPortraitBtn;
103*b1cdbd2cSJim Jagielski 	RadioButton         aLandscapeBtn;
104*b1cdbd2cSJim Jagielski 
105*b1cdbd2cSJim Jagielski     SvxPageWindow       aBspWin;
106*b1cdbd2cSJim Jagielski 
107*b1cdbd2cSJim Jagielski     FixedText           		aTextFlowLbl;
108*b1cdbd2cSJim Jagielski     svx::FrameDirectionListBox	aTextFlowBox;
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski     FixedText           aPaperTrayLbl;
111*b1cdbd2cSJim Jagielski 	ListBox             aPaperTrayBox;
112*b1cdbd2cSJim Jagielski 
113*b1cdbd2cSJim Jagielski     // Margins
114*b1cdbd2cSJim Jagielski     FixedLine           aMarginFl;
115*b1cdbd2cSJim Jagielski     FixedText           aLeftMarginLbl;
116*b1cdbd2cSJim Jagielski 	MetricField         aLeftMarginEdit;
117*b1cdbd2cSJim Jagielski 	FixedText           aRightMarginLbl;
118*b1cdbd2cSJim Jagielski 	MetricField         aRightMarginEdit;
119*b1cdbd2cSJim Jagielski 	FixedText           aTopMarginLbl;
120*b1cdbd2cSJim Jagielski 	MetricField         aTopMarginEdit;
121*b1cdbd2cSJim Jagielski 	FixedText           aBottomMarginLbl;
122*b1cdbd2cSJim Jagielski 	MetricField         aBottomMarginEdit;
123*b1cdbd2cSJim Jagielski 
124*b1cdbd2cSJim Jagielski 	FixedLine           aBottomSeparatorFl;
125*b1cdbd2cSJim Jagielski     // layout settings
126*b1cdbd2cSJim Jagielski     FixedLine           aLayoutFL;
127*b1cdbd2cSJim Jagielski 	FixedText           aPageText;
128*b1cdbd2cSJim Jagielski     ListBox             aLayoutBox;
129*b1cdbd2cSJim Jagielski 	FixedText			aNumberFormatText;
130*b1cdbd2cSJim Jagielski     ListBox             aNumberFormatBox;
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski 
133*b1cdbd2cSJim Jagielski     //Extras Calc
134*b1cdbd2cSJim Jagielski     FixedText           aTblAlignFT;
135*b1cdbd2cSJim Jagielski     CheckBox            aHorzBox;
136*b1cdbd2cSJim Jagielski 	CheckBox            aVertBox;
137*b1cdbd2cSJim Jagielski 
138*b1cdbd2cSJim Jagielski     // Impress and Draw
139*b1cdbd2cSJim Jagielski 	CheckBox            aAdaptBox;
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski 	//Register Writer
142*b1cdbd2cSJim Jagielski 	CheckBox			aRegisterCB;
143*b1cdbd2cSJim Jagielski 	FixedText			aRegisterFT;
144*b1cdbd2cSJim Jagielski 	ListBox				aRegisterLB;
145*b1cdbd2cSJim Jagielski 
146*b1cdbd2cSJim Jagielski 	String				sStandardRegister;
147*b1cdbd2cSJim Jagielski 
148*b1cdbd2cSJim Jagielski 	String              aInsideText;
149*b1cdbd2cSJim Jagielski 	String              aOutsideText;
150*b1cdbd2cSJim Jagielski 	String              aLeftText;
151*b1cdbd2cSJim Jagielski 	String              aRightText;
152*b1cdbd2cSJim Jagielski 	String				aPrintRangeQueryText;
153*b1cdbd2cSJim Jagielski 
154*b1cdbd2cSJim Jagielski 	long				nFirstLeftMargin;
155*b1cdbd2cSJim Jagielski 	long				nFirstRightMargin;
156*b1cdbd2cSJim Jagielski 	long				nFirstTopMargin;
157*b1cdbd2cSJim Jagielski 	long				nFirstBottomMargin;
158*b1cdbd2cSJim Jagielski 	long				nLastLeftMargin;
159*b1cdbd2cSJim Jagielski 	long				nLastRightMargin;
160*b1cdbd2cSJim Jagielski 	long				nLastTopMargin;
161*b1cdbd2cSJim Jagielski 	long				nLastBottomMargin;
162*b1cdbd2cSJim Jagielski 
163*b1cdbd2cSJim Jagielski 	Size                aMaxSize;
164*b1cdbd2cSJim Jagielski 	sal_Bool                bLandscape;
165*b1cdbd2cSJim Jagielski 	FASTBOOL            bBorderModified;
166*b1cdbd2cSJim Jagielski 	SvxModeType         eMode;
167*b1cdbd2cSJim Jagielski 	Paper               ePaperStart;
168*b1cdbd2cSJim Jagielski 	Paper               ePaperEnd;
169*b1cdbd2cSJim Jagielski 
170*b1cdbd2cSJim Jagielski 	SvxPage_Impl*		pImpl;
171*b1cdbd2cSJim Jagielski 
172*b1cdbd2cSJim Jagielski #ifdef _SVX_PAGE_CXX
173*b1cdbd2cSJim Jagielski 	void                Init_Impl();
174*b1cdbd2cSJim Jagielski 	DECL_LINK( 			LayoutHdl_Impl, ListBox* );
175*b1cdbd2cSJim Jagielski 	DECL_LINK( 			PaperBinHdl_Impl, ListBox* );
176*b1cdbd2cSJim Jagielski 	DECL_LINK( 			SwapOrientation_Impl, RadioButton* );
177*b1cdbd2cSJim Jagielski 	void                SwapFirstValues_Impl( FASTBOOL bSet );
178*b1cdbd2cSJim Jagielski 	DECL_LINK( 			BorderModify_Impl, MetricField* );
179*b1cdbd2cSJim Jagielski 	void                InitHeadFoot_Impl( const SfxItemSet& rSet );
180*b1cdbd2cSJim Jagielski 	DECL_LINK( 			CenterHdl_Impl, CheckBox* );
181*b1cdbd2cSJim Jagielski     void                UpdateExample_Impl( bool bResetbackground = false );
182*b1cdbd2cSJim Jagielski 
183*b1cdbd2cSJim Jagielski 	// Papiergroesse
184*b1cdbd2cSJim Jagielski 	DECL_LINK(			PaperSizeSelect_Impl, ListBox* );
185*b1cdbd2cSJim Jagielski 	DECL_LINK(			PaperSizeModify_Impl, Edit* );
186*b1cdbd2cSJim Jagielski 
187*b1cdbd2cSJim Jagielski     DECL_LINK(			FrameDirectionModify_Impl, ListBox* );
188*b1cdbd2cSJim Jagielski 
189*b1cdbd2cSJim Jagielski     // Hintergrund
190*b1cdbd2cSJim Jagielski 	void                ResetBackground_Impl( const SfxItemSet& rSet );
191*b1cdbd2cSJim Jagielski 
192*b1cdbd2cSJim Jagielski 	// Grenzwerte
193*b1cdbd2cSJim Jagielski 	DECL_LINK(			RangeHdl_Impl, Edit* );
194*b1cdbd2cSJim Jagielski 	void                CalcMargin_Impl();
195*b1cdbd2cSJim Jagielski 
196*b1cdbd2cSJim Jagielski 	// Registerhaltigkeit
197*b1cdbd2cSJim Jagielski 	DECL_LINK(			RegisterModify, CheckBox * );
198*b1cdbd2cSJim Jagielski 
199*b1cdbd2cSJim Jagielski     // page direction
200*b1cdbd2cSJim Jagielski     /** Disables vertical page direction entries in the text flow listbox. */
201*b1cdbd2cSJim Jagielski     void                DisableVerticalPageDir();
202*b1cdbd2cSJim Jagielski 
203*b1cdbd2cSJim Jagielski 	bool				IsPrinterRangeOverflow( MetricField& rField, long nFirstMargin,
204*b1cdbd2cSJim Jagielski 												long nLastMargin, MarginPosition nPos );
205*b1cdbd2cSJim Jagielski 	void				CheckMarginEdits( bool _bClear );
206*b1cdbd2cSJim Jagielski 	bool				IsMarginOutOfRange();
207*b1cdbd2cSJim Jagielski #endif
208*b1cdbd2cSJim Jagielski 
209*b1cdbd2cSJim Jagielski 	SvxPageDescPage( Window* pParent, const SfxItemSet& rSet );
210*b1cdbd2cSJim Jagielski 
211*b1cdbd2cSJim Jagielski protected:
212*b1cdbd2cSJim Jagielski 	virtual void        ActivatePage( const SfxItemSet& rSet );
213*b1cdbd2cSJim Jagielski 	virtual int         DeactivatePage( SfxItemSet* pSet = 0 );
214*b1cdbd2cSJim Jagielski 
215*b1cdbd2cSJim Jagielski public:
216*b1cdbd2cSJim Jagielski 	static SfxTabPage*  Create( Window* pParent, const SfxItemSet& rSet );
217*b1cdbd2cSJim Jagielski 	static sal_uInt16*      GetRanges();
218*b1cdbd2cSJim Jagielski 
219*b1cdbd2cSJim Jagielski 	virtual sal_Bool        FillItemSet( SfxItemSet& rOutSet );
220*b1cdbd2cSJim Jagielski 	virtual void        Reset( const SfxItemSet& rSet );
221*b1cdbd2cSJim Jagielski 	virtual void        FillUserData();
222*b1cdbd2cSJim Jagielski 
223*b1cdbd2cSJim Jagielski 	virtual ~SvxPageDescPage();
224*b1cdbd2cSJim Jagielski 
SetMode(SvxModeType eMType)225*b1cdbd2cSJim Jagielski 	void                SetMode( SvxModeType eMType ) { eMode = eMType; }
SetPaperFormatRanges(Paper eStart,Paper eEnd)226*b1cdbd2cSJim Jagielski 	void                SetPaperFormatRanges( Paper eStart, Paper eEnd )
227*b1cdbd2cSJim Jagielski 							{ ePaperStart = eStart, ePaperEnd = eEnd; }
228*b1cdbd2cSJim Jagielski 
229*b1cdbd2cSJim Jagielski 	void				SetCollectionList(const List* pList);
230*b1cdbd2cSJim Jagielski 	virtual void		PageCreated (SfxAllItemSet aSet); //add CHINA001
231*b1cdbd2cSJim Jagielski };
232*b1cdbd2cSJim Jagielski 
233*b1cdbd2cSJim Jagielski #endif // #ifndef _SVX_PAGE_HXX
234*b1cdbd2cSJim Jagielski 
235