1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski #ifndef _DOCARY_HXX 24*b1cdbd2cSJim Jagielski #define _DOCARY_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #include <com/sun/star/i18n/ForbiddenCharacters.hpp> 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski class SwFieldType; 29*b1cdbd2cSJim Jagielski class SwFrmFmt; 30*b1cdbd2cSJim Jagielski class SwCharFmt; 31*b1cdbd2cSJim Jagielski class SwTOXType; 32*b1cdbd2cSJim Jagielski class SwUndo; 33*b1cdbd2cSJim Jagielski class SwSectionFmt; 34*b1cdbd2cSJim Jagielski class SwNumRule; 35*b1cdbd2cSJim Jagielski class SwRedline; 36*b1cdbd2cSJim Jagielski class SwUnoCrsr; 37*b1cdbd2cSJim Jagielski class SwOLENode; 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski namespace com { namespace sun { namespace star { namespace i18n { 40*b1cdbd2cSJim Jagielski struct ForbiddenCharacters; // comes from the I18N UNO interface 41*b1cdbd2cSJim Jagielski }}}} 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski #ifndef _TABLE_HXX //autogen 44*b1cdbd2cSJim Jagielski #include <tools/table.hxx> 45*b1cdbd2cSJim Jagielski #endif 46*b1cdbd2cSJim Jagielski #include <swtypes.hxx> 47*b1cdbd2cSJim Jagielski #include <svl/svarray.hxx> 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski typedef SwFieldType* SwFldTypePtr; 50*b1cdbd2cSJim Jagielski #define GROW_FLDTYPES 16 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski //PageDescriptor-Schnittstelle 53*b1cdbd2cSJim Jagielski //typedef SwPageDesc * SwPageDescPtr; 54*b1cdbd2cSJim Jagielski //SV_DECL_PTRARR_DEL(SwPageDescs, SwPageDescPtr,1,1); 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski typedef SwFrmFmt* SwFrmFmtPtr; 57*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL(SwFrmFmts,SwFrmFmtPtr,4,4) 58*b1cdbd2cSJim Jagielski 59*b1cdbd2cSJim Jagielski //Spezifische Frameformate (Rahmen, DrawObjecte) 60*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL(SwSpzFrmFmts,SwFrmFmtPtr,0,4) 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski typedef SwCharFmt* SwCharFmtPtr; 63*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL(SwCharFmts,SwCharFmtPtr,4,4) 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL( SwFldTypes, SwFldTypePtr, INIT_FLDTYPES, GROW_FLDTYPES ) 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski typedef SwTOXType* SwTOXTypePtr; 68*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL( SwTOXTypes, SwTOXTypePtr, 0, 1 ) 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski typedef SwSectionFmt* SwSectionFmtPtr; 71*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL(SwSectionFmts,SwSectionFmtPtr,0,4) 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski typedef SwNumRule* SwNumRulePtr; 75*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL_VISIBILITY( SwNumRuleTbl, SwNumRulePtr, 0, 5, SW_DLLPUBLIC ) 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski typedef SwRedline* SwRedlinePtr; 78*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_SORT_DEL( _SwRedlineTbl, SwRedlinePtr, 0, 16 ) 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski class SwRedlineTbl : private _SwRedlineTbl 81*b1cdbd2cSJim Jagielski { 82*b1cdbd2cSJim Jagielski public: SwRedlineTbl(sal_uInt8 nSize=0,sal_uInt8 nG=16)83*b1cdbd2cSJim Jagielski SwRedlineTbl( sal_uInt8 nSize = 0, sal_uInt8 nG = 16 ) 84*b1cdbd2cSJim Jagielski : _SwRedlineTbl( nSize, nG ) {} ~SwRedlineTbl()85*b1cdbd2cSJim Jagielski ~SwRedlineTbl() {} 86*b1cdbd2cSJim Jagielski SavePtrInArr(SwRedlinePtr p)87*b1cdbd2cSJim Jagielski sal_Bool SavePtrInArr( SwRedlinePtr p ) { return _SwRedlineTbl::Insert( p ); } 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim Jagielski sal_Bool Insert( SwRedlinePtr& p, sal_Bool bIns = sal_True ); 90*b1cdbd2cSJim Jagielski sal_Bool Insert( SwRedlinePtr& p, sal_uInt16& rInsPos, sal_Bool bIns = sal_True ); 91*b1cdbd2cSJim Jagielski sal_Bool InsertWithValidRanges( SwRedlinePtr& p, sal_uInt16* pInsPos = 0 ); 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski void Remove( sal_uInt16 nP, sal_uInt16 nL = 1 ); 94*b1cdbd2cSJim Jagielski void DeleteAndDestroy( sal_uInt16 nP, sal_uInt16 nL=1 ); 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski // suche den naechsten oder vorherigen Redline mit dergleichen Seq.No 97*b1cdbd2cSJim Jagielski // Mit dem Lookahead kann die Suche eingeschraenkt werden. 0 oder 98*b1cdbd2cSJim Jagielski // USHRT_MAX suchen im gesamten Array. 99*b1cdbd2cSJim Jagielski sal_uInt16 FindNextOfSeqNo( sal_uInt16 nSttPos, sal_uInt16 nLookahead = 20 ) const; 100*b1cdbd2cSJim Jagielski sal_uInt16 FindPrevOfSeqNo( sal_uInt16 nSttPos, sal_uInt16 nLookahead = 20 ) const; 101*b1cdbd2cSJim Jagielski sal_uInt16 FindNextSeqNo( sal_uInt16 nSeqNo, sal_uInt16 nSttPos, 102*b1cdbd2cSJim Jagielski sal_uInt16 nLookahead = 20 ) const; 103*b1cdbd2cSJim Jagielski sal_uInt16 FindPrevSeqNo( sal_uInt16 nSeqNo, sal_uInt16 nSttPos, 104*b1cdbd2cSJim Jagielski sal_uInt16 nLookahead = 20 ) const; 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski using _SwRedlineTbl::Count; 107*b1cdbd2cSJim Jagielski using _SwRedlineTbl::operator[]; 108*b1cdbd2cSJim Jagielski using _SwRedlineTbl::GetObject; 109*b1cdbd2cSJim Jagielski using _SwRedlineTbl::Seek_Entry; 110*b1cdbd2cSJim Jagielski using _SwRedlineTbl::GetPos; 111*b1cdbd2cSJim Jagielski }; 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski typedef SwUnoCrsr* SwUnoCrsrPtr; 114*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_DEL( SwUnoCrsrTbl, SwUnoCrsrPtr, 0, 4 ) 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski typedef SwOLENode* SwOLENodePtr; 117*b1cdbd2cSJim Jagielski SV_DECL_PTRARR(SwOLENodes,SwOLENodePtr,16,16) 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski #endif //_DOCARY_HXX 121*b1cdbd2cSJim Jagielski 122