xref: /trunk/main/sw/source/ui/inc/outline.hxx (revision 1d2dbeb0)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef _OUTLINE_HXX
24 #define _OUTLINE_HXX
25 
26 #include <sfx2/tabdlg.hxx>
27 
28 
29 #include <vcl/menu.hxx>
30 
31 #ifndef _BUTTON_HXX //autogen
32 #include <vcl/button.hxx>
33 #endif
34 #include <svtools/stdctrl.hxx>
35 
36 #ifndef _FIXED_HXX //autogen
37 #include <vcl/fixed.hxx>
38 #endif
39 
40 #ifndef _LSTBOX_HXX //autogen
41 #include <vcl/lstbox.hxx>
42 #endif
43 
44 #ifndef _EDIT_HXX //autogen
45 #include <vcl/edit.hxx>
46 #endif
47 
48 #ifndef _FIELD_HXX //autogen
49 #include <vcl/field.hxx>
50 #endif
51 
52 #include "swtypes.hxx"		//fuer MAXLEVEL
53 #include <numprevw.hxx>
54 #include <numberingtypelistbox.hxx>
55 
56 class SwWrtShell;
57 class SwNumRule;
58 class SwChapterNumRules;
59 
60 /* -----------------07.07.98 13:38-------------------
61  *
62  * --------------------------------------------------*/
63 class SwOutlineTabDialog : public SfxTabDialog
64 {
65     static     sal_uInt16    nNumLevel;
66 
67     String              aNullStr;
68 	String				aCollNames[MAXLEVEL];
69 	PopupMenu			aFormMenu;
70 
71 	SwWrtShell&			rWrtSh;
72 	SwNumRule*			pNumRule;
73 	SwChapterNumRules*	pChapterNumRules;
74 
75     sal_Bool                bModified : 1;
76 
77 	protected:
78 	DECL_LINK( CancelHdl, Button * );
79 	DECL_LINK( FormHdl, Button * );
80 	DECL_LINK( MenuSelectHdl, Menu * );
81 
82 		virtual void 	PageCreated(sal_uInt16 nPageId, SfxTabPage& rPage);
83 		virtual short	Ok();
84 
85 	public:
86 		SwOutlineTabDialog(Window* pParent,
87 					const SfxItemSet* pSwItemSet,
88 					SwWrtShell &);
89 		~SwOutlineTabDialog();
90 
GetNumRule()91 	SwNumRule*			GetNumRule() {return pNumRule;}
92 	sal_uInt16 				GetLevel(const String &rFmtName) const;
GetCollNames()93 	String*				GetCollNames() {return aCollNames;}
94 
GetActNumLevel()95     static sal_uInt16       GetActNumLevel() {return nNumLevel;}
SetActNumLevel(sal_uInt16 nSet)96     static void         SetActNumLevel(sal_uInt16 nSet) {nNumLevel = nSet;}
97 };
98 /* -----------------07.07.98 13:47-------------------
99  *
100  * --------------------------------------------------*/
101 class SwOutlineSettingsTabPage : public SfxTabPage
102 {
103 	FixedLine       aLevelFL;
104 	ListBox			aLevelLB;
105 
106 	FixedLine        aNumberFL;
107 	FixedText		aCollLbl;
108 	ListBox 		aCollBox;
109 	FixedText		aNumberLbl;
110 	SwNumberingTypeListBox	aNumberBox;
111 	FixedText		aCharFmtFT;
112 	ListBox			aCharFmtLB;
113 	FixedText       aAllLevelFT;
114 	NumericField	aAllLevelNF;
115 	FixedText		aDelim;
116 	FixedText		aPrefixFT;
117 	Edit			aPrefixED;
118 	FixedText		aSuffixFT;
119 	Edit			aSuffixED;
120 	FixedText		aStartLbl;
121 	NumericField 	aStartEdit;
122 	NumberingPreview aPreviewWIN;
123 
124 	String				aNoFmtName;
125 	String				aSaveCollNames[MAXLEVEL];
126 	SwWrtShell*			pSh;
127 	SwNumRule*			pNumRule;
128 	String*				pCollNames;
129 	sal_uInt16 				nActLevel;
130 
131 	DECL_LINK( LevelHdl, ListBox * );
132 	DECL_LINK( ToggleComplete, NumericField * );
133 	DECL_LINK( CollSelect, ListBox * );
134 	DECL_LINK( CollSelectGetFocus, ListBox * );
135 	DECL_LINK( NumberSelect, SwNumberingTypeListBox * );
136 	DECL_LINK( DelimModify, Edit * );
137 	DECL_LINK( StartModified, NumericField * );
138 	DECL_LINK( CharFmtHdl, ListBox * );
139 
140 	void   	Update();
141 
SetModified()142 	void	SetModified(){aPreviewWIN.Invalidate();}
143     void    CheckForStartValue_Impl(sal_uInt16 nNumberingType);
144 
145     using SfxTabPage::ActivatePage;
146     using SfxTabPage::DeactivatePage;
147 
148 public:
149 	SwOutlineSettingsTabPage(Window* pParent, const SfxItemSet& rSet);
150 	~SwOutlineSettingsTabPage();
151 
152 	void SetWrtShell(SwWrtShell* pShell);
153 
154 	virtual void 		ActivatePage(const SfxItemSet& rSet);
155 	virtual int 		DeactivatePage(SfxItemSet *pSet);
156 
157     virtual	sal_Bool 		FillItemSet( SfxItemSet& rSet );
158 	virtual	void 		Reset( const SfxItemSet& rSet );
159 	static SfxTabPage*	Create( Window* pParent,
160 								const SfxItemSet& rAttrSet);
161 };
162 #endif
163