855 lines
27 KiB
C++
855 lines
27 KiB
C++
/*************************************************************************
|
|
*
|
|
* $RCSfile: docufld.hxx,v $
|
|
*
|
|
* $Revision: 1.3 $
|
|
*
|
|
* last change: $Author: os $ $Date: 2001-02-23 12:45:01 $
|
|
*
|
|
* The Contents of this file are made available subject to the terms of
|
|
* either of the following licenses
|
|
*
|
|
* - GNU Lesser General Public License Version 2.1
|
|
* - Sun Industry Standards Source License Version 1.1
|
|
*
|
|
* Sun Microsystems Inc., October, 2000
|
|
*
|
|
* GNU Lesser General Public License Version 2.1
|
|
* =============================================
|
|
* Copyright 2000 by Sun Microsystems, Inc.
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*
|
|
*
|
|
* Sun Industry Standards Source License Version 1.1
|
|
* =================================================
|
|
* The contents of this file are subject to the Sun Industry Standards
|
|
* Source License Version 1.1 (the "License"); You may not use this file
|
|
* except in compliance with the License. You may obtain a copy of the
|
|
* License at http://www.openoffice.org/license.html.
|
|
*
|
|
* Software provided under this License is provided on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
|
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
|
|
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
|
|
* See the License for the specific provisions governing your rights and
|
|
* obligations concerning the Software.
|
|
*
|
|
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
|
|
*
|
|
* Copyright: 2000 by Sun Microsystems, Inc.
|
|
*
|
|
* All Rights Reserved.
|
|
*
|
|
* Contributor(s): _______________________________________
|
|
*
|
|
*
|
|
************************************************************************/
|
|
#ifndef _DOCUFLD_HXX
|
|
#define _DOCUFLD_HXX
|
|
|
|
#ifndef _DATE_HXX //autogen
|
|
#include <tools/date.hxx>
|
|
#endif
|
|
|
|
#include "fldbas.hxx"
|
|
#include "numrule.hxx"
|
|
|
|
class _SetGetExpFlds;
|
|
class SwTxtFld;
|
|
class SwFrm;
|
|
|
|
enum SwAuthorFormat
|
|
{
|
|
AF_BEGIN,
|
|
AF_NAME = AF_BEGIN,
|
|
AF_SHORTCUT,
|
|
AF_END,
|
|
AF_FIXED = 0x8000
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Untertyp der Dokumentstatistik
|
|
--------------------------------------------------------------------*/
|
|
|
|
enum SwDocStatSubType
|
|
{
|
|
DS_BEGIN,
|
|
DS_PAGE = DS_BEGIN,
|
|
DS_PARA,
|
|
DS_WORD,
|
|
DS_CHAR,
|
|
DS_TBL,
|
|
DS_GRF,
|
|
DS_OLE,
|
|
DS_END
|
|
};
|
|
|
|
enum SwDocInfoSubType
|
|
{
|
|
DI_SUBTYPE_BEGIN,
|
|
DI_TITEL = DI_SUBTYPE_BEGIN,
|
|
DI_THEMA,
|
|
DI_KEYS,
|
|
DI_COMMENT,
|
|
DI_INFO1,
|
|
DI_INFO2,
|
|
DI_INFO3,
|
|
DI_INFO4,
|
|
DI_CREATE,
|
|
DI_CHANGE,
|
|
DI_PRINT,
|
|
DI_DOCNO,
|
|
DI_EDIT,
|
|
DI_SUBTYPE_END
|
|
};
|
|
|
|
enum SwDocInfoExtSubType
|
|
{
|
|
DI_SUB_AUTHOR = 0x0100,
|
|
DI_SUB_TIME = 0x0200,
|
|
DI_SUB_DATE = 0x0300,
|
|
DI_SUB_FIXED = 0x1000
|
|
};
|
|
|
|
enum RegInfoFormat // Nur noch zum laden alter Dokumente!!!
|
|
{
|
|
RF_AUTHOR,
|
|
RF_TIME,
|
|
RF_DATE,
|
|
RF_ALL
|
|
};
|
|
|
|
enum SwPageNumSubType
|
|
{
|
|
PG_RANDOM,
|
|
PG_NEXT,
|
|
PG_PREV
|
|
};
|
|
|
|
enum SwExtUserSubType
|
|
{
|
|
EU_COMPANY /*EU_FIRMA*/,
|
|
EU_FIRSTNAME /*EU_VORNAME*/,
|
|
EU_NAME /*EU_NAME*/,
|
|
EU_SHORTCUT /*EU_ABK*/,
|
|
EU_STREET /*EU_STRASSE*/,
|
|
EU_COUNTRY /*EU_LAND*/,
|
|
EU_ZIP /*EU_PLZ*/,
|
|
EU_CITY /*EU_ORT*/,
|
|
EU_TITLE /*EU_TITEL*/,
|
|
EU_POSITION /*EU_POS*/,
|
|
EU_PHONE_PRIVATE /*EU_TELPRIV*/,
|
|
EU_PHONE_COMPANY /*EU_TELFIRMA*/,
|
|
EU_FAX,
|
|
EU_EMAIL,
|
|
EU_STATE,
|
|
EU_FATHERSNAME,
|
|
EU_APARTMENT
|
|
};
|
|
|
|
enum SwJumpEditFormat
|
|
{
|
|
JE_FMT_TEXT,
|
|
JE_FMT_TABLE,
|
|
JE_FMT_FRAME,
|
|
JE_FMT_GRAPHIC,
|
|
JE_FMT_OLE
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Seitennummer
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwPageNumberFieldType : public SwFieldType
|
|
{
|
|
sal_Int16 nNumberingType;
|
|
USHORT nNum, nMax;
|
|
BOOL bVirtuell;
|
|
|
|
public:
|
|
SwPageNumberFieldType();
|
|
|
|
String& Expand( ULONG nFmt, short nOff, const String&, String& rRet ) const;
|
|
void ChangeExpansion( SwDoc* pDoc, USHORT nNum, USHORT nMax,
|
|
BOOL bVirtPageNum, const sal_Int16* pNumFmt = 0 );
|
|
inline sal_Int16 GetNumFormat() const { return nNumberingType; }
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Seitennummerierung
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwPageNumberField : public SwField
|
|
{
|
|
String sUserStr;
|
|
USHORT nSubType;
|
|
short nOffset;
|
|
|
|
public:
|
|
SwPageNumberField(SwPageNumberFieldType*, USHORT nSub = PG_RANDOM,
|
|
ULONG nFmt = 0, short nOff = 0);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
|
|
virtual USHORT GetSubType() const;
|
|
// virtual void SetSubType(USHORT nSub); // OM: entfernt, da unbenoetigt und gefaehrlich
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
|
|
const String& GetUserString() const { return sUserStr; }
|
|
void SetUserString( const String& rS ) { sUserStr = rS; }
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Autoren
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwAuthorFieldType : public SwFieldType
|
|
{
|
|
public:
|
|
SwAuthorFieldType();
|
|
|
|
String Expand(ULONG) const;
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: AutorenFeld
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwAuthorField : public SwField
|
|
{
|
|
String aContent;
|
|
|
|
public:
|
|
SwAuthorField(SwAuthorFieldType*, ULONG nFmt = 0);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
inline const String& GetContent() const { return aContent; }
|
|
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Filename
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwFileNameFieldType : public SwFieldType
|
|
{
|
|
SwDoc *pDoc;
|
|
public:
|
|
SwFileNameFieldType(SwDoc*);
|
|
|
|
String Expand(ULONG) const;
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: FileName
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwFileNameField : public SwField
|
|
{
|
|
String aContent;
|
|
|
|
public:
|
|
SwFileNameField(SwFileNameFieldType*, ULONG nFmt = 0);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
inline const String& GetContent() const { return aContent; }
|
|
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: TemplName
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwTemplNameFieldType : public SwFieldType
|
|
{
|
|
SwDoc *pDoc;
|
|
public:
|
|
SwTemplNameFieldType(SwDoc*);
|
|
|
|
String Expand(ULONG) const;
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: TemplName
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwTemplNameField : public SwField
|
|
{
|
|
public:
|
|
SwTemplNameField(SwTemplNameFieldType*, ULONG nFmt = 0);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Docstatistik
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwDocStatFieldType : public SwFieldType
|
|
{
|
|
SwDoc* pDoc;
|
|
sal_Int16 nNumberingType;//com::sun::star::style::NumberingType
|
|
|
|
public:
|
|
SwDocStatFieldType(SwDoc*);
|
|
String Expand(USHORT nSubType, ULONG nFmt) const;
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
inline sal_Int16 GetNumFormat() const { return nNumberingType; }
|
|
inline void SetNumFormat( sal_Int16 eFmt ) { nNumberingType = eFmt; }
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Dokumentstatistik
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwDocStatField : public SwField
|
|
{
|
|
USHORT nSubType;
|
|
|
|
public:
|
|
SwDocStatField( SwDocStatFieldType*,
|
|
USHORT nSubType = 0, ULONG nFmt = 0);
|
|
|
|
void ChangeExpansion( const SwFrm* pFrm );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
virtual USHORT GetSubType() const;
|
|
virtual void SetSubType(USHORT nSub);
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: versteckter Text
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwHiddenTxtFieldType : public SwFieldType
|
|
{
|
|
BOOL bHidden;
|
|
public:
|
|
SwHiddenTxtFieldType(BOOL bSetHidden = TRUE);
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
void SetHiddenFlag( BOOL bSetHidden = TRUE );
|
|
inline BOOL GetHiddenFlag() const { return bHidden; }
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Versteckter Text
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwHiddenTxtField : public SwField
|
|
{
|
|
String aTRUETxt; // Text wenn Bedingung TRUE
|
|
String aFALSETxt; // Wenn Bedingung falsch
|
|
String aContent; // Ausgewerteter DB-Text
|
|
|
|
String aCond; // Bedingung
|
|
USHORT nSubType;
|
|
|
|
BOOL bCanToggle : 1; // kann das Feld einzeln getoggelt werden?
|
|
BOOL bIsHidden : 1; // ist es nicht sichtbar?
|
|
BOOL bValid : 1; // DB-Feld evaluiert?
|
|
|
|
public:
|
|
SwHiddenTxtField( SwHiddenTxtFieldType*,
|
|
BOOL bConditional,
|
|
const String& rCond,
|
|
const String& rTxt,
|
|
BOOL bHidden = FALSE,
|
|
USHORT nSubType = TYP_HIDDENTXTFLD);
|
|
|
|
SwHiddenTxtField( SwHiddenTxtFieldType*,
|
|
const String& rCond,
|
|
const String& rTrue,
|
|
const String& rFalse,
|
|
USHORT nSubType = TYP_HIDDENTXTFLD);
|
|
|
|
virtual String GetCntnt(BOOL bName = FALSE) const;
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
void Evaluate(SwDoc*);
|
|
|
|
inline void SetValue(BOOL bHidden) { bIsHidden = bHidden; }
|
|
inline BOOL GetValue() const { return bIsHidden; }
|
|
inline BOOL IsConditional() const { return bCanToggle; }
|
|
inline BOOL IsValid() const { return bValid; }
|
|
String GetColumnName(const String& rName);
|
|
String GetDBName(const String& rName, SwDoc *pDoc);
|
|
|
|
// Condition
|
|
virtual void SetPar1(const String& rStr);
|
|
virtual const String& GetPar1() const;
|
|
|
|
// True/False - String
|
|
virtual void SetPar2(const String& rStr);
|
|
virtual String GetPar2() const;
|
|
|
|
|
|
virtual USHORT GetSubType() const;
|
|
// virtual void SetSubType(USHORT nSub); // OM: entfernt, da unbenoetigt und gefaehrlich
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Feld das zu einer Leerzeile (ohne Hoehe) expandiert
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwHiddenParaFieldType : public SwFieldType
|
|
{
|
|
public:
|
|
SwHiddenParaFieldType();
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Versteckter Absatz
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwHiddenParaField : public SwField
|
|
{
|
|
String aCond;
|
|
BOOL bIsHidden:1;
|
|
public:
|
|
// Direkte Eingabe alten Wert loeschen
|
|
SwHiddenParaField(SwHiddenParaFieldType*, const String& rCond);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
void SetHidden(BOOL bHidden) { bIsHidden = bHidden; }
|
|
BOOL IsHidden() const { return bIsHidden; }
|
|
|
|
// Bedingung erfragen/setzen
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Macro ausfuehren
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwMacroFieldType : public SwFieldType
|
|
{
|
|
SwDoc* pDoc;
|
|
|
|
public:
|
|
SwMacroFieldType(SwDoc*);
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Macrofeld
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwMacroField : public SwField
|
|
{
|
|
String aMacro;
|
|
String aText;
|
|
|
|
public:
|
|
// Direkte Eingabe alten Wert loeschen
|
|
SwMacroField( SwMacroFieldType*, const String& rLibAndName,
|
|
const String& rTxt);
|
|
|
|
inline const String& GetMacro() const { return aMacro; }
|
|
String GetLibName() const;
|
|
String GetMacroName() const;
|
|
|
|
virtual String GetCntnt(BOOL bName = FALSE) const;
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
// Library und FileName
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
|
|
// Macrotext
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: PostIts
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwPostItFieldType : public SwFieldType
|
|
{
|
|
public:
|
|
SwPostItFieldType();
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: PostIt
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwPostItField : public SwField
|
|
{
|
|
String sTxt; // die Anmerkung
|
|
String sAuthor; // der Author
|
|
Date aDate; // Datum ??/Zeit?? der Anmerkung
|
|
|
|
public:
|
|
SwPostItField( SwPostItFieldType*,
|
|
const String& rAuthor, const String& rTxt, const Date& rDate);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
inline const Date& GetDate() const { return aDate; }
|
|
inline void SetDate( const Date& rDate ) { aDate = rDate;}
|
|
|
|
// Author
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
|
|
// Text
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
const String& GetTxt() const { return sTxt; }
|
|
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: DokumentInfo
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwDocInfoFieldType : public SwValueFieldType
|
|
{
|
|
public:
|
|
SwDocInfoFieldType(SwDoc* pDc);
|
|
|
|
String Expand(USHORT nSubType, ULONG nFormat, USHORT nLang) const;
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
class SwDocInfoField : public SwValueField
|
|
{
|
|
USHORT nSubType;
|
|
String aContent;
|
|
|
|
public:
|
|
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, ULONG nFmt=0);
|
|
|
|
virtual void SetSubType(USHORT);
|
|
virtual USHORT GetSubType() const;
|
|
virtual void SetLanguage(USHORT nLng);
|
|
virtual String Expand() const;
|
|
virtual String GetCntnt(BOOL bName = FALSE) const;
|
|
virtual SwField* Copy() const;
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: erweiterte Benutzereinstellung
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
class SwExtUserFieldType : public SwFieldType
|
|
{
|
|
String aData;
|
|
public:
|
|
SwExtUserFieldType();
|
|
|
|
inline const String& GetData() const { return aData; }
|
|
inline void SetData(const String& rStr) { aData = rStr; }
|
|
|
|
String Expand(USHORT nSubType, ULONG nFormat) const;
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
class SwExtUserField : public SwField
|
|
{
|
|
String aContent;
|
|
USHORT nType;
|
|
|
|
public:
|
|
SwExtUserField(SwExtUserFieldType*, USHORT nSub, ULONG nFmt=0);
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
virtual USHORT GetSubType() const;
|
|
virtual void SetSubType(USHORT nSub);
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
inline const String& GetContent() const { return aContent; }
|
|
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Relatives Seitennummern - Feld
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwRefPageSetFieldType : public SwFieldType
|
|
{
|
|
public:
|
|
SwRefPageSetFieldType();
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
// ueberlagert, weil es nichts zum Updaten gibt!
|
|
virtual void Modify( SfxPoolItem *, SfxPoolItem * );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Relative Seitennummerierung
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwRefPageSetField : public SwField
|
|
{
|
|
short nOffset;
|
|
BOOL bOn;
|
|
|
|
public:
|
|
SwRefPageSetField( SwRefPageSetFieldType*, short nOff = 0,
|
|
BOOL bOn = TRUE );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
|
|
BOOL IsOn() const { return bOn; }
|
|
void SetOn( BOOL bFlag ) { bOn = bFlag; }
|
|
|
|
short GetOffset() const { return nOffset; }
|
|
void SetOffset( short nOff ) { nOffset = nOff; }
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: relatives Seitennummern - Abfrage Feld
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwRefPageGetFieldType : public SwFieldType
|
|
{
|
|
SwDoc* pDoc;
|
|
sal_Int16 nNumberingType;
|
|
|
|
void UpdateField( SwTxtFld* pTxtFld, _SetGetExpFlds& rSetList );
|
|
|
|
public:
|
|
SwRefPageGetFieldType( SwDoc* pDoc );
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
// ueberlagert, um alle RefPageGet-Felder zu updaten
|
|
virtual void Modify( SfxPoolItem *, SfxPoolItem * );
|
|
USHORT MakeSetList( _SetGetExpFlds& rTmpLst );
|
|
|
|
sal_Int16 GetNumFormat() const { return nNumberingType; }
|
|
void SetNumFormat( sal_Int16 eFmt ) { nNumberingType = eFmt; }
|
|
SwDoc* GetDoc() const { return pDoc; }
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Relative Seitennummerierung Abfragen
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwRefPageGetField : public SwField
|
|
{
|
|
String sTxt;
|
|
public:
|
|
SwRefPageGetField( SwRefPageGetFieldType*, ULONG nFmt );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
void SetText( const String& rTxt ) { sTxt = rTxt; }
|
|
const String& GetText() const { return sTxt; }
|
|
|
|
void ChangeExpansion( const SwFrm* pFrm, const SwTxtFld* pFld );
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Feld zum Anspringen und Editieren
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwJumpEditFieldType : public SwFieldType
|
|
{
|
|
SwDoc* pDoc;
|
|
SwDepend aDep;
|
|
|
|
public:
|
|
SwJumpEditFieldType( SwDoc* pDoc );
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
SwDoc* GetDoc() { return pDoc; }
|
|
const SwDoc* GetDoc() const { return pDoc; }
|
|
|
|
SwCharFmt* GetCharFmt();
|
|
};
|
|
|
|
class SwJumpEditField : public SwField
|
|
{
|
|
String sTxt, sHelp;
|
|
public:
|
|
SwJumpEditField( SwJumpEditFieldType*, ULONG nFormat,
|
|
const String& sText, const String& sHelp );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
// Platzhalter-Text
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
|
|
// HinweisText
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
|
|
SwCharFmt* GetCharFmt() const
|
|
{ return ((SwJumpEditFieldType*)GetTyp())->GetCharFmt(); }
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Script Fieldtype
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwScriptFieldType : public SwFieldType
|
|
{
|
|
SwDoc* pDoc;
|
|
public:
|
|
SwScriptFieldType( SwDoc* pDoc );
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Script Field
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwScriptField : public SwField
|
|
{
|
|
String sType; // Type von Code (Java/VBScript/...)
|
|
String sCode; // der Code als Text
|
|
// der Code als JavaCode ?
|
|
|
|
BOOL bCodeURL; // Code enthaelt URL eines Scripts
|
|
|
|
public:
|
|
SwScriptField( SwScriptFieldType*, const String& rType,
|
|
const String& rCode, BOOL bURL=FALSE );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
// Type
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
// Text
|
|
virtual String GetPar2() const;
|
|
virtual void SetPar2(const String& rStr);
|
|
const String& GetCode() const { return sCode; }
|
|
|
|
BOOL IsCodeURL() const { return bCodeURL; }
|
|
void SetCodeURL( BOOL bURL ) { bCodeURL = bURL; }
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, const String& rProperty );
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Combined Character Fieldtype
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwCombinedCharFieldType : public SwFieldType
|
|
{
|
|
public:
|
|
SwCombinedCharFieldType();
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
};
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Script Field
|
|
--------------------------------------------------------------------*/
|
|
|
|
#define MAX_COMBINED_CHARACTERS 6
|
|
|
|
class SwCombinedCharField : public SwField
|
|
{
|
|
String sCharacters; // combine these characters
|
|
|
|
public:
|
|
SwCombinedCharField( SwCombinedCharFieldType*, const String& rChars );
|
|
|
|
virtual String Expand() const;
|
|
virtual SwField* Copy() const;
|
|
|
|
// Characters
|
|
virtual const String& GetPar1() const;
|
|
virtual void SetPar1(const String& rStr);
|
|
|
|
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal,
|
|
const String& rProperty ) const;
|
|
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal,
|
|
const String& rProperty );
|
|
};
|
|
|
|
|
|
#endif // _DOCUFLD_HXX
|