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 _FTNINFO_HXX 24*b1cdbd2cSJim Jagielski #define _FTNINFO_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #include <tools/string.hxx> 27*b1cdbd2cSJim Jagielski #include "swdllapi.h" 28*b1cdbd2cSJim Jagielski #include <calbck.hxx> 29*b1cdbd2cSJim Jagielski #include <editeng/numitem.hxx> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski class SwTxtFmtColl; 32*b1cdbd2cSJim Jagielski class SwPageDesc; 33*b1cdbd2cSJim Jagielski class SwCharFmt; 34*b1cdbd2cSJim Jagielski class SwDoc; 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski class SW_DLLPUBLIC SwEndNoteInfo : public SwClient 37*b1cdbd2cSJim Jagielski { 38*b1cdbd2cSJim Jagielski SwDepend aPageDescDep; 39*b1cdbd2cSJim Jagielski SwDepend aCharFmtDep, aAnchorCharFmtDep; 40*b1cdbd2cSJim Jagielski String sPrefix; 41*b1cdbd2cSJim Jagielski String sSuffix; 42*b1cdbd2cSJim Jagielski protected: 43*b1cdbd2cSJim Jagielski bool m_bEndNote; 44*b1cdbd2cSJim Jagielski virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ); 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski public: 47*b1cdbd2cSJim Jagielski SvxNumberType aFmt; 48*b1cdbd2cSJim Jagielski sal_uInt16 nFtnOffset; 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski void ChgPageDesc( SwPageDesc *pDesc ); 51*b1cdbd2cSJim Jagielski SwPageDesc* GetPageDesc( SwDoc &rDoc ) const; 52*b1cdbd2cSJim Jagielski bool KnowsPageDesc() const; 53*b1cdbd2cSJim Jagielski bool DependsOn( const SwPageDesc* ) const; 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski void SetFtnTxtColl(SwTxtFmtColl& rColl); GetFtnTxtColl() const56*b1cdbd2cSJim Jagielski SwTxtFmtColl* GetFtnTxtColl() const { return (SwTxtFmtColl*) GetRegisteredIn(); } // kann 0 sein 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielski SwCharFmt* GetCharFmt(SwDoc &rDoc) const; 59*b1cdbd2cSJim Jagielski void SetCharFmt( SwCharFmt* ); GetCharFmtDep() const60*b1cdbd2cSJim Jagielski SwClient *GetCharFmtDep() const { return (SwClient*)&aCharFmtDep; } 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski SwCharFmt* GetAnchorCharFmt(SwDoc &rDoc) const; 63*b1cdbd2cSJim Jagielski void SetAnchorCharFmt( SwCharFmt* ); GetAnchorCharFmtDep() const64*b1cdbd2cSJim Jagielski SwClient *GetAnchorCharFmtDep() const { return (SwClient*)&aAnchorCharFmtDep; } 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski SwEndNoteInfo & operator=(const SwEndNoteInfo&); 67*b1cdbd2cSJim Jagielski sal_Bool operator==( const SwEndNoteInfo &rInf ) const; 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski SwEndNoteInfo( SwTxtFmtColl *pTxtColl = 0); 70*b1cdbd2cSJim Jagielski SwEndNoteInfo(const SwEndNoteInfo&); 71*b1cdbd2cSJim Jagielski GetPrefix() const72*b1cdbd2cSJim Jagielski const String& GetPrefix() const { return sPrefix; } GetSuffix() const73*b1cdbd2cSJim Jagielski const String& GetSuffix() const { return sSuffix; } 74*b1cdbd2cSJim Jagielski SetPrefix(const String & rSet)75*b1cdbd2cSJim Jagielski void SetPrefix(const String& rSet) { sPrefix = rSet; } SetSuffix(const String & rSet)76*b1cdbd2cSJim Jagielski void SetSuffix(const String& rSet) { sSuffix = rSet; } ReleaseCollection()77*b1cdbd2cSJim Jagielski void ReleaseCollection() { if ( GetRegisteredInNonConst() ) GetRegisteredInNonConst()->Remove( this ); } 78*b1cdbd2cSJim Jagielski }; 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski enum SwFtnPos 81*b1cdbd2cSJim Jagielski { 82*b1cdbd2cSJim Jagielski //Derzeit nur PAGE und CHAPTER. CHAPTER == Dokumentendenoten. 83*b1cdbd2cSJim Jagielski FTNPOS_PAGE = 1, 84*b1cdbd2cSJim Jagielski FTNPOS_CHAPTER = 8 85*b1cdbd2cSJim Jagielski }; 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski enum SwFtnNum 88*b1cdbd2cSJim Jagielski { 89*b1cdbd2cSJim Jagielski FTNNUM_PAGE, FTNNUM_CHAPTER, FTNNUM_DOC 90*b1cdbd2cSJim Jagielski }; 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski class SW_DLLPUBLIC SwFtnInfo: public SwEndNoteInfo 93*b1cdbd2cSJim Jagielski { 94*b1cdbd2cSJim Jagielski using SwEndNoteInfo::operator ==; 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski public: 97*b1cdbd2cSJim Jagielski String aQuoVadis; 98*b1cdbd2cSJim Jagielski String aErgoSum; 99*b1cdbd2cSJim Jagielski SwFtnPos ePos; 100*b1cdbd2cSJim Jagielski SwFtnNum eNum; 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski SwFtnInfo& operator=(const SwFtnInfo&); 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski sal_Bool operator==( const SwFtnInfo &rInf ) const; 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski SwFtnInfo(SwTxtFmtColl* pTxtColl = 0); 108*b1cdbd2cSJim Jagielski SwFtnInfo(const SwFtnInfo&); 109*b1cdbd2cSJim Jagielski }; 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski #endif 113