11d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 31d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 41d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 51d2dbeb0SAndrew Rist * distributed with this work for additional information 61d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 71d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 81d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 91d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 101d2dbeb0SAndrew Rist * 111d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 121d2dbeb0SAndrew Rist * 131d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 141d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 151d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 161d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 171d2dbeb0SAndrew Rist * specific language governing permissions and limitations 181d2dbeb0SAndrew Rist * under the License. 191d2dbeb0SAndrew Rist * 201d2dbeb0SAndrew Rist *************************************************************/ 211d2dbeb0SAndrew Rist 221d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _NUMRULE_HXX 24cdf0e10cSrcweir #define _NUMRULE_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <tools/link.hxx> 27cdf0e10cSrcweir #include <tools/gen.hxx> 28cdf0e10cSrcweir #include <tools/string.hxx> 29cdf0e10cSrcweir #include <editeng/svxenum.hxx> 30cdf0e10cSrcweir #include <editeng/numitem.hxx> 31cdf0e10cSrcweir #include "swdllapi.h" 32cdf0e10cSrcweir #include <swtypes.hxx> 33cdf0e10cSrcweir #include <calbck.hxx> 34cdf0e10cSrcweir #include <errhdl.hxx> 35cdf0e10cSrcweir #include <error.h> 36cdf0e10cSrcweir #include <hints.hxx> 37cdf0e10cSrcweir #include <hash_map> 38cdf0e10cSrcweir #include <stringhash.hxx> 39cdf0e10cSrcweir #include <SwNumberTreeTypes.hxx> 40cdf0e10cSrcweir #include <vector> 41cdf0e10cSrcweir 42cdf0e10cSrcweir class SwTxtFmtColl; 43cdf0e10cSrcweir class IDocumentListsAccess; 44cdf0e10cSrcweir class SwNodeNum; 45cdf0e10cSrcweir class Font; 46cdf0e10cSrcweir class SvxBrushItem; 47cdf0e10cSrcweir class SvxNumRule; 48cdf0e10cSrcweir class SwCharFmt; 49cdf0e10cSrcweir class SwDoc; 50cdf0e10cSrcweir class SwFmtVertOrient; 51cdf0e10cSrcweir class SwTxtNode; 52cdf0e10cSrcweir 53cdf0e10cSrcweir const sal_Unicode cBulletChar = 0x2022; // Charakter fuer Aufzaehlungen 54cdf0e10cSrcweir 55cdf0e10cSrcweir class SW_DLLPUBLIC SwNumFmt : public SvxNumberFormat, public SwClient 56cdf0e10cSrcweir { 57cdf0e10cSrcweir SwFmtVertOrient* pVertOrient; 58*41623124SJian Hong Cheng //For i120928,record the cp info of graphic within bullet 59*41623124SJian Hong Cheng sal_Unicode cGrfBulletCP; 60cdf0e10cSrcweir SW_DLLPRIVATE void UpdateNumNodes( SwDoc* pDoc ); 61cdf0e10cSrcweir SW_DLLPRIVATE virtual void NotifyGraphicArrived(); 62cdf0e10cSrcweir 63cdf0e10cSrcweir using SvxNumberFormat::operator ==; 64cdf0e10cSrcweir using SvxNumberFormat::operator !=; 65cdf0e10cSrcweir 66cdf0e10cSrcweir protected: 67cdf0e10cSrcweir virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ); 68cdf0e10cSrcweir 69cdf0e10cSrcweir public: 70cdf0e10cSrcweir SwNumFmt(); 71cdf0e10cSrcweir SwNumFmt( const SwNumFmt& ); 72cdf0e10cSrcweir SwNumFmt( const SvxNumberFormat&, SwDoc* pDoc); 73cdf0e10cSrcweir 74cdf0e10cSrcweir virtual ~SwNumFmt(); 75cdf0e10cSrcweir 76cdf0e10cSrcweir SwNumFmt& operator=( const SwNumFmt& ); 77cdf0e10cSrcweir 78cdf0e10cSrcweir sal_Bool operator==( const SwNumFmt& ) const; operator !=(const SwNumFmt & r) const79cdf0e10cSrcweir sal_Bool operator!=( const SwNumFmt& r ) const { return !(*this == r); } 80cdf0e10cSrcweir GetCharFmt() const81cdf0e10cSrcweir SwCharFmt* GetCharFmt() const { return (SwCharFmt*)GetRegisteredIn(); } 82cdf0e10cSrcweir void SetCharFmt( SwCharFmt* ); 83*41623124SJian Hong Cheng //For i120928,access the cp info of graphic within bullet SetGrfBulletCP(sal_Unicode cP)84*41623124SJian Hong Cheng void SetGrfBulletCP(sal_Unicode cP){cGrfBulletCP = cP;} GetGrfBulletCP() const85*41623124SJian Hong Cheng sal_Unicode GetGrfBulletCP()const {return cGrfBulletCP;} 86cdf0e10cSrcweir void ForgetCharFmt(); 87cdf0e10cSrcweir 88cdf0e10cSrcweir virtual void SetCharFmtName(const String& rSet); 89cdf0e10cSrcweir virtual const String& GetCharFmtName()const; 90cdf0e10cSrcweir 91cdf0e10cSrcweir virtual void SetGraphicBrush( const SvxBrushItem* pBrushItem, const Size* pSize = 0, const sal_Int16* pOrient = 0); 92cdf0e10cSrcweir 93cdf0e10cSrcweir virtual void SetVertOrient(sal_Int16 eSet); 94cdf0e10cSrcweir virtual sal_Int16 GetVertOrient() const; 95cdf0e10cSrcweir const SwFmtVertOrient* GetGraphicOrientation() const; 96cdf0e10cSrcweir 97cdf0e10cSrcweir sal_Bool IsEnumeration() const; // #i22362# 98cdf0e10cSrcweir sal_Bool IsItemize() const; // #i29560# 99cdf0e10cSrcweir }; 100cdf0e10cSrcweir 101cdf0e10cSrcweir class SwPaM; 102cdf0e10cSrcweir enum SwNumRuleType { OUTLINE_RULE = 0, NUM_RULE = 1, RULE_END = 2 }; 103cdf0e10cSrcweir class SW_DLLPUBLIC SwNumRule 104cdf0e10cSrcweir { 105cdf0e10cSrcweir // --> OD 2008-02-19 #refactorlists# 106cdf0e10cSrcweir public: 107cdf0e10cSrcweir typedef std::vector< SwTxtNode* > tTxtNodeList; 108cdf0e10cSrcweir typedef std::vector< SwTxtFmtColl* > tParagraphStyleList; 109cdf0e10cSrcweir // <-- 110cdf0e10cSrcweir private: 111cdf0e10cSrcweir friend void _FinitCore(); 112cdf0e10cSrcweir 113cdf0e10cSrcweir #ifdef DBG_UTIL 114cdf0e10cSrcweir long int nSerial; 115cdf0e10cSrcweir static long int nInstances; 116cdf0e10cSrcweir #endif 117cdf0e10cSrcweir 118cdf0e10cSrcweir static SwNumFmt* aBaseFmts [ RULE_END ][ MAXLEVEL ]; 119cdf0e10cSrcweir static sal_uInt16 aDefNumIndents[ MAXLEVEL ]; 120cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs# 121cdf0e10cSrcweir // default list level properties for position-and-space mode LABEL_ALIGNMENT 122cdf0e10cSrcweir static SwNumFmt* aLabelAlignmentBaseFmts [ RULE_END ][ MAXLEVEL ]; 123cdf0e10cSrcweir // <-- 124cdf0e10cSrcweir static sal_uInt16 nRefCount; 125cdf0e10cSrcweir static char* pDefOutlineName; 126cdf0e10cSrcweir 127cdf0e10cSrcweir SwNumFmt* aFmts[ MAXLEVEL ]; 128cdf0e10cSrcweir 129cdf0e10cSrcweir /** container for associated text nodes 130cdf0e10cSrcweir 131cdf0e10cSrcweir */ 132cdf0e10cSrcweir // --> OD 2008-02-19 #refactorlists# 133cdf0e10cSrcweir // SwTxtNodeTable* pTxtNodeList; 134cdf0e10cSrcweir tTxtNodeList maTxtNodeList; 135cdf0e10cSrcweir // <-- 136cdf0e10cSrcweir 137cdf0e10cSrcweir /** container for associated paragraph styles 138cdf0e10cSrcweir 139cdf0e10cSrcweir OD 2008-03-03 #refactorlists# 140cdf0e10cSrcweir */ 141cdf0e10cSrcweir tParagraphStyleList maParagraphStyleList; 142cdf0e10cSrcweir 143cdf0e10cSrcweir // #i36749# 144cdf0e10cSrcweir /** 145cdf0e10cSrcweir hash_map containing "name->rule" relation 146cdf0e10cSrcweir */ 147cdf0e10cSrcweir std::hash_map<String, SwNumRule *, StringHash> * pNumRuleMap; 148cdf0e10cSrcweir 149cdf0e10cSrcweir String sName; 150cdf0e10cSrcweir SwNumRuleType eRuleType; 151cdf0e10cSrcweir sal_uInt16 nPoolFmtId; // Id-fuer "automatich" erzeugte NumRules 152cdf0e10cSrcweir sal_uInt16 nPoolHelpId; // HelpId fuer diese Pool-Vorlage 153cdf0e10cSrcweir sal_uInt8 nPoolHlpFileId; // FilePos ans Doc auf die Vorlagen-Hilfen 154cdf0e10cSrcweir sal_Bool bAutoRuleFlag : 1; 155cdf0e10cSrcweir sal_Bool bInvalidRuleFlag : 1; 156cdf0e10cSrcweir sal_Bool bContinusNum : 1; // Fortlaufende Numerierung - ohne Ebenen 157cdf0e10cSrcweir sal_Bool bAbsSpaces : 1; // die Ebenen repraesentieren absol. Einzuege 158cdf0e10cSrcweir bool mbCountPhantoms; 159cdf0e10cSrcweir 160cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs# 161cdf0e10cSrcweir const SvxNumberFormat::SvxNumPositionAndSpaceMode meDefaultNumberFormatPositionAndSpaceMode; 162cdf0e10cSrcweir // <-- 163cdf0e10cSrcweir 164cdf0e10cSrcweir // --> OD 2008-04-03 #refactorlists# 165cdf0e10cSrcweir String msDefaultListId; 166cdf0e10cSrcweir // <-- 167cdf0e10cSrcweir 168cdf0e10cSrcweir public: 169cdf0e10cSrcweir // --> OD 2008-02-08 #newlistlevelattrs# 170cdf0e10cSrcweir // add parameter <eDefaultNumberFormatPositionAndSpaceMode> 171cdf0e10cSrcweir SwNumRule( const String& rNm, 172cdf0e10cSrcweir const SvxNumberFormat::SvxNumPositionAndSpaceMode eDefaultNumberFormatPositionAndSpaceMode, 173cdf0e10cSrcweir SwNumRuleType = NUM_RULE, 174cdf0e10cSrcweir sal_Bool bAutoFlg = sal_True ); 175cdf0e10cSrcweir 176cdf0e10cSrcweir SwNumRule( const SwNumRule& ); 177cdf0e10cSrcweir ~SwNumRule(); 178cdf0e10cSrcweir 179cdf0e10cSrcweir SwNumRule& operator=( const SwNumRule& ); 180cdf0e10cSrcweir sal_Bool operator==( const SwNumRule& ) const; operator !=(const SwNumRule & r) const181cdf0e10cSrcweir sal_Bool operator!=( const SwNumRule& r ) const { return !(*this == r); } 182cdf0e10cSrcweir 183cdf0e10cSrcweir const SwNumFmt* GetNumFmt( sal_uInt16 i ) const; 184cdf0e10cSrcweir const SwNumFmt& Get( sal_uInt16 i ) const; 185cdf0e10cSrcweir 186cdf0e10cSrcweir void Set( sal_uInt16 i, const SwNumFmt* ); 187cdf0e10cSrcweir void Set( sal_uInt16 i, const SwNumFmt& ); 188cdf0e10cSrcweir String MakeNumString( const SwNodeNum&, sal_Bool bInclStrings = sal_True, 189cdf0e10cSrcweir sal_Bool bOnlyArabic = sal_False ) const; 190cdf0e10cSrcweir // --> OD 2005-10-17 #126238# 191cdf0e10cSrcweir // - add optional parameter <_nRestrictToThisLevel> in order to 192cdf0e10cSrcweir // restrict returned string to this level. 193cdf0e10cSrcweir String MakeNumString( const SwNumberTree::tNumberVector & rNumVector, 194cdf0e10cSrcweir const sal_Bool bInclStrings = sal_True, 195cdf0e10cSrcweir const sal_Bool bOnlyArabic = sal_False, 196cdf0e10cSrcweir const unsigned int _nRestrictToThisLevel = MAXLEVEL ) const; 197cdf0e10cSrcweir // <-- 198cdf0e10cSrcweir // --> OD 2007-08-24 #i81002# 199cdf0e10cSrcweir String MakeRefNumString( const SwNodeNum& rNodeNum, 200cdf0e10cSrcweir const bool bInclSuperiorNumLabels = false, 201cdf0e10cSrcweir const sal_uInt8 nRestrictInclToThisLevel = 0 ) const; 202cdf0e10cSrcweir // <-- 203cdf0e10cSrcweir 204cdf0e10cSrcweir /** Returns list of associated text nodes. 205cdf0e10cSrcweir 206cdf0e10cSrcweir OD 2008-02-19 #refactorlists# 207cdf0e10cSrcweir 208cdf0e10cSrcweir @return list of associated text nodes 209cdf0e10cSrcweir */ 210cdf0e10cSrcweir // const SwTxtNodeTable * GetTxtNodeList() const { return pTxtNodeList; } 211cdf0e10cSrcweir void GetTxtNodeList( SwNumRule::tTxtNodeList& rTxtNodeList ) const; 212cdf0e10cSrcweir SwNumRule::tTxtNodeList::size_type GetTxtNodeListSize() const; 213cdf0e10cSrcweir 214cdf0e10cSrcweir // --> OD 2008-02-19 #refactorlists# 215cdf0e10cSrcweir void AddTxtNode( SwTxtNode& rTxtNode ); 216cdf0e10cSrcweir void RemoveTxtNode( SwTxtNode& rTxtNode ); 217cdf0e10cSrcweir // <-- 218cdf0e10cSrcweir 219cdf0e10cSrcweir // --> OD 2008-03-03 #refactorlists# 220cdf0e10cSrcweir SwNumRule::tParagraphStyleList::size_type GetParagraphStyleListSize() const; 221cdf0e10cSrcweir void AddParagraphStyle( SwTxtFmtColl& rTxtFmtColl ); 222cdf0e10cSrcweir void RemoveParagraphStyle( SwTxtFmtColl& rTxtFmtColl ); 223cdf0e10cSrcweir // <-- 224cdf0e10cSrcweir 225cdf0e10cSrcweir // --> OD 2008-04-03 #refactorlists# SetDefaultListId(const String sDefaultListId)226cdf0e10cSrcweir inline void SetDefaultListId( const String sDefaultListId ) 227cdf0e10cSrcweir { 228cdf0e10cSrcweir msDefaultListId = sDefaultListId; 229cdf0e10cSrcweir } GetDefaultListId() const230cdf0e10cSrcweir inline String GetDefaultListId() const 231cdf0e10cSrcweir { 232cdf0e10cSrcweir return msDefaultListId; 233cdf0e10cSrcweir } 234cdf0e10cSrcweir // <-- 235cdf0e10cSrcweir // #i36749# 236cdf0e10cSrcweir /** 237cdf0e10cSrcweir Register this rule in a "name->numrule" map. 238cdf0e10cSrcweir 239cdf0e10cSrcweir @param pNumRuleMap map to register in 240cdf0e10cSrcweir */ 241cdf0e10cSrcweir void SetNumRuleMap( 242cdf0e10cSrcweir std::hash_map<String, SwNumRule *, StringHash>* pNumRuleMap ); 243cdf0e10cSrcweir GetOutlineRuleName()244cdf0e10cSrcweir static char* GetOutlineRuleName() { return pDefOutlineName; } 245cdf0e10cSrcweir 246cdf0e10cSrcweir static sal_uInt16 GetNumIndent( sal_uInt8 nLvl ); 247cdf0e10cSrcweir static sal_uInt16 GetBullIndent( sal_uInt8 nLvl ); 248cdf0e10cSrcweir GetRuleType() const249cdf0e10cSrcweir SwNumRuleType GetRuleType() const { return eRuleType; } SetRuleType(SwNumRuleType eNew)250cdf0e10cSrcweir void SetRuleType( SwNumRuleType eNew ) { eRuleType = eNew; 251cdf0e10cSrcweir bInvalidRuleFlag = sal_True; } 252cdf0e10cSrcweir 253cdf0e10cSrcweir // eine Art Copy-Constructor, damit die Num-Formate auch an den 254cdf0e10cSrcweir // richtigen CharFormaten eines Dokumentes haengen !! 255cdf0e10cSrcweir // (Kopiert die NumFormate und returnt sich selbst) 256cdf0e10cSrcweir SwNumRule& CopyNumRule( SwDoc*, const SwNumRule& ); 257cdf0e10cSrcweir 258cdf0e10cSrcweir // testet ob die CharFormate aus dem angegeben Doc sind und kopiert 259cdf0e10cSrcweir // die gegebenfalls 260cdf0e10cSrcweir void CheckCharFmts( SwDoc* pDoc ); 261cdf0e10cSrcweir GetName() const262cdf0e10cSrcweir const String& GetName() const { return sName; } 263cdf0e10cSrcweir // --> OD 2008-07-08 #i91400# 264cdf0e10cSrcweir void SetName( const String& rNm, 265cdf0e10cSrcweir IDocumentListsAccess& rDocListAccess ); // #i36749# 266cdf0e10cSrcweir // <-- 267cdf0e10cSrcweir IsAutoRule() const268cdf0e10cSrcweir sal_Bool IsAutoRule() const { return bAutoRuleFlag; } SetAutoRule(sal_Bool bFlag)269cdf0e10cSrcweir void SetAutoRule( sal_Bool bFlag ) { bAutoRuleFlag = bFlag; } 270cdf0e10cSrcweir IsInvalidRule() const271cdf0e10cSrcweir sal_Bool IsInvalidRule() const { return bInvalidRuleFlag; } 272cdf0e10cSrcweir void SetInvalidRule( sal_Bool bFlag ); 273cdf0e10cSrcweir IsContinusNum() const274cdf0e10cSrcweir sal_Bool IsContinusNum() const { return bContinusNum; } SetContinusNum(sal_Bool bFlag)275cdf0e10cSrcweir void SetContinusNum( sal_Bool bFlag ) { bContinusNum = bFlag; } 276cdf0e10cSrcweir IsAbsSpaces() const277cdf0e10cSrcweir sal_Bool IsAbsSpaces() const { return bAbsSpaces; } SetAbsSpaces(sal_Bool bFlag)278cdf0e10cSrcweir void SetAbsSpaces( sal_Bool bFlag ) { bAbsSpaces = bFlag; } 279cdf0e10cSrcweir 280cdf0e10cSrcweir // #115901# IsOutlineRule() const281cdf0e10cSrcweir sal_Bool IsOutlineRule() const { return eRuleType == OUTLINE_RULE; } 282cdf0e10cSrcweir 283cdf0e10cSrcweir bool IsCountPhantoms() const; 284cdf0e10cSrcweir void SetCountPhantoms(bool bCountPhantoms); 285cdf0e10cSrcweir 286cdf0e10cSrcweir // erfragen und setzen der Poolvorlagen-Id's GetPoolFmtId() const287cdf0e10cSrcweir sal_uInt16 GetPoolFmtId() const { return nPoolFmtId; } SetPoolFmtId(sal_uInt16 nId)288cdf0e10cSrcweir void SetPoolFmtId( sal_uInt16 nId ) { nPoolFmtId = nId; } 289cdf0e10cSrcweir 290cdf0e10cSrcweir // erfragen und setzen der Hilfe-Id's fuer die Document-Vorlagen GetPoolHelpId() const291cdf0e10cSrcweir sal_uInt16 GetPoolHelpId() const { return nPoolHelpId; } SetPoolHelpId(sal_uInt16 nId)292cdf0e10cSrcweir void SetPoolHelpId( sal_uInt16 nId ) { nPoolHelpId = nId; } GetPoolHlpFileId() const293cdf0e10cSrcweir sal_uInt8 GetPoolHlpFileId() const { return nPoolHlpFileId; } SetPoolHlpFileId(sal_uInt8 nId)294cdf0e10cSrcweir void SetPoolHlpFileId( sal_uInt8 nId ) { nPoolHlpFileId = nId; } 295cdf0e10cSrcweir 296cdf0e10cSrcweir void SetSvxRule(const SvxNumRule&, SwDoc* pDoc); 297cdf0e10cSrcweir SvxNumRule MakeSvxNumRule() const; 298cdf0e10cSrcweir 299cdf0e10cSrcweir // #i23726#, #i23725# 300cdf0e10cSrcweir // --> OD 2008-06-09 #i90078# 301cdf0e10cSrcweir // refactoring: provide certain method for certain purpose 302cdf0e10cSrcweir // void Indent(short aAmount, int nLevel = -1, 303cdf0e10cSrcweir // int nReferenceLevel = -1, sal_Bool bRelative = sal_True, 304cdf0e10cSrcweir // sal_Bool bFirstLine = sal_True, sal_Bool bCheckGtZero = sal_True); 305cdf0e10cSrcweir // change indent of all list levels by given difference 306cdf0e10cSrcweir void ChangeIndent( const short nDiff ); 307cdf0e10cSrcweir // set indent of certain list level to given value 308cdf0e10cSrcweir void SetIndent( const short nNewIndent, 309cdf0e10cSrcweir const sal_uInt16 nListLevel ); 310cdf0e10cSrcweir // set indent of first list level to given value and change other list level's 311cdf0e10cSrcweir // indents accordingly 312cdf0e10cSrcweir void SetIndentOfFirstListLevelAndChangeOthers( const short nNewIndent ); 313cdf0e10cSrcweir // <-- 314cdf0e10cSrcweir 315cdf0e10cSrcweir void Validate(); 316cdf0e10cSrcweir }; 317cdf0e10cSrcweir 318cdf0e10cSrcweir // --> OD 2006-06-27 #b6440955# 319cdf0e10cSrcweir // namespace for static functions and methods for numbering and bullets 320cdf0e10cSrcweir namespace numfunc 321cdf0e10cSrcweir { 322cdf0e10cSrcweir /** retrieve font family name used for the default bullet list characters 323cdf0e10cSrcweir 324cdf0e10cSrcweir @author OD 325cdf0e10cSrcweir */ 326cdf0e10cSrcweir const String& GetDefBulletFontname(); 327cdf0e10cSrcweir 328cdf0e10cSrcweir /** determine if default bullet font is user defined 329cdf0e10cSrcweir 330cdf0e10cSrcweir OD 2008-06-06 #i63395# 331cdf0e10cSrcweir The default bullet font is user defined, if it is given in the user configuration 332cdf0e10cSrcweir 333cdf0e10cSrcweir @author OD 334cdf0e10cSrcweir */ 335cdf0e10cSrcweir bool IsDefBulletFontUserDefined(); 336cdf0e10cSrcweir 337cdf0e10cSrcweir /** retrieve font used for the default bullet list characters 338cdf0e10cSrcweir 339cdf0e10cSrcweir @author OD 340cdf0e10cSrcweir */ 341cdf0e10cSrcweir SW_DLLPUBLIC const Font& GetDefBulletFont(); 342cdf0e10cSrcweir 343cdf0e10cSrcweir /** retrieve unicode of character used for the default bullet list for the given list level 344cdf0e10cSrcweir 345cdf0e10cSrcweir @author OD 346cdf0e10cSrcweir */ 347cdf0e10cSrcweir sal_Unicode GetBulletChar( sal_uInt8 nLevel ); 348cdf0e10cSrcweir 349cdf0e10cSrcweir /** configuration, if at first position of the first list item the <TAB>-key 350cdf0e10cSrcweir increased the indent of the complete list or only demotes this list item. 351cdf0e10cSrcweir The same for <SHIFT-TAB>-key at the same position for decreasing the 352cdf0e10cSrcweir indent of the complete list or only promotes this list item. 353cdf0e10cSrcweir 354cdf0e10cSrcweir OD 2007-10-01 #b6600435# 355cdf0e10cSrcweir 356cdf0e10cSrcweir @author OD 357cdf0e10cSrcweir */ 358cdf0e10cSrcweir sal_Bool ChangeIndentOnTabAtFirstPosOfFirstListItem(); 359cdf0e10cSrcweir 360cdf0e10cSrcweir /** 361cdf0e10cSrcweir OD 2008-06-06 #i89178# 362cdf0e10cSrcweir 363cdf0e10cSrcweir @author OD 364cdf0e10cSrcweir */ 365cdf0e10cSrcweir SvxNumberFormat::SvxNumPositionAndSpaceMode GetDefaultPositionAndSpaceMode(); 366cdf0e10cSrcweir } 367cdf0e10cSrcweir 368cdf0e10cSrcweir #endif // _NUMRULE_HXX 369