Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : : #ifndef _OUTLINE_HXX
29 : : #define _OUTLINE_HXX
30 : :
31 : : #include <sfx2/tabdlg.hxx>
32 : :
33 : :
34 : : #include <vcl/menu.hxx>
35 : :
36 : : #include <vcl/button.hxx>
37 : : #include <svtools/stdctrl.hxx>
38 : :
39 : : #include <vcl/fixed.hxx>
40 : :
41 : : #include <vcl/lstbox.hxx>
42 : :
43 : : #include <vcl/edit.hxx>
44 : :
45 : : #include <vcl/field.hxx>
46 : :
47 : : #include "swtypes.hxx" //for MAXLEVEL
48 : : #include <numprevw.hxx>
49 : : #include <numberingtypelistbox.hxx>
50 : :
51 : : class SwWrtShell;
52 : : class SwNumRule;
53 : : class SwChapterNumRules;
54 : :
55 : : class SwOutlineTabDialog : public SfxTabDialog
56 : : {
57 : : static sal_uInt16 nNumLevel;
58 : :
59 : : String aNullStr;
60 : : String aCollNames[MAXLEVEL];
61 : : PopupMenu aFormMenu;
62 : :
63 : : SwWrtShell& rWrtSh;
64 : : SwNumRule* pNumRule;
65 : : SwChapterNumRules* pChapterNumRules;
66 : :
67 : : sal_Bool bModified : 1;
68 : :
69 : : protected:
70 : : DECL_LINK(CancelHdl, void *);
71 : : DECL_LINK( FormHdl, Button * );
72 : : DECL_LINK( MenuSelectHdl, Menu * );
73 : :
74 : : virtual void PageCreated(sal_uInt16 nPageId, SfxTabPage& rPage);
75 : : virtual short Ok();
76 : :
77 : : public:
78 : : SwOutlineTabDialog(Window* pParent,
79 : : const SfxItemSet* pSwItemSet,
80 : : SwWrtShell &);
81 : : ~SwOutlineTabDialog();
82 : :
83 : 0 : SwNumRule* GetNumRule() {return pNumRule;}
84 : : sal_uInt16 GetLevel(const String &rFmtName) const;
85 : 0 : String* GetCollNames() {return aCollNames;}
86 : :
87 : 0 : static sal_uInt16 GetActNumLevel() {return nNumLevel;}
88 : 0 : static void SetActNumLevel(sal_uInt16 nSet) {nNumLevel = nSet;}
89 : : };
90 : :
91 : : class SwOutlineSettingsTabPage : public SfxTabPage
92 : : {
93 : : FixedLine aLevelFL;
94 : : ListBox aLevelLB;
95 : :
96 : : FixedLine aNumberFL;
97 : : FixedText aCollLbl;
98 : : ListBox aCollBox;
99 : : FixedText aNumberLbl;
100 : : SwNumberingTypeListBox aNumberBox;
101 : : FixedText aCharFmtFT;
102 : : ListBox aCharFmtLB;
103 : : FixedText aAllLevelFT;
104 : : NumericField aAllLevelNF;
105 : : FixedText aDelim;
106 : : FixedText aPrefixFT;
107 : : Edit aPrefixED;
108 : : FixedText aSuffixFT;
109 : : Edit aSuffixED;
110 : : FixedText aStartLbl;
111 : : NumericField aStartEdit;
112 : : NumberingPreview aPreviewWIN;
113 : :
114 : : String aNoFmtName;
115 : : String aSaveCollNames[MAXLEVEL];
116 : : SwWrtShell* pSh;
117 : : SwNumRule* pNumRule;
118 : : String* pCollNames;
119 : : sal_uInt16 nActLevel;
120 : :
121 : : DECL_LINK( LevelHdl, ListBox * );
122 : : DECL_LINK( ToggleComplete, NumericField * );
123 : : DECL_LINK( CollSelect, ListBox * );
124 : : DECL_LINK(CollSelectGetFocus, void *);
125 : : DECL_LINK( NumberSelect, SwNumberingTypeListBox * );
126 : : DECL_LINK(DelimModify, void *);
127 : : DECL_LINK( StartModified, NumericField * );
128 : : DECL_LINK(CharFmtHdl, void *);
129 : :
130 : : void Update();
131 : :
132 : 0 : void SetModified(){aPreviewWIN.Invalidate();}
133 : : void CheckForStartValue_Impl(sal_uInt16 nNumberingType);
134 : :
135 : : using SfxTabPage::ActivatePage;
136 : : using SfxTabPage::DeactivatePage;
137 : :
138 : : public:
139 : : SwOutlineSettingsTabPage(Window* pParent, const SfxItemSet& rSet);
140 : : ~SwOutlineSettingsTabPage();
141 : :
142 : : void SetWrtShell(SwWrtShell* pShell);
143 : :
144 : : virtual void ActivatePage(const SfxItemSet& rSet);
145 : : virtual int DeactivatePage(SfxItemSet *pSet);
146 : :
147 : : virtual sal_Bool FillItemSet( SfxItemSet& rSet );
148 : : virtual void Reset( const SfxItemSet& rSet );
149 : : static SfxTabPage* Create( Window* pParent,
150 : : const SfxItemSet& rAttrSet);
151 : : };
152 : :
153 : : #endif
154 : :
155 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|