1*1d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1d2dbeb0SAndrew Rist * distributed with this work for additional information 6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations 18*1d2dbeb0SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*1d2dbeb0SAndrew Rist *************************************************************/ 21*1d2dbeb0SAndrew Rist 22*1d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef SW_TOX_HXX 24cdf0e10cSrcweir #define SW_TOX_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <cppuhelper/weakref.hxx> 27cdf0e10cSrcweir 28cdf0e10cSrcweir #include <i18npool/lang.h> 29cdf0e10cSrcweir #include <tools/string.hxx> 30cdf0e10cSrcweir 31cdf0e10cSrcweir #include <editeng/svxenum.hxx> 32cdf0e10cSrcweir #include <svl/svarray.hxx> 33cdf0e10cSrcweir #include <svl/poolitem.hxx> 34cdf0e10cSrcweir #include "swdllapi.h" 35cdf0e10cSrcweir #include <swtypes.hxx> 36cdf0e10cSrcweir #include <toxe.hxx> 37cdf0e10cSrcweir #include <calbck.hxx> 38cdf0e10cSrcweir #include <errhdl.hxx> 39cdf0e10cSrcweir 40cdf0e10cSrcweir #ifndef INCLUDED_VECTOR 41cdf0e10cSrcweir #include <vector> // #i21237# 42cdf0e10cSrcweir #define INCLUDED_VECTOR 43cdf0e10cSrcweir #endif 44cdf0e10cSrcweir 45cdf0e10cSrcweir 46cdf0e10cSrcweir namespace com { namespace sun { namespace star { 47cdf0e10cSrcweir namespace text { class XDocumentIndexMark; } 48cdf0e10cSrcweir } } } 49cdf0e10cSrcweir 50cdf0e10cSrcweir class SwTOXType; 51cdf0e10cSrcweir class SwTOXMark; 52cdf0e10cSrcweir class SwTxtTOXMark; 53cdf0e10cSrcweir class SwDoc; 54cdf0e10cSrcweir 55cdf0e10cSrcweir SV_DECL_PTRARR(SwTOXMarks, SwTOXMark*, 0, 10) 56cdf0e10cSrcweir 57cdf0e10cSrcweir /*-------------------------------------------------------------------- 58cdf0e10cSrcweir Description: Entry of content index, alphabetical index or user defined index 59cdf0e10cSrcweir --------------------------------------------------------------------*/ 60cdf0e10cSrcweir 61cdf0e10cSrcweir #define IVER_TOXMARK_STRPOOL ((sal_uInt16)1) 62cdf0e10cSrcweir #define IVER_TOXMARK_NEWTOX ((sal_uInt16)2) 63cdf0e10cSrcweir 64cdf0e10cSrcweir class SW_DLLPUBLIC SwTOXMark 65cdf0e10cSrcweir : public SfxPoolItem 66cdf0e10cSrcweir , public SwModify 67cdf0e10cSrcweir { 68cdf0e10cSrcweir friend void _InitCore(); 69cdf0e10cSrcweir friend class SwTxtTOXMark; 70cdf0e10cSrcweir 71cdf0e10cSrcweir String aAltText; // Der Text des Eintrages ist unterschiedlich 72cdf0e10cSrcweir String aPrimaryKey, aSecondaryKey; 73cdf0e10cSrcweir 74cdf0e10cSrcweir // three more strings for phonetic sorting 75cdf0e10cSrcweir String aTextReading; 76cdf0e10cSrcweir String aPrimaryKeyReading; 77cdf0e10cSrcweir String aSecondaryKeyReading; 78cdf0e10cSrcweir 79cdf0e10cSrcweir SwTxtTOXMark* pTxtAttr; 80cdf0e10cSrcweir 81cdf0e10cSrcweir sal_uInt16 nLevel; 82cdf0e10cSrcweir sal_Bool bAutoGenerated : 1; // generated using a concordance file 83cdf0e10cSrcweir sal_Bool bMainEntry : 1; // main entry emphasized by character style 84cdf0e10cSrcweir 85cdf0e10cSrcweir ::com::sun::star::uno::WeakReference< 86cdf0e10cSrcweir ::com::sun::star::text::XDocumentIndexMark> m_wXDocumentIndexMark; 87cdf0e10cSrcweir 88cdf0e10cSrcweir SwTOXMark(); // to create the dflt. atr. in _InitCore 89cdf0e10cSrcweir 90cdf0e10cSrcweir protected: 91cdf0e10cSrcweir // SwClient 92cdf0e10cSrcweir virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ); 93cdf0e10cSrcweir 94cdf0e10cSrcweir public: 95cdf0e10cSrcweir TYPEINFO(); // rtti 96cdf0e10cSrcweir 97cdf0e10cSrcweir // single argument ctors shall be explicit. 98cdf0e10cSrcweir explicit SwTOXMark( const SwTOXType* pTyp ); 99cdf0e10cSrcweir virtual ~SwTOXMark(); 100cdf0e10cSrcweir 101cdf0e10cSrcweir SwTOXMark( const SwTOXMark& rCopy ); 102cdf0e10cSrcweir SwTOXMark& operator=( const SwTOXMark& rCopy ); 103cdf0e10cSrcweir 104cdf0e10cSrcweir // "pure virtual methods" of SfxPoolItem 105cdf0e10cSrcweir virtual int operator==( const SfxPoolItem& ) const; 106cdf0e10cSrcweir virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; 107cdf0e10cSrcweir 108cdf0e10cSrcweir void InvalidateTOXMark(); 109cdf0e10cSrcweir 110cdf0e10cSrcweir String GetText() const; 111cdf0e10cSrcweir 112cdf0e10cSrcweir inline sal_Bool IsAlternativeText() const; 113cdf0e10cSrcweir inline const String& GetAlternativeText() const; 114cdf0e10cSrcweir 115cdf0e10cSrcweir inline void SetAlternativeText( const String& rAlt ); 116cdf0e10cSrcweir 117cdf0e10cSrcweir // content or user defined index 118cdf0e10cSrcweir inline void SetLevel(sal_uInt16 nLevel); 119cdf0e10cSrcweir inline sal_uInt16 GetLevel() const; 120cdf0e10cSrcweir 121cdf0e10cSrcweir // for alphabetical index only 122cdf0e10cSrcweir inline void SetPrimaryKey(const String& rStr ); 123cdf0e10cSrcweir inline void SetSecondaryKey(const String& rStr); 124cdf0e10cSrcweir inline void SetTextReading(const String& rStr); 125cdf0e10cSrcweir inline void SetPrimaryKeyReading(const String& rStr ); 126cdf0e10cSrcweir inline void SetSecondaryKeyReading(const String& rStr); 127cdf0e10cSrcweir 128cdf0e10cSrcweir inline const String& GetPrimaryKey() const; 129cdf0e10cSrcweir inline const String& GetSecondaryKey() const; 130cdf0e10cSrcweir inline const String& GetTextReading() const; 131cdf0e10cSrcweir inline const String& GetPrimaryKeyReading() const; 132cdf0e10cSrcweir inline const String& GetSecondaryKeyReading() const; 133cdf0e10cSrcweir 134cdf0e10cSrcweir sal_Bool IsAutoGenerated() const {return bAutoGenerated;} 135cdf0e10cSrcweir void SetAutoGenerated(sal_Bool bSet) {bAutoGenerated = bSet;} 136cdf0e10cSrcweir 137cdf0e10cSrcweir sal_Bool IsMainEntry() const {return bMainEntry;} 138cdf0e10cSrcweir void SetMainEntry(sal_Bool bSet) { bMainEntry = bSet;} 139cdf0e10cSrcweir 140cdf0e10cSrcweir inline const SwTOXType* GetTOXType() const; 141cdf0e10cSrcweir 142cdf0e10cSrcweir const SwTxtTOXMark* GetTxtTOXMark() const { return pTxtAttr; } 143cdf0e10cSrcweir SwTxtTOXMark* GetTxtTOXMark() { return pTxtAttr; } 144cdf0e10cSrcweir 145cdf0e10cSrcweir SW_DLLPRIVATE ::com::sun::star::uno::WeakReference< 146cdf0e10cSrcweir ::com::sun::star::text::XDocumentIndexMark> const& GetXTOXMark() const 147cdf0e10cSrcweir { return m_wXDocumentIndexMark; } 148cdf0e10cSrcweir SW_DLLPRIVATE void SetXTOXMark(::com::sun::star::uno::Reference< 149cdf0e10cSrcweir ::com::sun::star::text::XDocumentIndexMark> const& xMark) 150cdf0e10cSrcweir { m_wXDocumentIndexMark = xMark; } 151cdf0e10cSrcweir void DeRegister() { GetRegisteredInNonConst()->Remove( this ); } 152cdf0e10cSrcweir void RegisterToTOXType( SwTOXType& rMark ); 153cdf0e10cSrcweir static void InsertTOXMarks( SwTOXMarks& aMarks, const SwTOXType& rType ); 154cdf0e10cSrcweir }; 155cdf0e10cSrcweir 156cdf0e10cSrcweir /*-------------------------------------------------------------------- 157cdf0e10cSrcweir Description: index types 158cdf0e10cSrcweir --------------------------------------------------------------------*/ 159cdf0e10cSrcweir 160cdf0e10cSrcweir class SwTOXType : public SwModify 161cdf0e10cSrcweir { 162cdf0e10cSrcweir public: 163cdf0e10cSrcweir SwTOXType(TOXTypes eTyp, const String& aName); 164cdf0e10cSrcweir 165cdf0e10cSrcweir // @@@ public copy ctor, but no copy assignment? 166cdf0e10cSrcweir SwTOXType(const SwTOXType& rCopy); 167cdf0e10cSrcweir 168cdf0e10cSrcweir inline const String& GetTypeName() const; 169cdf0e10cSrcweir inline TOXTypes GetType() const; 170cdf0e10cSrcweir 171cdf0e10cSrcweir private: 172cdf0e10cSrcweir String aName; 173cdf0e10cSrcweir TOXTypes eType; 174cdf0e10cSrcweir 175cdf0e10cSrcweir // @@@ public copy ctor, but no copy assignment? 176cdf0e10cSrcweir SwTOXType & operator= (const SwTOXType &); 177cdf0e10cSrcweir }; 178cdf0e10cSrcweir 179cdf0e10cSrcweir /*-------------------------------------------------------------------- 180cdf0e10cSrcweir Description: Structure of the index lines 181cdf0e10cSrcweir --------------------------------------------------------------------*/ 182cdf0e10cSrcweir 183cdf0e10cSrcweir #define FORM_TITLE 0 184cdf0e10cSrcweir #define FORM_ALPHA_DELIMITTER 1 185cdf0e10cSrcweir #define FORM_PRIMARY_KEY 2 186cdf0e10cSrcweir #define FORM_SECONDARY_KEY 3 187cdf0e10cSrcweir #define FORM_ENTRY 4 188cdf0e10cSrcweir 189cdf0e10cSrcweir /* 190cdf0e10cSrcweir Pattern structure 191cdf0e10cSrcweir 192cdf0e10cSrcweir <E#> - entry number <E# CharStyleName,PoolId> 193cdf0e10cSrcweir <ET> - entry text <ET CharStyleName,PoolId> 194cdf0e10cSrcweir <E> - entry text and number <E CharStyleName,PoolId> 195cdf0e10cSrcweir <T> - tab stop <T,,Position,Adjust> 196cdf0e10cSrcweir <C> - chapter info n = {0, 1, 2, 3, 4 } values of SwChapterFormat <C CharStyleName,PoolId> 197cdf0e10cSrcweir <TX> - text token <X CharStyleName,PoolId, TOX_STYLE_DELIMITERTextContentTOX_STYLE_DELIMITER> 198cdf0e10cSrcweir <#> - Page number <# CharStyleName,PoolId> 199cdf0e10cSrcweir <LS> - Link start <LS> 200cdf0e10cSrcweir <LE> - Link end <LE> 201cdf0e10cSrcweir <A00> - Authority entry field <A02 CharStyleName, PoolId> 202cdf0e10cSrcweir */ 203cdf0e10cSrcweir 204cdf0e10cSrcweir // These enum values are stored and must not be changed! 205cdf0e10cSrcweir enum FormTokenType 206cdf0e10cSrcweir { 207cdf0e10cSrcweir TOKEN_ENTRY_NO, 208cdf0e10cSrcweir TOKEN_ENTRY_TEXT, 209cdf0e10cSrcweir TOKEN_ENTRY, 210cdf0e10cSrcweir TOKEN_TAB_STOP, 211cdf0e10cSrcweir TOKEN_TEXT, 212cdf0e10cSrcweir TOKEN_PAGE_NUMS, 213cdf0e10cSrcweir TOKEN_CHAPTER_INFO, 214cdf0e10cSrcweir TOKEN_LINK_START, 215cdf0e10cSrcweir TOKEN_LINK_END, 216cdf0e10cSrcweir TOKEN_AUTHORITY, 217cdf0e10cSrcweir TOKEN_END 218cdf0e10cSrcweir }; 219cdf0e10cSrcweir 220cdf0e10cSrcweir struct SW_DLLPUBLIC SwFormToken 221cdf0e10cSrcweir { 222cdf0e10cSrcweir String sText; 223cdf0e10cSrcweir String sCharStyleName; 224cdf0e10cSrcweir SwTwips nTabStopPosition; 225cdf0e10cSrcweir FormTokenType eTokenType; 226cdf0e10cSrcweir sal_uInt16 nPoolId; 227cdf0e10cSrcweir SvxTabAdjust eTabAlign; 228cdf0e10cSrcweir sal_uInt16 nChapterFormat; //SwChapterFormat; 229cdf0e10cSrcweir sal_uInt16 nOutlineLevel;//the maximum permitted outline level in numbering 230cdf0e10cSrcweir sal_uInt16 nAuthorityField; //enum ToxAuthorityField 231cdf0e10cSrcweir sal_Unicode cTabFillChar; 232cdf0e10cSrcweir sal_Bool bWithTab; // sal_True: do generate tab 233cdf0e10cSrcweir // character only the tab stop 234cdf0e10cSrcweir // #i21237# 235cdf0e10cSrcweir 236cdf0e10cSrcweir SwFormToken(FormTokenType eType ) : 237cdf0e10cSrcweir nTabStopPosition(0), 238cdf0e10cSrcweir eTokenType(eType), 239cdf0e10cSrcweir nPoolId(USHRT_MAX), 240cdf0e10cSrcweir eTabAlign( SVX_TAB_ADJUST_LEFT ), 241cdf0e10cSrcweir nChapterFormat(0 /*CF_NUMBER*/), 242cdf0e10cSrcweir nOutlineLevel(MAXLEVEL), //default to maximum outline level 243cdf0e10cSrcweir nAuthorityField(0 /*AUTH_FIELD_IDENTIFIER*/), 244cdf0e10cSrcweir cTabFillChar(' '), 245cdf0e10cSrcweir bWithTab(sal_True) // #i21237# 246cdf0e10cSrcweir {} 247cdf0e10cSrcweir 248cdf0e10cSrcweir String GetString() const; 249cdf0e10cSrcweir }; 250cdf0e10cSrcweir 251cdf0e10cSrcweir // -> #i21237# 252cdf0e10cSrcweir /** 253cdf0e10cSrcweir Functor that is true when a given token has a certain token type. 254cdf0e10cSrcweir 255cdf0e10cSrcweir @param _eType the type to check for 256cdf0e10cSrcweir @param rToken the token to check 257cdf0e10cSrcweir 258cdf0e10cSrcweir @retval sal_True the token has the given type 259cdf0e10cSrcweir @retval sal_False else 260cdf0e10cSrcweir */ 261cdf0e10cSrcweir struct SwFormTokenEqualToFormTokenType 262cdf0e10cSrcweir { 263cdf0e10cSrcweir FormTokenType eType; 264cdf0e10cSrcweir 265cdf0e10cSrcweir SwFormTokenEqualToFormTokenType(FormTokenType _eType) : eType(_eType) {} 266cdf0e10cSrcweir bool operator()(const SwFormToken & rToken) 267cdf0e10cSrcweir { 268cdf0e10cSrcweir return rToken.eTokenType == eType; 269cdf0e10cSrcweir } 270cdf0e10cSrcweir }; 271cdf0e10cSrcweir 272cdf0e10cSrcweir /** 273cdf0e10cSrcweir Functor that appends the string representation of a given token to a string. 274cdf0e10cSrcweir 275cdf0e10cSrcweir @param _rText string to append the string representation to 276cdf0e10cSrcweir @param rToken token whose string representation is appended 277cdf0e10cSrcweir */ 278cdf0e10cSrcweir struct SwFormTokenToString 279cdf0e10cSrcweir { 280cdf0e10cSrcweir String & rText; 281cdf0e10cSrcweir SwFormTokenToString(String & _rText) : rText(_rText) {} 282cdf0e10cSrcweir void operator()(const SwFormToken & rToken) { rText += rToken.GetString(); } 283cdf0e10cSrcweir }; 284cdf0e10cSrcweir 285cdf0e10cSrcweir /// Vector of tokens. 286cdf0e10cSrcweir typedef std::vector<SwFormToken> SwFormTokens; 287cdf0e10cSrcweir 288cdf0e10cSrcweir /** 289cdf0e10cSrcweir Helper class that converts vectors of tokens to strings and vice 290cdf0e10cSrcweir versa. 291cdf0e10cSrcweir */ 292cdf0e10cSrcweir class SW_DLLPUBLIC SwFormTokensHelper 293cdf0e10cSrcweir { 294cdf0e10cSrcweir /// the tokens 295cdf0e10cSrcweir SwFormTokens aTokens; 296cdf0e10cSrcweir 297cdf0e10cSrcweir /** 298cdf0e10cSrcweir Builds a token from its string representation. 299cdf0e10cSrcweir 300cdf0e10cSrcweir @sPattern the whole pattern 301cdf0e10cSrcweir @nCurPatternPos starting position of the token 302cdf0e10cSrcweir 303cdf0e10cSrcweir @return the token 304cdf0e10cSrcweir */ 305cdf0e10cSrcweir SW_DLLPRIVATE SwFormToken BuildToken( const String & sPattern, 306cdf0e10cSrcweir xub_StrLen & nCurPatternPos ) const; 307cdf0e10cSrcweir 308cdf0e10cSrcweir /** 309cdf0e10cSrcweir Returns the string of a token. 310cdf0e10cSrcweir 311cdf0e10cSrcweir @param sPattern the whole pattern 312cdf0e10cSrcweir @param nStt starting position of the token 313cdf0e10cSrcweir 314cdf0e10cSrcweir @return the string representation of the token 315cdf0e10cSrcweir */ 316cdf0e10cSrcweir SW_DLLPRIVATE String SearchNextToken( const String & sPattern, 317cdf0e10cSrcweir xub_StrLen nStt ) const; 318cdf0e10cSrcweir 319cdf0e10cSrcweir /** 320cdf0e10cSrcweir Returns the type of a token. 321cdf0e10cSrcweir 322cdf0e10cSrcweir @param sToken the string representation of the token 323cdf0e10cSrcweir @param pTokenLen return parameter the length of the head of the token 324cdf0e10cSrcweir 325cdf0e10cSrcweir If pTokenLen is non-NULL the length of the token's head is 326cdf0e10cSrcweir written to *pTokenLen 327cdf0e10cSrcweir 328cdf0e10cSrcweir @return the type of the token 329cdf0e10cSrcweir */ 330cdf0e10cSrcweir SW_DLLPRIVATE FormTokenType GetTokenType(const String & sToken, 331cdf0e10cSrcweir xub_StrLen * pTokenLen) const; 332cdf0e10cSrcweir 333cdf0e10cSrcweir public: 334cdf0e10cSrcweir /** 335cdf0e10cSrcweir contructor 336cdf0e10cSrcweir 337cdf0e10cSrcweir @param rTokens vector of tokens 338cdf0e10cSrcweir */ 339cdf0e10cSrcweir SwFormTokensHelper(const SwFormTokens & rTokens) : aTokens(rTokens) {} 340cdf0e10cSrcweir 341cdf0e10cSrcweir /** 342cdf0e10cSrcweir constructor 343cdf0e10cSrcweir 344cdf0e10cSrcweir @param rStr string representation of the tokens 345cdf0e10cSrcweir */ 346cdf0e10cSrcweir SwFormTokensHelper(const String & rStr); 347cdf0e10cSrcweir 348cdf0e10cSrcweir /** 349cdf0e10cSrcweir Returns vector of tokens. 350cdf0e10cSrcweir 351cdf0e10cSrcweir @return vector of tokens 352cdf0e10cSrcweir */ 353cdf0e10cSrcweir const SwFormTokens & GetTokens() const { return aTokens; } 354cdf0e10cSrcweir }; 355cdf0e10cSrcweir // <- #i21237# 356cdf0e10cSrcweir 357cdf0e10cSrcweir class SW_DLLPUBLIC SwForm 358cdf0e10cSrcweir { 359cdf0e10cSrcweir SwFormTokens aPattern[ AUTH_TYPE_END + 1 ]; // #i21237# 360cdf0e10cSrcweir String aTemplate[ AUTH_TYPE_END + 1 ]; 361cdf0e10cSrcweir 362cdf0e10cSrcweir TOXTypes eType; 363cdf0e10cSrcweir sal_uInt16 nFormMaxLevel; 364cdf0e10cSrcweir 365cdf0e10cSrcweir //sal_uInt16 nFirstTabPos; -> Value in tab token 366cdf0e10cSrcweir // sal_Bool bHasFirstTabPos : 1; 367cdf0e10cSrcweir sal_Bool bGenerateTabPos : 1; 368cdf0e10cSrcweir sal_Bool bIsRelTabPos : 1; 369cdf0e10cSrcweir sal_Bool bCommaSeparated : 1; 370cdf0e10cSrcweir 371cdf0e10cSrcweir public: 372cdf0e10cSrcweir SwForm( TOXTypes eTOXType = TOX_CONTENT ); 373cdf0e10cSrcweir SwForm( const SwForm& rForm ); 374cdf0e10cSrcweir 375cdf0e10cSrcweir SwForm& operator=( const SwForm& rForm ); 376cdf0e10cSrcweir 377cdf0e10cSrcweir inline void SetTemplate(sal_uInt16 nLevel, const String& rName); 378cdf0e10cSrcweir inline const String& GetTemplate(sal_uInt16 nLevel) const; 379cdf0e10cSrcweir 380cdf0e10cSrcweir // #i21237# 381cdf0e10cSrcweir void SetPattern(sal_uInt16 nLevel, const SwFormTokens& rName); 382cdf0e10cSrcweir void SetPattern(sal_uInt16 nLevel, const String& rStr); 383cdf0e10cSrcweir const SwFormTokens& GetPattern(sal_uInt16 nLevel) const; 384cdf0e10cSrcweir 385cdf0e10cSrcweir // fill tab stop positions from template to pattern 386cdf0e10cSrcweir // #i21237# 387cdf0e10cSrcweir void AdjustTabStops(SwDoc& rDoc, 388cdf0e10cSrcweir sal_Bool bInsertNewTabStops = sal_False); 389cdf0e10cSrcweir 390cdf0e10cSrcweir inline TOXTypes GetTOXType() const; 391cdf0e10cSrcweir inline sal_uInt16 GetFormMax() const; 392cdf0e10cSrcweir 393cdf0e10cSrcweir sal_Bool IsRelTabPos() const { return bIsRelTabPos; } 394cdf0e10cSrcweir void SetRelTabPos( sal_Bool b ) { bIsRelTabPos = b; } 395cdf0e10cSrcweir 396cdf0e10cSrcweir sal_Bool IsCommaSeparated() const { return bCommaSeparated;} 397cdf0e10cSrcweir void SetCommaSeparated( sal_Bool b) { bCommaSeparated = b;} 398cdf0e10cSrcweir 399cdf0e10cSrcweir static sal_uInt16 GetFormMaxLevel( TOXTypes eType ); 400cdf0e10cSrcweir 401cdf0e10cSrcweir static const sal_Char* aFormEntry; // <E> 402cdf0e10cSrcweir static sal_uInt8 nFormEntryLen; // 3 characters 403cdf0e10cSrcweir static const sal_Char* aFormTab; // <T> 404cdf0e10cSrcweir static sal_uInt8 nFormTabLen; // 3 characters 405cdf0e10cSrcweir static const sal_Char* aFormPageNums; // <P> 406cdf0e10cSrcweir static sal_uInt8 nFormPageNumsLen; // 3 characters 407cdf0e10cSrcweir static const sal_Char* aFormLinkStt; // <LS> 408cdf0e10cSrcweir static sal_uInt8 nFormLinkSttLen; // 4 characters 409cdf0e10cSrcweir static const sal_Char* aFormLinkEnd; // <LE> 410cdf0e10cSrcweir static sal_uInt8 nFormLinkEndLen; // 4 characters 411cdf0e10cSrcweir static const sal_Char* aFormEntryNum; // <E#> 412cdf0e10cSrcweir static sal_uInt8 nFormEntryNumLen; // 4 characters 413cdf0e10cSrcweir static const sal_Char* aFormEntryTxt; // <ET> 414cdf0e10cSrcweir static sal_uInt8 nFormEntryTxtLen; // 4 characters 415cdf0e10cSrcweir static const sal_Char* aFormChapterMark; // <C> 416cdf0e10cSrcweir static sal_uInt8 nFormChapterMarkLen; // 3 characters 417cdf0e10cSrcweir static const sal_Char* aFormText; // <TX> 418cdf0e10cSrcweir static sal_uInt8 nFormTextLen; // 4 characters 419cdf0e10cSrcweir static const sal_Char* aFormAuth; // <Axx> xx - decimal enum value 420cdf0e10cSrcweir static sal_uInt8 nFormAuthLen; // 3 characters 421cdf0e10cSrcweir }; 422cdf0e10cSrcweir 423cdf0e10cSrcweir /*-------------------------------------------------------------------- 424cdf0e10cSrcweir Description: Content to create indexes of 425cdf0e10cSrcweir --------------------------------------------------------------------*/ 426cdf0e10cSrcweir 427cdf0e10cSrcweir typedef sal_uInt16 SwTOXElement; 428cdf0e10cSrcweir namespace nsSwTOXElement 429cdf0e10cSrcweir { 430cdf0e10cSrcweir const SwTOXElement TOX_MARK = 1; 431cdf0e10cSrcweir const SwTOXElement TOX_OUTLINELEVEL = 2; 432cdf0e10cSrcweir const SwTOXElement TOX_TEMPLATE = 4; 433cdf0e10cSrcweir const SwTOXElement TOX_OLE = 8; 434cdf0e10cSrcweir const SwTOXElement TOX_TABLE = 16; 435cdf0e10cSrcweir const SwTOXElement TOX_GRAPHIC = 32; 436cdf0e10cSrcweir const SwTOXElement TOX_FRAME = 64; 437cdf0e10cSrcweir const SwTOXElement TOX_SEQUENCE = 128; 438cdf0e10cSrcweir } 439cdf0e10cSrcweir 440cdf0e10cSrcweir typedef sal_uInt16 SwTOIOptions; 441cdf0e10cSrcweir namespace nsSwTOIOptions 442cdf0e10cSrcweir { 443cdf0e10cSrcweir const SwTOIOptions TOI_SAME_ENTRY = 1; 444cdf0e10cSrcweir const SwTOIOptions TOI_FF = 2; 445cdf0e10cSrcweir const SwTOIOptions TOI_CASE_SENSITIVE = 4; 446cdf0e10cSrcweir const SwTOIOptions TOI_KEY_AS_ENTRY = 8; 447cdf0e10cSrcweir const SwTOIOptions TOI_ALPHA_DELIMITTER = 16; 448cdf0e10cSrcweir const SwTOIOptions TOI_DASH = 32; 449cdf0e10cSrcweir const SwTOIOptions TOI_INITIAL_CAPS = 64; 450cdf0e10cSrcweir } 451cdf0e10cSrcweir 452cdf0e10cSrcweir //which part of the caption is to be displayed 453cdf0e10cSrcweir enum SwCaptionDisplay 454cdf0e10cSrcweir { 455cdf0e10cSrcweir CAPTION_COMPLETE, 456cdf0e10cSrcweir CAPTION_NUMBER, 457cdf0e10cSrcweir CAPTION_TEXT 458cdf0e10cSrcweir }; 459cdf0e10cSrcweir 460cdf0e10cSrcweir typedef sal_uInt16 SwTOOElements; 461cdf0e10cSrcweir namespace nsSwTOOElements 462cdf0e10cSrcweir { 463cdf0e10cSrcweir const SwTOOElements TOO_MATH = 0x01; 464cdf0e10cSrcweir const SwTOOElements TOO_CHART = 0x02; 465cdf0e10cSrcweir const SwTOOElements TOO_CALC = 0x08; 466cdf0e10cSrcweir const SwTOOElements TOO_DRAW_IMPRESS = 0x10; 467cdf0e10cSrcweir // const SwTOOElements TOO_IMPRESS = 0x20; 468cdf0e10cSrcweir const SwTOOElements TOO_OTHER = 0x80; 469cdf0e10cSrcweir } 470cdf0e10cSrcweir 471cdf0e10cSrcweir #define TOX_STYLE_DELIMITER ((sal_Unicode)0x01) //JP 19.07.00: use a control char 472cdf0e10cSrcweir 473cdf0e10cSrcweir /*-------------------------------------------------------------------- 474cdf0e10cSrcweir Description: Class for all indexes 475cdf0e10cSrcweir --------------------------------------------------------------------*/ 476cdf0e10cSrcweir 477cdf0e10cSrcweir class SW_DLLPUBLIC SwTOXBase : public SwClient 478cdf0e10cSrcweir { 479cdf0e10cSrcweir SwForm aForm; // description of the lines 480cdf0e10cSrcweir String aName; // unique name 481cdf0e10cSrcweir String aTitle; // title 482cdf0e10cSrcweir 483cdf0e10cSrcweir String sMainEntryCharStyle; // name of the character style applied to main index entries 484cdf0e10cSrcweir 485cdf0e10cSrcweir String aStyleNames[MAXLEVEL]; // (additional) style names TOX_CONTENT, TOX_USER 486cdf0e10cSrcweir String sSequenceName; // FieldTypeName of a caption sequence 487cdf0e10cSrcweir 488cdf0e10cSrcweir LanguageType eLanguage; 489cdf0e10cSrcweir String sSortAlgorithm; 490cdf0e10cSrcweir 491cdf0e10cSrcweir union { 492cdf0e10cSrcweir sal_uInt16 nLevel; // consider outline levels 493cdf0e10cSrcweir sal_uInt16 nOptions; // options of alphabetical index 494cdf0e10cSrcweir } aData; 495cdf0e10cSrcweir 496cdf0e10cSrcweir sal_uInt16 nCreateType; // sources to create the index from 497cdf0e10cSrcweir sal_uInt16 nOLEOptions; // OLE sources 498cdf0e10cSrcweir SwCaptionDisplay eCaptionDisplay; // 499cdf0e10cSrcweir sal_Bool bProtected : 1; // index protected ? 500cdf0e10cSrcweir sal_Bool bFromChapter : 1; // create from chapter or document 501cdf0e10cSrcweir sal_Bool bFromObjectNames : 1; // create a table or object index 502cdf0e10cSrcweir // from the names rather than the caption 503cdf0e10cSrcweir sal_Bool bLevelFromChapter : 1; // User index: get the level from the source chapter 504cdf0e10cSrcweir public: 505cdf0e10cSrcweir SwTOXBase( const SwTOXType* pTyp, const SwForm& rForm, 506cdf0e10cSrcweir sal_uInt16 nCreaType, const String& rTitle ); 507cdf0e10cSrcweir SwTOXBase( const SwTOXBase& rCopy, SwDoc* pDoc = 0 ); 508cdf0e10cSrcweir virtual ~SwTOXBase(); 509cdf0e10cSrcweir 510cdf0e10cSrcweir virtual sal_Bool GetInfo( SfxPoolItem& rInfo ) const; 511cdf0e10cSrcweir 512cdf0e10cSrcweir // a kind of CopyCtor - check if the TOXBase is at TOXType of the doc. 513cdf0e10cSrcweir // If not, so create it an copy all other used things. The return is this 514cdf0e10cSrcweir SwTOXBase& CopyTOXBase( SwDoc*, const SwTOXBase& ); 515cdf0e10cSrcweir 516cdf0e10cSrcweir const SwTOXType* GetTOXType() const; // 517cdf0e10cSrcweir 518cdf0e10cSrcweir sal_uInt16 GetCreateType() const; // creation types 519cdf0e10cSrcweir 520cdf0e10cSrcweir const String& GetTOXName() const {return aName;} 521cdf0e10cSrcweir void SetTOXName(const String& rSet) {aName = rSet;} 522cdf0e10cSrcweir 523cdf0e10cSrcweir const String& GetTitle() const; // Title 524cdf0e10cSrcweir const String& GetTypeName() const; // Name 525cdf0e10cSrcweir const SwForm& GetTOXForm() const; // description of the lines 526cdf0e10cSrcweir 527cdf0e10cSrcweir void SetCreate(sal_uInt16); 528cdf0e10cSrcweir void SetTitle(const String& rTitle); 529cdf0e10cSrcweir void SetTOXForm(const SwForm& rForm); 530cdf0e10cSrcweir 531cdf0e10cSrcweir TOXTypes GetType() const; 532cdf0e10cSrcweir 533cdf0e10cSrcweir const String& GetMainEntryCharStyle() const {return sMainEntryCharStyle;} 534cdf0e10cSrcweir void SetMainEntryCharStyle(const String& rSet) {sMainEntryCharStyle = rSet;} 535cdf0e10cSrcweir 536cdf0e10cSrcweir // content index only 537cdf0e10cSrcweir inline void SetLevel(sal_uInt16); // consider outline level 538cdf0e10cSrcweir inline sal_uInt16 GetLevel() const; 539cdf0e10cSrcweir 540cdf0e10cSrcweir // alphabetical index only 541cdf0e10cSrcweir inline sal_uInt16 GetOptions() const; // alphabetical index options 542cdf0e10cSrcweir inline void SetOptions(sal_uInt16 nOpt); 543cdf0e10cSrcweir 544cdf0e10cSrcweir // index of objects 545cdf0e10cSrcweir sal_uInt16 GetOLEOptions() const {return nOLEOptions;} 546cdf0e10cSrcweir void SetOLEOptions(sal_uInt16 nOpt) {nOLEOptions = nOpt;} 547cdf0e10cSrcweir 548cdf0e10cSrcweir // index of objects 549cdf0e10cSrcweir 550cdf0e10cSrcweir // user defined index only 551cdf0e10cSrcweir inline void SetTemplateName(const String& rName); // Absatzlayout beachten 552cdf0e10cSrcweir 553cdf0e10cSrcweir const String& GetStyleNames(sal_uInt16 nLevel) const 554cdf0e10cSrcweir { 555cdf0e10cSrcweir DBG_ASSERT( nLevel < MAXLEVEL, "Which level?"); 556cdf0e10cSrcweir return aStyleNames[nLevel]; 557cdf0e10cSrcweir } 558cdf0e10cSrcweir void SetStyleNames(const String& rSet, sal_uInt16 nLevel) 559cdf0e10cSrcweir { 560cdf0e10cSrcweir DBG_ASSERT( nLevel < MAXLEVEL, "Which level?"); 561cdf0e10cSrcweir aStyleNames[nLevel] = rSet; 562cdf0e10cSrcweir } 563cdf0e10cSrcweir sal_Bool IsFromChapter() const { return bFromChapter;} 564cdf0e10cSrcweir void SetFromChapter(sal_Bool bSet) { bFromChapter = bSet;} 565cdf0e10cSrcweir 566cdf0e10cSrcweir sal_Bool IsFromObjectNames() const {return bFromObjectNames;} 567cdf0e10cSrcweir void SetFromObjectNames(sal_Bool bSet) {bFromObjectNames = bSet;} 568cdf0e10cSrcweir 569cdf0e10cSrcweir sal_Bool IsLevelFromChapter() const {return bLevelFromChapter;} 570cdf0e10cSrcweir void SetLevelFromChapter(sal_Bool bSet) {bLevelFromChapter = bSet;} 571cdf0e10cSrcweir 572cdf0e10cSrcweir sal_Bool IsProtected() const { return bProtected; } 573cdf0e10cSrcweir void SetProtected(sal_Bool bSet) { bProtected = bSet; } 574cdf0e10cSrcweir 575cdf0e10cSrcweir const String& GetSequenceName() const {return sSequenceName;} 576cdf0e10cSrcweir void SetSequenceName(const String& rSet) {sSequenceName = rSet;} 577cdf0e10cSrcweir 578cdf0e10cSrcweir SwCaptionDisplay GetCaptionDisplay() const { return eCaptionDisplay;} 579cdf0e10cSrcweir void SetCaptionDisplay(SwCaptionDisplay eSet) {eCaptionDisplay = eSet;} 580cdf0e10cSrcweir 581cdf0e10cSrcweir sal_Bool IsTOXBaseInReadonly() const; 582cdf0e10cSrcweir 583cdf0e10cSrcweir const SfxItemSet* GetAttrSet() const; 584cdf0e10cSrcweir void SetAttrSet( const SfxItemSet& ); 585cdf0e10cSrcweir 586cdf0e10cSrcweir LanguageType GetLanguage() const {return eLanguage;} 587cdf0e10cSrcweir void SetLanguage(LanguageType nLang) {eLanguage = nLang;} 588cdf0e10cSrcweir 589cdf0e10cSrcweir const String& GetSortAlgorithm()const {return sSortAlgorithm;} 590cdf0e10cSrcweir void SetSortAlgorithm(const String& rSet) {sSortAlgorithm = rSet;} 591cdf0e10cSrcweir // #i21237# 592cdf0e10cSrcweir void AdjustTabStops(SwDoc & rDoc, sal_Bool bDefaultRightTabStop); 593cdf0e10cSrcweir SwTOXBase& operator=(const SwTOXBase& rSource); 594cdf0e10cSrcweir void RegisterToTOXType( SwTOXType& rMark ); 595cdf0e10cSrcweir }; 596cdf0e10cSrcweir 597cdf0e10cSrcweir 598cdf0e10cSrcweir /*-------------------------------------------------------------------- 599cdf0e10cSrcweir Description: Inlines 600cdf0e10cSrcweir --------------------------------------------------------------------*/ 601cdf0e10cSrcweir 602cdf0e10cSrcweir // 603cdf0e10cSrcweir //SwTOXMark 604cdf0e10cSrcweir // 605cdf0e10cSrcweir inline const String& SwTOXMark::GetAlternativeText() const 606cdf0e10cSrcweir { return aAltText; } 607cdf0e10cSrcweir 608cdf0e10cSrcweir inline const SwTOXType* SwTOXMark::GetTOXType() const 609cdf0e10cSrcweir { return (SwTOXType*)GetRegisteredIn(); } 610cdf0e10cSrcweir 611cdf0e10cSrcweir inline sal_Bool SwTOXMark::IsAlternativeText() const 612cdf0e10cSrcweir { return aAltText.Len() > 0; } 613cdf0e10cSrcweir 614cdf0e10cSrcweir inline void SwTOXMark::SetAlternativeText(const String& rAlt) 615cdf0e10cSrcweir { 616cdf0e10cSrcweir aAltText = rAlt; 617cdf0e10cSrcweir } 618cdf0e10cSrcweir 619cdf0e10cSrcweir inline void SwTOXMark::SetLevel( sal_uInt16 nLvl ) 620cdf0e10cSrcweir { 621cdf0e10cSrcweir ASSERT( !GetTOXType() || GetTOXType()->GetType() != TOX_INDEX, "Falscher Feldtyp"); 622cdf0e10cSrcweir nLevel = nLvl; 623cdf0e10cSrcweir } 624cdf0e10cSrcweir 625cdf0e10cSrcweir inline void SwTOXMark::SetPrimaryKey( const String& rKey ) 626cdf0e10cSrcweir { 627cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 628cdf0e10cSrcweir aPrimaryKey = rKey; 629cdf0e10cSrcweir } 630cdf0e10cSrcweir 631cdf0e10cSrcweir inline void SwTOXMark::SetSecondaryKey( const String& rKey ) 632cdf0e10cSrcweir { 633cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 634cdf0e10cSrcweir aSecondaryKey = rKey; 635cdf0e10cSrcweir } 636cdf0e10cSrcweir 637cdf0e10cSrcweir inline void SwTOXMark::SetTextReading( const String& rTxt ) 638cdf0e10cSrcweir { 639cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 640cdf0e10cSrcweir aTextReading = rTxt; 641cdf0e10cSrcweir } 642cdf0e10cSrcweir 643cdf0e10cSrcweir inline void SwTOXMark::SetPrimaryKeyReading( const String& rKey ) 644cdf0e10cSrcweir { 645cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 646cdf0e10cSrcweir aPrimaryKeyReading = rKey; 647cdf0e10cSrcweir } 648cdf0e10cSrcweir 649cdf0e10cSrcweir inline void SwTOXMark::SetSecondaryKeyReading( const String& rKey ) 650cdf0e10cSrcweir { 651cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 652cdf0e10cSrcweir aSecondaryKeyReading = rKey; 653cdf0e10cSrcweir } 654cdf0e10cSrcweir 655cdf0e10cSrcweir inline sal_uInt16 SwTOXMark::GetLevel() const 656cdf0e10cSrcweir { 657cdf0e10cSrcweir ASSERT( !GetTOXType() || GetTOXType()->GetType() != TOX_INDEX, "Falscher Feldtyp"); 658cdf0e10cSrcweir return nLevel; 659cdf0e10cSrcweir } 660cdf0e10cSrcweir 661cdf0e10cSrcweir inline const String& SwTOXMark::GetPrimaryKey() const 662cdf0e10cSrcweir { 663cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 664cdf0e10cSrcweir return aPrimaryKey; 665cdf0e10cSrcweir } 666cdf0e10cSrcweir 667cdf0e10cSrcweir inline const String& SwTOXMark::GetSecondaryKey() const 668cdf0e10cSrcweir { 669cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 670cdf0e10cSrcweir return aSecondaryKey; 671cdf0e10cSrcweir } 672cdf0e10cSrcweir 673cdf0e10cSrcweir inline const String& SwTOXMark::GetTextReading() const 674cdf0e10cSrcweir { 675cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 676cdf0e10cSrcweir return aTextReading; 677cdf0e10cSrcweir } 678cdf0e10cSrcweir 679cdf0e10cSrcweir inline const String& SwTOXMark::GetPrimaryKeyReading() const 680cdf0e10cSrcweir { 681cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 682cdf0e10cSrcweir return aPrimaryKeyReading; 683cdf0e10cSrcweir } 684cdf0e10cSrcweir 685cdf0e10cSrcweir inline const String& SwTOXMark::GetSecondaryKeyReading() const 686cdf0e10cSrcweir { 687cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 688cdf0e10cSrcweir return aSecondaryKeyReading; 689cdf0e10cSrcweir } 690cdf0e10cSrcweir 691cdf0e10cSrcweir // 692cdf0e10cSrcweir //SwForm 693cdf0e10cSrcweir // 694cdf0e10cSrcweir inline void SwForm::SetTemplate(sal_uInt16 nLevel, const String& rTemplate) 695cdf0e10cSrcweir { 696cdf0e10cSrcweir ASSERT(nLevel < GetFormMax(), "Index >= FORM_MAX"); 697cdf0e10cSrcweir aTemplate[nLevel] = rTemplate; 698cdf0e10cSrcweir } 699cdf0e10cSrcweir 700cdf0e10cSrcweir inline const String& SwForm::GetTemplate(sal_uInt16 nLevel) const 701cdf0e10cSrcweir { 702cdf0e10cSrcweir ASSERT(nLevel < GetFormMax(), "Index >= FORM_MAX"); 703cdf0e10cSrcweir return aTemplate[nLevel]; 704cdf0e10cSrcweir } 705cdf0e10cSrcweir 706cdf0e10cSrcweir inline TOXTypes SwForm::GetTOXType() const 707cdf0e10cSrcweir { 708cdf0e10cSrcweir return eType; 709cdf0e10cSrcweir } 710cdf0e10cSrcweir 711cdf0e10cSrcweir inline sal_uInt16 SwForm::GetFormMax() const 712cdf0e10cSrcweir { 713cdf0e10cSrcweir return nFormMaxLevel; 714cdf0e10cSrcweir } 715cdf0e10cSrcweir 716cdf0e10cSrcweir 717cdf0e10cSrcweir // 718cdf0e10cSrcweir //SwTOXType 719cdf0e10cSrcweir // 720cdf0e10cSrcweir inline const String& SwTOXType::GetTypeName() const 721cdf0e10cSrcweir { return aName; } 722cdf0e10cSrcweir 723cdf0e10cSrcweir inline TOXTypes SwTOXType::GetType() const 724cdf0e10cSrcweir { return eType; } 725cdf0e10cSrcweir 726cdf0e10cSrcweir // 727cdf0e10cSrcweir // SwTOXBase 728cdf0e10cSrcweir // 729cdf0e10cSrcweir inline const SwTOXType* SwTOXBase::GetTOXType() const 730cdf0e10cSrcweir { return (SwTOXType*)GetRegisteredIn(); } 731cdf0e10cSrcweir 732cdf0e10cSrcweir inline sal_uInt16 SwTOXBase::GetCreateType() const 733cdf0e10cSrcweir { return nCreateType; } 734cdf0e10cSrcweir 735cdf0e10cSrcweir inline const String& SwTOXBase::GetTitle() const 736cdf0e10cSrcweir { return aTitle; } 737cdf0e10cSrcweir 738cdf0e10cSrcweir inline const String& SwTOXBase::GetTypeName() const 739cdf0e10cSrcweir { return GetTOXType()->GetTypeName(); } 740cdf0e10cSrcweir 741cdf0e10cSrcweir inline const SwForm& SwTOXBase::GetTOXForm() const 742cdf0e10cSrcweir { return aForm; } 743cdf0e10cSrcweir 744cdf0e10cSrcweir inline void SwTOXBase::AdjustTabStops(SwDoc & rDoc, sal_Bool bDefaultRightTabStop) 745cdf0e10cSrcweir { 746cdf0e10cSrcweir aForm.AdjustTabStops(rDoc, bDefaultRightTabStop); 747cdf0e10cSrcweir } 748cdf0e10cSrcweir 749cdf0e10cSrcweir inline void SwTOXBase::SetCreate(sal_uInt16 nCreate) 750cdf0e10cSrcweir { nCreateType = nCreate; } 751cdf0e10cSrcweir 752cdf0e10cSrcweir inline void SwTOXBase::SetTOXForm(const SwForm& rForm) 753cdf0e10cSrcweir { aForm = rForm; } 754cdf0e10cSrcweir 755cdf0e10cSrcweir inline TOXTypes SwTOXBase::GetType() const 756cdf0e10cSrcweir { return GetTOXType()->GetType(); } 757cdf0e10cSrcweir 758cdf0e10cSrcweir inline void SwTOXBase::SetLevel(sal_uInt16 nLev) 759cdf0e10cSrcweir { 760cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() != TOX_INDEX, "Falscher Feldtyp"); 761cdf0e10cSrcweir aData.nLevel = nLev; 762cdf0e10cSrcweir } 763cdf0e10cSrcweir 764cdf0e10cSrcweir inline sal_uInt16 SwTOXBase::GetLevel() const 765cdf0e10cSrcweir { 766cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() != TOX_INDEX, "Falscher Feldtyp"); 767cdf0e10cSrcweir return aData.nLevel; 768cdf0e10cSrcweir } 769cdf0e10cSrcweir 770cdf0e10cSrcweir inline void SwTOXBase::SetTemplateName(const String& rName) 771cdf0e10cSrcweir { 772cdf0e10cSrcweir // ASSERT(GetTOXType()->GetType() == TOX_USER, "Falscher Feldtyp"); 773cdf0e10cSrcweir // ASSERT(aData.pTemplateName, "pTemplateName == 0"); 774cdf0e10cSrcweir // (*aData.pTemplateName) = rName; 775cdf0e10cSrcweir DBG_WARNING("SwTOXBase::SetTemplateName obsolete"); 776cdf0e10cSrcweir aStyleNames[0] = rName; 777cdf0e10cSrcweir 778cdf0e10cSrcweir } 779cdf0e10cSrcweir 780cdf0e10cSrcweir inline sal_uInt16 SwTOXBase::GetOptions() const 781cdf0e10cSrcweir { 782cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 783cdf0e10cSrcweir return aData.nOptions; 784cdf0e10cSrcweir } 785cdf0e10cSrcweir 786cdf0e10cSrcweir inline void SwTOXBase::SetOptions(sal_uInt16 nOpt) 787cdf0e10cSrcweir { 788cdf0e10cSrcweir ASSERT(GetTOXType()->GetType() == TOX_INDEX, "Falscher Feldtyp"); 789cdf0e10cSrcweir aData.nOptions = nOpt; 790cdf0e10cSrcweir } 791cdf0e10cSrcweir 792cdf0e10cSrcweir 793cdf0e10cSrcweir #endif // SW_TOX_HXX 794