xref: /aoo4110/main/cui/source/inc/tabstpge.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_TABSTPGE_HXX
24*b1cdbd2cSJim Jagielski #define _SVX_TABSTPGE_HXX
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski // include ---------------------------------------------------------------
27*b1cdbd2cSJim Jagielski 
28*b1cdbd2cSJim Jagielski #include <vcl/group.hxx>
29*b1cdbd2cSJim Jagielski #include <vcl/edit.hxx>
30*b1cdbd2cSJim Jagielski #include <vcl/field.hxx>
31*b1cdbd2cSJim Jagielski #include <vcl/fixed.hxx>
32*b1cdbd2cSJim Jagielski #include <sfx2/tabdlg.hxx>
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski #include <editeng/tstpitem.hxx>
35*b1cdbd2cSJim Jagielski #include <svx/flagsdef.hxx>
36*b1cdbd2cSJim Jagielski 
37*b1cdbd2cSJim Jagielski // forward ---------------------------------------------------------------
38*b1cdbd2cSJim Jagielski 
39*b1cdbd2cSJim Jagielski class TabWin_Impl;
40*b1cdbd2cSJim Jagielski 
41*b1cdbd2cSJim Jagielski // define ----------------------------------------------------------------
42*b1cdbd2cSJim Jagielski 
43*b1cdbd2cSJim Jagielski // Bitfelder f"ur DisableControls()
44*b1cdbd2cSJim Jagielski //CHINA001 #define TABTYPE_LEFT		0x0001
45*b1cdbd2cSJim Jagielski //CHINA001 #define TABTYPE_RIGHT		0x0002
46*b1cdbd2cSJim Jagielski //CHINA001 #define TABTYPE_CENTER		0x0004
47*b1cdbd2cSJim Jagielski //CHINA001 #define TABTYPE_DEZIMAL		0x0008
48*b1cdbd2cSJim Jagielski //CHINA001 #define TABTYPE_ALL			0x000F
49*b1cdbd2cSJim Jagielski //CHINA001
50*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_NONE		0x0010
51*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_POINT		0x0020
52*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_DASHLINE		0x0040
53*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_SOLIDLINE	0x0080
54*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_SPECIAL		0x0100
55*b1cdbd2cSJim Jagielski //CHINA001 #define TABFILL_ALL			0x01F0
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski // class SvxTabulatorTabPage ---------------------------------------------
58*b1cdbd2cSJim Jagielski /*
59*b1cdbd2cSJim Jagielski 	{k:\svx\prototyp\dialog\tabstop.bmp}
60*b1cdbd2cSJim Jagielski 
61*b1cdbd2cSJim Jagielski 	[Beschreibung]
62*b1cdbd2cSJim Jagielski 	In dieser TabPage werden Tabulatoren verwaltet.
63*b1cdbd2cSJim Jagielski 
64*b1cdbd2cSJim Jagielski 	[Items]
65*b1cdbd2cSJim Jagielski 	<SvxTabStopItem><SID_ATTR_TABSTOP>
66*b1cdbd2cSJim Jagielski 	<SfxUInt16Item><SID_ATTR_TABSTOP_DEFAULTS>
67*b1cdbd2cSJim Jagielski 	<SfxUInt16Item><SID_ATTR_TABSTOP_POS>
68*b1cdbd2cSJim Jagielski 	<SfxInt32Item><SID_ATTR_TABSTOP_OFFSET>
69*b1cdbd2cSJim Jagielski */
70*b1cdbd2cSJim Jagielski 
71*b1cdbd2cSJim Jagielski class SvxTabulatorTabPage : public SfxTabPage
72*b1cdbd2cSJim Jagielski {
73*b1cdbd2cSJim Jagielski 	using TabPage::DeactivatePage;
74*b1cdbd2cSJim Jagielski 
75*b1cdbd2cSJim Jagielski public:
76*b1cdbd2cSJim Jagielski 	~SvxTabulatorTabPage();
77*b1cdbd2cSJim Jagielski 
78*b1cdbd2cSJim Jagielski 	static SfxTabPage* 	Create( Window* pParent, const SfxItemSet& rSet );
79*b1cdbd2cSJim Jagielski 	static sal_uInt16*		GetRanges();
80*b1cdbd2cSJim Jagielski 
81*b1cdbd2cSJim Jagielski 	virtual sal_Bool 		FillItemSet( SfxItemSet& rSet );
82*b1cdbd2cSJim Jagielski 	virtual void 		Reset( const SfxItemSet& rSet );
83*b1cdbd2cSJim Jagielski 
84*b1cdbd2cSJim Jagielski 	void				DisableControls( const sal_uInt16 nFlag );
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski protected:
87*b1cdbd2cSJim Jagielski 	virtual int			DeactivatePage( SfxItemSet* pSet = 0 );
88*b1cdbd2cSJim Jagielski 
89*b1cdbd2cSJim Jagielski private:
90*b1cdbd2cSJim Jagielski 	SvxTabulatorTabPage( Window* pParent, const SfxItemSet& rSet );
91*b1cdbd2cSJim Jagielski 
92*b1cdbd2cSJim Jagielski 	// Tabulatoren und Positionen
93*b1cdbd2cSJim Jagielski     FixedLine       aTabLabel;
94*b1cdbd2cSJim Jagielski 	MetricBox		aTabBox;
95*b1cdbd2cSJim Jagielski     FixedLine       aTabLabelVert;
96*b1cdbd2cSJim Jagielski 
97*b1cdbd2cSJim Jagielski     FixedLine       aTabTypeLabel;
98*b1cdbd2cSJim Jagielski 	// TabType
99*b1cdbd2cSJim Jagielski 	RadioButton		aLeftTab;
100*b1cdbd2cSJim Jagielski 	RadioButton		aRightTab;
101*b1cdbd2cSJim Jagielski 	RadioButton		aCenterTab;
102*b1cdbd2cSJim Jagielski 	RadioButton		aDezTab;
103*b1cdbd2cSJim Jagielski 
104*b1cdbd2cSJim Jagielski 	TabWin_Impl*	pLeftWin;
105*b1cdbd2cSJim Jagielski 	TabWin_Impl*	pRightWin;
106*b1cdbd2cSJim Jagielski 	TabWin_Impl*	pCenterWin;
107*b1cdbd2cSJim Jagielski 	TabWin_Impl*	pDezWin;
108*b1cdbd2cSJim Jagielski 
109*b1cdbd2cSJim Jagielski 	FixedText		aDezCharLabel;
110*b1cdbd2cSJim Jagielski 	Edit			aDezChar;
111*b1cdbd2cSJim Jagielski 
112*b1cdbd2cSJim Jagielski     FixedLine       aFillLabel;
113*b1cdbd2cSJim Jagielski 	// Fuellzeichen
114*b1cdbd2cSJim Jagielski 	RadioButton		aNoFillChar;
115*b1cdbd2cSJim Jagielski 	RadioButton		aFillPoints;
116*b1cdbd2cSJim Jagielski 	RadioButton		aFillDashLine ;
117*b1cdbd2cSJim Jagielski 	RadioButton		aFillSolidLine;
118*b1cdbd2cSJim Jagielski 	RadioButton		aFillSpecial;
119*b1cdbd2cSJim Jagielski 	Edit			aFillChar;
120*b1cdbd2cSJim Jagielski 	// Buttons
121*b1cdbd2cSJim Jagielski 	PushButton		aNewBtn;
122*b1cdbd2cSJim Jagielski 	PushButton		aDelAllBtn;
123*b1cdbd2cSJim Jagielski 	PushButton		aDelBtn;
124*b1cdbd2cSJim Jagielski 
125*b1cdbd2cSJim Jagielski 	// lokale Variablen, interne Funktionen
126*b1cdbd2cSJim Jagielski 	SvxTabStop     	aAktTab;
127*b1cdbd2cSJim Jagielski 	SvxTabStopItem	aNewTabs;
128*b1cdbd2cSJim Jagielski 	long			nDefDist;
129*b1cdbd2cSJim Jagielski 	FieldUnit		eDefUnit;
130*b1cdbd2cSJim Jagielski 	sal_Bool			bCheck;
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski #ifdef _SVX_TABSTPGE_CXX
133*b1cdbd2cSJim Jagielski 	void 			InitTabPos_Impl( sal_uInt16 nPos = 0 );
134*b1cdbd2cSJim Jagielski 	void 			SetFillAndTabType_Impl();
135*b1cdbd2cSJim Jagielski 
136*b1cdbd2cSJim Jagielski 	// Handler
137*b1cdbd2cSJim Jagielski 	DECL_LINK( NewHdl_Impl, Button* );
138*b1cdbd2cSJim Jagielski 	DECL_LINK( DelHdl_Impl, Button* );
139*b1cdbd2cSJim Jagielski 	DECL_LINK( DelAllHdl_Impl, Button* );
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski 	DECL_LINK( FillTypeCheckHdl_Impl, RadioButton* );
142*b1cdbd2cSJim Jagielski 	DECL_LINK( TabTypeCheckHdl_Impl, RadioButton* );
143*b1cdbd2cSJim Jagielski 
144*b1cdbd2cSJim Jagielski 	DECL_LINK( SelectHdl_Impl, MetricBox* );
145*b1cdbd2cSJim Jagielski 	DECL_LINK( ModifyHdl_Impl, MetricBox* );
146*b1cdbd2cSJim Jagielski 	DECL_LINK( GetFillCharHdl_Impl, Edit* );
147*b1cdbd2cSJim Jagielski 	DECL_LINK( GetDezCharHdl_Impl, Edit* );
148*b1cdbd2cSJim Jagielski #endif
149*b1cdbd2cSJim Jagielski 	virtual void 			PageCreated(SfxAllItemSet aSet); // add CHINA001
150*b1cdbd2cSJim Jagielski };
151*b1cdbd2cSJim Jagielski 
152*b1cdbd2cSJim Jagielski #endif // #ifndef _SVX_TABSTPGE_HXX
153*b1cdbd2cSJim Jagielski 
154*b1cdbd2cSJim Jagielski 
155