2010-10-14 08:30:41 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2000-09-18 16:15:01 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2010-02-12 15:01:35 +01:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* OpenOffice.org 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 version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 10:00:17 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _DOCUFLD_HXX
|
|
|
|
#define _DOCUFLD_HXX
|
|
|
|
|
2008-02-19 12:34:02 +00:00
|
|
|
|
2009-01-02 15:51:45 +00:00
|
|
|
#include <tools/date.hxx>
|
2008-02-19 12:34:02 +00:00
|
|
|
#include <tools/datetime.hxx>
|
|
|
|
|
|
|
|
|
2009-10-16 00:05:16 +02:00
|
|
|
#include <svl/macitem.hxx>
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
#include "fldbas.hxx"
|
|
|
|
#include "numrule.hxx"
|
|
|
|
|
|
|
|
class _SetGetExpFlds;
|
|
|
|
class SwTxtFld;
|
|
|
|
class SwFrm;
|
2008-02-19 12:34:02 +00:00
|
|
|
class OutlinerParaObject;
|
|
|
|
class SwTextAPIObject;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
};
|
|
|
|
|
2007-09-27 07:00:08 +00:00
|
|
|
typedef sal_uInt16 SwDocInfoSubType;
|
|
|
|
namespace nsSwDocInfoSubType
|
|
|
|
{
|
2008-02-26 13:00:31 +00:00
|
|
|
// NB: these must denote consecutive integers!
|
|
|
|
// NB2: these are extended by 4 DI_INFO values for backward compatibility
|
|
|
|
// in filter/html/htmlfld.cxx, so make sure that DI_SUBTYPE_END
|
|
|
|
// really is the end, and is at least 4 less than DI_SUB_*!
|
2007-09-27 07:00:08 +00:00
|
|
|
const SwDocInfoSubType DI_SUBTYPE_BEGIN = 0;
|
|
|
|
const SwDocInfoSubType DI_TITEL = DI_SUBTYPE_BEGIN;
|
|
|
|
const SwDocInfoSubType DI_THEMA = 1;
|
|
|
|
const SwDocInfoSubType DI_KEYS = 2;
|
|
|
|
const SwDocInfoSubType DI_COMMENT = 3;
|
2008-02-26 13:00:31 +00:00
|
|
|
const SwDocInfoSubType DI_CREATE = 4;
|
|
|
|
const SwDocInfoSubType DI_CHANGE = 5;
|
|
|
|
const SwDocInfoSubType DI_PRINT = 6;
|
|
|
|
const SwDocInfoSubType DI_DOCNO = 7;
|
|
|
|
const SwDocInfoSubType DI_EDIT = 8;
|
|
|
|
const SwDocInfoSubType DI_CUSTOM = 9;
|
|
|
|
const SwDocInfoSubType DI_SUBTYPE_END = 10;
|
|
|
|
|
2007-09-27 07:00:08 +00:00
|
|
|
|
|
|
|
const SwDocInfoSubType DI_SUB_AUTHOR = 0x0100;
|
|
|
|
const SwDocInfoSubType DI_SUB_TIME = 0x0200;
|
|
|
|
const SwDocInfoSubType DI_SUB_DATE = 0x0300;
|
|
|
|
const SwDocInfoSubType DI_SUB_FIXED = 0x1000;
|
2008-12-10 14:28:44 +00:00
|
|
|
const SwDocInfoSubType DI_SUB_MASK = 0xff00;
|
2007-09-27 07:00:08 +00:00
|
|
|
}
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
{
|
2001-02-23 11:45:30 +00:00
|
|
|
sal_Int16 nNumberingType;
|
2000-09-18 16:15:01 +00:00
|
|
|
USHORT nNum, nMax;
|
|
|
|
BOOL bVirtuell;
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwPageNumberFieldType();
|
|
|
|
|
2005-12-14 13:46:21 +00:00
|
|
|
String& Expand( sal_uInt32 nFmt, short nOff, const String&, String& rRet ) const;
|
2000-09-18 16:15:01 +00:00
|
|
|
void ChangeExpansion( SwDoc* pDoc, USHORT nNum, USHORT nMax,
|
2001-02-23 11:45:30 +00:00
|
|
|
BOOL bVirtPageNum, const sal_Int16* pNumFmt = 0 );
|
2000-09-18 16:15:01 +00:00
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Seitennummerierung
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwPageNumberField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
String sUserStr;
|
|
|
|
USHORT nSubType;
|
|
|
|
short nOffset;
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwPageNumberField(SwPageNumberFieldType*, USHORT nSub = PG_RANDOM,
|
2005-12-14 13:46:21 +00:00
|
|
|
sal_uInt32 nFmt = 0, short nOff = 0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
const String& GetUserString() const { return sUserStr; }
|
|
|
|
void SetUserString( const String& rS ) { sUserStr = rS; }
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Autoren
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwAuthorFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
public:
|
2001-01-18 13:08:36 +00:00
|
|
|
SwAuthorFieldType();
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
String Expand(ULONG) const;
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: AutorenFeld
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwAuthorField : public SwField
|
|
|
|
{
|
|
|
|
String aContent;
|
|
|
|
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwAuthorField(SwAuthorFieldType*, sal_uInt32 nFmt = 0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
|
|
|
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
|
|
inline const String& GetContent() const { return aContent; }
|
|
|
|
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Filename
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwFileNameFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc *pDoc;
|
|
|
|
public:
|
|
|
|
SwFileNameFieldType(SwDoc*);
|
|
|
|
|
|
|
|
String Expand(ULONG) const;
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: FileName
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwFileNameField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
String aContent;
|
|
|
|
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwFileNameField(SwFileNameFieldType*, sal_uInt32 nFmt = 0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
|
|
|
|
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
|
|
|
inline const String& GetContent() const { return aContent; }
|
|
|
|
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: TemplName
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwTemplNameFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc *pDoc;
|
|
|
|
public:
|
|
|
|
SwTemplNameFieldType(SwDoc*);
|
|
|
|
|
|
|
|
String Expand(ULONG) const;
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: TemplName
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwTemplNameField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwTemplNameField(SwTemplNameFieldType*, sal_uInt32 nFmt = 0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Docstatistik
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwDocStatFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc* pDoc;
|
2001-02-23 11:45:30 +00:00
|
|
|
sal_Int16 nNumberingType;//com::sun::star::style::NumberingType
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
SwDocStatFieldType(SwDoc*);
|
2005-12-14 13:46:21 +00:00
|
|
|
String Expand(USHORT nSubType, sal_uInt32 nFmt) const;
|
2000-09-18 16:15:01 +00:00
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
|
2001-02-23 11:45:30 +00:00
|
|
|
inline void SetNumFormat( sal_Int16 eFmt ) { nNumberingType = eFmt; }
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Dokumentstatistik
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwDocStatField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
USHORT nSubType;
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwDocStatField( SwDocStatFieldType*,
|
2005-12-14 13:46:21 +00:00
|
|
|
USHORT nSubType = 0, sal_uInt32 nFmt = 0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
void ChangeExpansion( const SwFrm* pFrm );
|
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
|
|
|
|
|
|
|
virtual USHORT GetSubType() const;
|
|
|
|
virtual void SetSubType(USHORT nSub);
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
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; }
|
|
|
|
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
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
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);
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Macro ausfuehren
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwMacroFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc* pDoc;
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwMacroFieldType(SwDoc*);
|
|
|
|
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Macrofeld
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwMacroField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
String aMacro;
|
|
|
|
String aText;
|
2004-05-19 07:50:43 +00:00
|
|
|
BOOL bIsScriptURL;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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;
|
2004-05-19 07:50:43 +00:00
|
|
|
SvxMacro GetSvxMacro() const;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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);
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2001-08-02 17:37:24 +00:00
|
|
|
|
|
|
|
static void CreateMacroString( String& rMacro,
|
|
|
|
const String& rMacroName,
|
|
|
|
const String& rLibraryName );
|
2004-05-19 07:50:43 +00:00
|
|
|
|
|
|
|
static BOOL isScriptURL( const String& str );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: PostIts
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwPostItFieldType : public SwFieldType
|
|
|
|
{
|
2008-02-19 12:34:02 +00:00
|
|
|
private:
|
|
|
|
SwDoc* mpDoc;
|
2000-09-18 16:15:01 +00:00
|
|
|
public:
|
2008-02-19 12:34:02 +00:00
|
|
|
SwPostItFieldType(SwDoc* pDoc);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual SwFieldType* Copy() const;
|
2008-02-19 12:34:02 +00:00
|
|
|
SwDoc* GetDoc() {return mpDoc;};
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: PostIt
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwPostItField : public SwField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
2008-02-19 12:34:02 +00:00
|
|
|
String sTxt; // die Anmerkung
|
|
|
|
String sAuthor; // der Author
|
|
|
|
DateTime aDateTime; // Datum und Zeit der Anmerkung
|
|
|
|
OutlinerParaObject* mpText;
|
|
|
|
SwTextAPIObject* m_pTextObject;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
SwPostItField( SwPostItFieldType*,
|
2008-02-19 12:34:02 +00:00
|
|
|
const String& rAuthor, const String& rTxt, const DateTime& rDate);
|
|
|
|
~SwPostItField();
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
|
|
|
|
2008-02-19 12:34:02 +00:00
|
|
|
inline const Date GetDate() const { return aDateTime.GetDate(); }
|
|
|
|
inline const Time GetTime() const { return aDateTime.GetTime(); }
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
// 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; }
|
|
|
|
|
2008-02-19 12:34:02 +00:00
|
|
|
const OutlinerParaObject* GetTextObject() const;
|
|
|
|
void SetTextObject( OutlinerParaObject* pText );
|
|
|
|
|
2009-10-20 19:25:59 +02:00
|
|
|
sal_uInt32 GetNumberOfParagraphs() const;
|
|
|
|
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2004-09-08 13:49:42 +00:00
|
|
|
virtual String GetDescription() const;
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: DokumentInfo
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwDocInfoFieldType : public SwValueFieldType
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SwDocInfoFieldType(SwDoc* pDc);
|
|
|
|
|
2007-11-26 14:27:32 +00:00
|
|
|
String Expand(USHORT nSubType, sal_uInt32 nFormat, USHORT nLang, const String& rName) const;
|
2000-09-18 16:15:01 +00:00
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwDocInfoField : public SwValueField
|
2000-09-18 16:15:01 +00:00
|
|
|
{
|
|
|
|
USHORT nSubType;
|
|
|
|
String aContent;
|
2007-11-26 14:27:32 +00:00
|
|
|
String aName;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
public:
|
2007-11-26 14:27:32 +00:00
|
|
|
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, const String& rName, sal_uInt32 nFmt=0);
|
2008-04-03 15:49:45 +00:00
|
|
|
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, const String& rName, const String& rValue, sal_uInt32 nFmt=0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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;
|
2008-02-26 13:00:31 +00:00
|
|
|
String GetName() const { return aName; }
|
2008-07-01 10:24:24 +00:00
|
|
|
void SetName( const String& rName ) { aName = rName; }
|
2000-09-18 16:15:01 +00:00
|
|
|
inline void SetExpansion(const String& rStr) { aContent = rStr; }
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: erweiterte Benutzereinstellung
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
class SwExtUserFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
String aData;
|
|
|
|
public:
|
|
|
|
SwExtUserFieldType();
|
|
|
|
|
|
|
|
inline void SetData(const String& rStr) { aData = rStr; }
|
|
|
|
|
2005-12-14 13:46:21 +00:00
|
|
|
String Expand(USHORT nSubType, sal_uInt32 nFormat) const;
|
2000-09-18 16:15:01 +00:00
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
class SwExtUserField : public SwField
|
|
|
|
{
|
|
|
|
String aContent;
|
|
|
|
USHORT nType;
|
|
|
|
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwExtUserField(SwExtUserFieldType*, USHORT nSub, sal_uInt32 nFmt=0);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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; }
|
|
|
|
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
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; }
|
|
|
|
|
|
|
|
short GetOffset() const { return nOffset; }
|
|
|
|
void SetOffset( short nOff ) { nOffset = nOff; }
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: relatives Seitennummern - Abfrage Feld
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwRefPageGetFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc* pDoc;
|
2001-02-23 11:45:30 +00:00
|
|
|
sal_Int16 nNumberingType;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
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 );
|
|
|
|
|
|
|
|
SwDoc* GetDoc() const { return pDoc; }
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Relative Seitennummerierung Abfragen
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwRefPageGetField : public SwField
|
|
|
|
{
|
|
|
|
String sTxt;
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwRefPageGetField( SwRefPageGetFieldType*, sal_uInt32 nFmt );
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
virtual String Expand() const;
|
|
|
|
virtual SwField* Copy() const;
|
|
|
|
|
|
|
|
void SetText( const String& rTxt ) { sTxt = rTxt; }
|
|
|
|
|
|
|
|
void ChangeExpansion( const SwFrm* pFrm, const SwTxtFld* pFld );
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Feld zum Anspringen und Editieren
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwJumpEditFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc* pDoc;
|
|
|
|
SwDepend aDep;
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwJumpEditFieldType( SwDoc* pDoc );
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
|
|
|
|
SwCharFmt* GetCharFmt();
|
|
|
|
};
|
|
|
|
|
|
|
|
class SwJumpEditField : public SwField
|
|
|
|
{
|
|
|
|
String sTxt, sHelp;
|
|
|
|
public:
|
2005-12-14 13:46:21 +00:00
|
|
|
SwJumpEditField( SwJumpEditFieldType*, sal_uInt32 nFormat,
|
2000-09-18 16:15:01 +00:00
|
|
|
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(); }
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
2001-01-18 13:08:36 +00:00
|
|
|
Beschreibung: Script Fieldtype
|
2000-09-18 16:15:01 +00:00
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwScriptFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
SwDoc* pDoc;
|
|
|
|
public:
|
|
|
|
SwScriptFieldType( SwDoc* pDoc );
|
|
|
|
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
2001-01-18 13:08:36 +00:00
|
|
|
Beschreibung: Script Field
|
2000-09-18 16:15:01 +00:00
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
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 );
|
|
|
|
|
2004-09-08 13:49:42 +00:00
|
|
|
virtual String GetDescription() const;
|
|
|
|
|
2000-09-18 16:15:01 +00:00
|
|
|
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);
|
|
|
|
|
|
|
|
BOOL IsCodeURL() const { return bCodeURL; }
|
|
|
|
void SetCodeURL( BOOL bURL ) { bCodeURL = bURL; }
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
2001-01-18 13:08:36 +00:00
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Combined Character Fieldtype
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwCombinedCharFieldType : public SwFieldType
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SwCombinedCharFieldType();
|
|
|
|
|
|
|
|
virtual SwFieldType* Copy() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Script Field
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#define MAX_COMBINED_CHARACTERS 6
|
|
|
|
|
2009-01-05 14:06:42 +00:00
|
|
|
class SW_DLLPUBLIC SwCombinedCharField : public SwField
|
2001-01-18 13:08:36 +00:00
|
|
|
{
|
|
|
|
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);
|
|
|
|
|
2010-10-04 15:23:52 +01:00
|
|
|
virtual bool QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
|
|
|
|
virtual bool PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
|
2001-01-18 13:08:36 +00:00
|
|
|
};
|
|
|
|
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
#endif // _DOCUFLD_HXX
|
2010-10-14 08:30:41 +02:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|