merged tag ooo/OOO330_m14
[LibreOffice.git] / sw / inc / chpfld.hxx
blob40f2f9ecf1d324b5e17bb371ac0742e19ef2e95d
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #ifndef _CHPFLD_HXX
28 #define _CHPFLD_HXX
30 #include "fldbas.hxx"
33 class SwFrm;
34 class SwCntntNode;
35 class SwTxtNode;
38 enum SwChapterFormat
40 CF_BEGIN,
41 CF_NUMBER = CF_BEGIN, // nur die Kapitelnummer
42 CF_TITLE, // nur die "Ueberschrift"
43 CF_NUM_TITLE, // Kapitelnummer und "Ueberschrift"
44 CF_NUMBER_NOPREPST, // nur die Kapitelnummer ohne Post/Prefix
45 CF_NUM_NOPREPST_TITLE, // Kapitelnummer ohne Post/Prefix und "Ueberschrift"
46 CF_END
49 /*--------------------------------------------------------------------
50 Beschreibung: Kapitel
51 --------------------------------------------------------------------*/
53 class SwChapterFieldType : public SwFieldType
55 public:
56 SwChapterFieldType();
58 virtual SwFieldType* Copy() const;
64 /*--------------------------------------------------------------------
65 Beschreibung: Kapitelnummer
66 --------------------------------------------------------------------*/
67 class SW_DLLPUBLIC SwChapterField : public SwField
69 friend class SwChapterFieldType;
70 BYTE nLevel;
71 String sTitle, sNumber, sPre, sPost;
72 public:
73 SwChapterField(SwChapterFieldType*, sal_uInt32 nFmt = 0);
75 // --> OD 2008-02-14 #i53420#
76 // void ChangeExpansion( const SwFrm*,
77 // const SwTxtNode*,
78 // BOOL bSrchNum = FALSE);
79 void ChangeExpansion( const SwFrm*,
80 const SwCntntNode*,
81 BOOL bSrchNum = FALSE);
82 // <--
83 void ChangeExpansion(const SwTxtNode &rNd, BOOL bSrchNum);
85 virtual String Expand() const;
86 virtual SwField* Copy() const;
88 inline BYTE GetLevel() const;
89 inline void SetLevel(BYTE);
91 inline const String& GetNumber() const;
92 inline const String& GetTitle() const;
93 virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
94 virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
97 inline BYTE SwChapterField::GetLevel() const { return nLevel; }
98 inline void SwChapterField::SetLevel(BYTE nLev) { nLevel = nLev; }
99 inline const String& SwChapterField::GetNumber() const { return sNumber; }
100 inline const String& SwChapterField::GetTitle() const { return sTitle; }
102 #endif // _CHPFLD_HXX