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 ************************************************************************/
30 #ifndef _TABLE_HXX //autogen
31 #include <tools/table.hxx>
33 #include <swatrset.hxx>
46 // Basis-Klasse fuer alle Message-Hints:
47 // "Overhead" vom SfxPoolItem wird hier behandelt
48 class SwMsgPoolItem
: public SfxPoolItem
51 SwMsgPoolItem( USHORT nWhich
);
53 // "Overhead" vom SfxPoolItem
54 virtual int operator==( const SfxPoolItem
& ) const;
55 virtual SfxPoolItem
* Clone( SfxItemPool
* pPool
= 0 ) const;
59 // ---------------------------------------
60 // SwPtrMsgPoolItem (altes SwObjectDying!)
61 // ---------------------------------------
63 class SwPtrMsgPoolItem
: public SwMsgPoolItem
68 SwPtrMsgPoolItem( USHORT nId
, void * pObj
)
69 : SwMsgPoolItem( nId
), pObject( pObj
)
76 * SwFmtChg wird verschickt, wenn ein Format gegen ein anderes
77 * Format ausgewechselt worden ist. Es werden immer 2. Hints verschickt,
78 * das alte und neue Format.
80 class SwFmtChg
: public SwMsgPoolItem
84 SwFmtChg( SwFmt
*pFmt
);
88 class SwInsTxt
: public SwMsgPoolItem
94 SwInsTxt( xub_StrLen nP
, xub_StrLen nL
);
97 class SwDelChr
: public SwMsgPoolItem
102 SwDelChr( xub_StrLen nP
);
105 class SwDelTxt
: public SwMsgPoolItem
111 SwDelTxt( xub_StrLen nS
, xub_StrLen nL
);
114 class SwUpdateAttr
: public SwMsgPoolItem
120 SwUpdateAttr( xub_StrLen nS
, xub_StrLen nE
, USHORT nW
);
124 // SwRefMarkFldUpdate wird verschickt, wenn sich die ReferenzMarkierungen
125 // Updaten sollen. Um Seiten-/KapitelNummer feststellen zu koennen, muss
126 // der akt. Frame befragt werden. Dafuer wird das akt. OutputDevice benoetigt.
127 class SwRefMarkFldUpdate
: public SwMsgPoolItem
130 const OutputDevice
* pOut
; // Pointer auf das aktuelle Output-Device
131 SwRefMarkFldUpdate( const OutputDevice
* );
134 // SwDocPosUpdate wird verschickt, um zu signalisieren, dass nur die
135 // Frames ab oder bis zu einer bestimmten dokument-globalen Position
136 // geupdated werden brauchen. Zur Zeit wird dies nur beim Updaten
137 // von Seitennummernfeldern benoetigt.
139 class SwDocPosUpdate
: public SwMsgPoolItem
143 SwDocPosUpdate( const long nDocPos
);
146 // SwTableFmlUpdate wird verschickt, wenn sich die Tabelle neu berechnen soll
147 // JP 16.02.99: oder wenn die Tabelle selbst gemergt oder gesplittet wird
148 enum TableFmlUpdtFlags
{ TBL_CALC
= 0,
155 class SwTableFmlUpdate
: public SwMsgPoolItem
158 const SwTable
* pTbl
; // Pointer auf die zu aktuelle Tabelle
160 const SwTable
* pDelTbl
; // Merge: Ptr auf die zu loeschende Tabelle
161 const String
* pNewTblNm
; // Split: der Name der neuen Tabelle
164 USHORT nSplitLine
; // Split: ab dieser BaseLine wird gespl.
165 TableFmlUpdtFlags eFlags
;
167 BOOL bBehindSplitLine
: 1;
169 SwTableFmlUpdate( const SwTable
* );
173 class SwAutoFmtGetDocNode
: public SwMsgPoolItem
176 const SwCntntNode
* pCntntNode
;
177 const SwNodes
* pNodes
;
179 SwAutoFmtGetDocNode( const SwNodes
* pNds
);
183 * SwAttrSetChg wird verschicht, wenn sich in dem SwAttrSet rTheChgdSet
184 * etwas veraendert hat. Es werden immer 2. Hints
185 * verschickt, die alten und neuen Items in dem rTheChgdSet.
187 class SwAttrSetChg
: public SwMsgPoolItem
190 SwAttrSet
* pChgSet
; // was sich veraendert hat
191 const SwAttrSet
* pTheChgdSet
; // wird nur zum Vergleichen gebraucht !!
193 SwAttrSetChg( const SwAttrSet
& rTheSet
, SwAttrSet
& rSet
);
194 SwAttrSetChg( const SwAttrSetChg
& );
197 // was sich veraendert hat
198 const SwAttrSet
* GetChgSet() const { return pChgSet
; }
199 SwAttrSet
* GetChgSet() { return pChgSet
; }
201 // wo es sich geaendert hat
202 const SwAttrSet
* GetTheChgdSet() const { return pTheChgdSet
; }
204 USHORT
Count() const { return pChgSet
->Count(); }
205 void ClearItem( USHORT nWhichL
= 0 )
207 { pChgSet
->ClearItem( nWhichL
); }
213 class SwCondCollCondChg
: public SwMsgPoolItem
217 SwCondCollCondChg( SwFmt
*pFmt
);
220 class SwVirtPageNumInfo
: public SwMsgPoolItem
222 const SwPageFrm
*pPage
;
223 const SwPageFrm
*pOrigPage
;
224 const SwFrm
*pFrm
; //An einem Absatz/Tabelle koennen mehrere
225 //Attribute sitzen. Der Frame muss dann
226 //muss dann letztlich bei bestimmen
227 //welches Attribut gilt und um welche physikalische
228 //Seite es sich handelt.
230 SwVirtPageNumInfo( const SwPageFrm
*pPg
);
232 const SwPageFrm
*GetPage() { return pPage
; }
233 const SwPageFrm
*GetOrigPage() { return pOrigPage
;}
234 const SwFrm
*GetFrm() { return pFrm
; }
235 void SetInfo( const SwPageFrm
*pPg
,
236 const SwFrm
*pF
) { pFrm
= pF
, pPage
= pPg
; }
240 // --> OD 2008-02-19 #refactorlists#
241 //DECLARE_TABLE( SwTxtNodeTable, SwTxtNode* )
243 //class SwNumRuleInfo : public SwMsgPoolItem
245 // SwTxtNodeTable aList;
246 // const String& rName;
248 // SwNumRuleInfo( const String& rRuleName );
250 // const String& GetName() const { return rName; }
251 // void AddNode( SwTxtNode& rNd );
253 // // erzeuge die Liste aller Nodes der NumRule in dem angegebenem Doc
254 // // Der Code steht im docnum.cxx
256 // void MakeList( SwDoc& rDoc, BOOL bOutline = FALSE );
258 // const SwTxtNodeTable& GetTxtNodeList() const { return aList; }
262 class SwFindNearestNode
: public SwMsgPoolItem
264 const SwNode
*pNd
, *pFnd
;
266 SwFindNearestNode( const SwNode
& rNd
);
267 void CheckNode( const SwNode
& rNd
);
269 const SwNode
* GetFoundNode() const { return pFnd
; }
272 class SwStringMsgPoolItem
: public SwMsgPoolItem
277 const String
& GetString() const { return sStr
; }
279 SwStringMsgPoolItem( USHORT nId
, const String
& rStr
)
280 : SwMsgPoolItem( nId
), sStr( rStr
)