Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_sw / docary.hxx
blobc04949ac7eb4acb1cbd460a297a9a6326c8fe0a5
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: docary.hxx,v $
10 * $Revision: 1.10 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _DOCARY_HXX
31 #define _DOCARY_HXX
33 namespace binfilter {//STRIP009
34 class SwFieldType;
35 class SwFrmFmt;
36 class SwCharFmt;
37 class SwBookmark;
38 class SwTOXType;
39 class SwSectionFmt;
40 class SwNumRule;
41 class SwRedline;
42 class SwUnoCrsr;
43 class SwOLENode;
44 } //namespace binfilter
46 #ifdef sun
47 #undef sun
48 #endif
50 namespace com { namespace sun { namespace star { namespace i18n {
51 struct ForbiddenCharacters; // comes from the I18N UNO interface
52 }}}}
55 #ifndef _SWTYPES_HXX //autogen
56 #include <swtypes.hxx>
57 #endif
59 #ifndef _SVARRAY_HXX //autogen
60 #include <bf_svtools/svarray.hxx>
61 #endif
62 namespace binfilter {
64 typedef SwFieldType* SwFldTypePtr;
65 #define GROW_FLDTYPES 16
67 //PageDescriptor-Schnittstelle
68 //typedef SwPageDesc * SwPageDescPtr;
69 //SV_DECL_PTRARR_DEL(SwPageDescs, SwPageDescPtr,1,1)//STRIP008 ;
71 typedef SwFrmFmt* SwFrmFmtPtr;
72 SV_DECL_PTRARR_DEL(SwFrmFmts,SwFrmFmtPtr,4,4)
74 //Spezifische Frameformate (Rahmen, DrawObjecte)
75 SV_DECL_PTRARR_DEL(SwSpzFrmFmts,SwFrmFmtPtr,0,4)
77 typedef SwCharFmt* SwCharFmtPtr;
78 SV_DECL_PTRARR_DEL(SwCharFmts,SwCharFmtPtr,4,4)
80 SV_DECL_PTRARR_DEL( SwFldTypes, SwFldTypePtr, INIT_FLDTYPES, GROW_FLDTYPES )
82 //Bookmarks (nach Dokumentpositionen sortiertes Array)
83 typedef SwBookmark* SwBookmarkPtr;
84 SV_DECL_PTRARR_SORT(SwBookmarks, SwBookmarkPtr,0,1)
86 typedef SwTOXType* SwTOXTypePtr;
87 SV_DECL_PTRARR_DEL( SwTOXTypes, SwTOXTypePtr, 0, 1 )
89 typedef SwSectionFmt* SwSectionFmtPtr;
90 SV_DECL_PTRARR_DEL(SwSectionFmts,SwSectionFmtPtr,0,4)
93 typedef SwNumRule* SwNumRulePtr;
94 SV_DECL_PTRARR_DEL( SwNumRuleTbl, SwNumRulePtr, 0, 5 )
96 typedef SwRedline* SwRedlinePtr;
97 SV_DECL_PTRARR_SORT_DEL( _SwRedlineTbl, SwRedlinePtr, 0, 16 )
99 class SwRedlineTbl : private _SwRedlineTbl
101 public:
102 SwRedlineTbl( BYTE nSize = 0, BYTE nG = 16 )
103 : _SwRedlineTbl( nSize, nG ) {}
104 ~SwRedlineTbl() {}
106 BOOL SavePtrInArr( SwRedlinePtr p ) { return _SwRedlineTbl::Insert( p ); }
108 /*N*/ BOOL Insert( SwRedlinePtr& p, BOOL bIns = TRUE ); //SW50.SDW
109 /*N*/ BOOL InsertWithValidRanges( SwRedlinePtr& p, USHORT* pInsPos = 0 ); //SW50.SDW
111 /*N*/ void Remove( USHORT nP, USHORT nL = 1 ); //SW50.SDW
113 // suche den naechsten oder vorherigen Redline mit dergleichen Seq.No
114 // Mit dem Lookahead kann die Suche eingeschraenkt werden. 0 oder
115 // USHRT_MAX suchen im gesamten Array.
117 _SwRedlineTbl::Count;
118 _SwRedlineTbl::operator[];
119 _SwRedlineTbl::GetObject;
120 _SwRedlineTbl::Seek_Entry;
121 _SwRedlineTbl::GetPos;
124 typedef SwUnoCrsr* SwUnoCrsrPtr;
125 SV_DECL_PTRARR_DEL( SwUnoCrsrTbl, SwUnoCrsrPtr, 0, 4 )
127 typedef SwOLENode* SwOLENodePtr;
128 SV_DECL_PTRARR(SwOLENodes,SwOLENodePtr,16,16)
131 } //namespace binfilter
132 #endif //_DOCARY_HXX