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