Files
libreoffice/sw/inc/docufld.hxx

840 lines
26 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2000-09-18 16:15:01 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2000-09-18 16:15:01 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2000-09-18 16:15:01 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-18 16:15:01 +00:00
*
* This file is part of OpenOffice.org.
2000-09-18 16:15:01 +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
*
* 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
*
* 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
CWS-TOOLING: integrate CWS notes7 2008-12-29 19:45:08 +0100 mod r265824 : CWS-TOOLING: rebase CWS notes7 to trunk@265758 (milestone: DEV300:m38) 2008-12-16 14:54:42 +0100 mod r265544 : #i97239# 2008-12-16 14:53:18 +0100 mod r265543 : #i97239# 2008-12-16 13:36:43 +0100 mod r265537 : 96602 2008-12-13 13:02:54 +0100 mba r265452 : warning fixed 2008-12-13 08:20:21 +0100 mod r265448 : search inside notes 2008-12-13 00:11:47 +0100 mod r265447 : search inside notes 2008-12-13 00:11:09 +0100 mod r265446 : search inside notes 2008-12-13 00:10:52 +0100 mod r265445 : search inside notes 2008-12-12 19:39:14 +0100 mod r265439 : search inside notes 2008-12-12 19:02:44 +0100 mod r265438 : search inside notes 2008-12-12 16:42:07 +0100 mba r265431 : #i80135#: search in notes 2008-12-12 16:11:54 +0100 mba r265429 : #i80135#: search in notes 2008-12-12 16:11:02 +0100 mba r265428 : #i80135#: search in notes 2008-12-11 20:24:20 +0100 pb r265358 : fix: #i80135# fixes for aNotesBtn 2008-12-11 20:23:19 +0100 pb r265357 : fix: #i80135# fixes for aNotesBtn 2008-12-11 07:42:17 +0100 pb r265241 : fix: #i80135# CB_NOTES added 2008-12-11 07:40:36 +0100 pb r265240 : fix: #i80135# CB_NOTES added 2008-12-11 07:32:03 +0100 pb r265239 : fix: #i80135# CheckBox aNotesBtn added 2008-12-11 07:24:45 +0100 pb r265238 : fix: #i80135# CheckBox aNotesBtn added 2008-12-10 15:41:31 +0100 mod r265198 : crash using replies 2008-12-10 15:21:23 +0100 mod r265195 : crash using replies 2008-12-10 13:45:14 +0100 mba r265181 : warning fixed 2008-12-10 13:26:45 +0100 mba r265178 : warning fixed 2008-12-10 11:48:23 +0100 mba r265162 : fixed compilation error on Linux 2008-12-03 18:39:07 +0100 mod r264806 : we don't get the Ctrl-Alt-N on mac inside a note, let's do the whole reply thing using the shell, cleaner anyway 2008-12-03 17:13:59 +0100 mod r264802 : search dialog can be started and closed when focus is inside a note 2008-12-03 00:07:08 +0100 mod r264733 : search inside notes 2008-12-02 18:06:08 +0100 mod r264729 : WaE 2008-12-02 15:01:26 +0100 mod r264703 : WaE 2008-12-02 00:20:14 +0100 mod r264644 : WaE 2008-12-01 10:06:14 +0100 mod r264587 : WaE 2008-12-01 01:28:34 +0100 mod r264585 : WaE 2008-11-30 22:51:19 +0100 mod r264584 : search inside notes 2008-11-30 17:03:04 +0100 mod r264583 : search inside notes 2008-11-28 16:30:05 +0100 mod r264560 : #i96602# 2008-11-28 16:14:50 +0100 mod r264559 : test 2008-11-28 16:11:37 +0100 mod r264558 : test 2008-11-17 17:46:10 +0100 mod r263735 : WaE 2008-11-17 17:45:56 +0100 mod r263734 : WaE 2008-11-17 17:37:35 +0100 mod r263733 : revert manual fix for icu 2008-11-17 15:03:55 +0100 mod r263726 : manual fix for icu 2008-11-17 11:17:49 +0100 mod r263707 : manual fix for icu 2008-11-14 15:51:19 +0100 mod r263679 : fix 2008-11-14 14:48:02 +0100 mod r263676 : some more cleanup, redline comments not in the margin for 3.1 2008-11-14 08:37:07 +0100 mod r263664 : end of line missing 2008-11-13 18:36:53 +0100 mod r263660 : WaE 2008-11-13 18:20:04 +0100 mod r263659 : #i94374# 2008-11-13 15:51:28 +0100 mod r263648 : CWS-TOOLING: rebase CWS notes7 to trunk@263288 (milestone: DEV300:m35) 2008-11-13 08:33:19 +0100 mod r263622 : typos 2008-11-02 23:18:19 +0100 mod r263278 : changes notes, replies 2008-11-01 11:48:35 +0100 mod r262873 : replies, comments 2008-11-01 11:44:57 +0100 mod r262872 : notes search button 2008-10-10 14:34:34 +0200 mod r262150 : migration from cvs to svn 2008-10-10 14:33:39 +0200 mod r262149 : migration from cvs to svn
2009-01-02 15:51:45 +00:00
#include <tools/date.hxx>
#include <tools/datetime.hxx>
#include <svl/macitem.hxx>
2000-09-18 16:15:01 +00:00
#include "fldbas.hxx"
#include "numrule.hxx"
class _SetGetExpFlds;
class SwTxtFld;
class SwFrm;
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
};
typedef sal_uInt16 SwDocInfoSubType;
namespace nsSwDocInfoSubType
{
// 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_*!
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;
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;
const SwDocInfoSubType DI_SUB_AUTHOR = 0x0100;
const SwDocInfoSubType DI_SUB_TIME = 0x0200;
const SwDocInfoSubType DI_SUB_DATE = 0x0300;
const SwDocInfoSubType DI_SUB_FIXED = 0x1000;
const SwDocInfoSubType DI_SUB_MASK = 0xff00;
}
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
{
sal_Int16 nNumberingType;
2000-09-18 16:15:01 +00:00
USHORT nNum, nMax;
BOOL bVirtuell;
public:
SwPageNumberFieldType();
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,
BOOL bVirtPageNum, const sal_Int16* pNumFmt = 0 );
2000-09-18 16:15:01 +00:00
virtual SwFieldType* Copy() const;
};
/*--------------------------------------------------------------------
Beschreibung: Seitennummerierung
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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,
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:
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
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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:
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
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
2009-01-05 14:06:42 +00:00
class SW_DLLPUBLIC SwTemplNameField : public SwField
2000-09-18 16:15:01 +00:00
{
public:
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;
sal_Int16 nNumberingType;//com::sun::star::style::NumberingType
2000-09-18 16:15:01 +00:00
public:
SwDocStatFieldType(SwDoc*);
String Expand(USHORT nSubType, sal_uInt32 nFmt) const;
2000-09-18 16:15:01 +00:00
virtual SwFieldType* Copy() const;
inline void SetNumFormat( sal_Int16 eFmt ) { nNumberingType = eFmt; }
2000-09-18 16:15:01 +00:00
};
/*--------------------------------------------------------------------
Beschreibung: Dokumentstatistik
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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*,
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
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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;
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;
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 );
static void CreateMacroString( String& rMacro,
const String& rMacroName,
const String& rLibraryName );
static BOOL isScriptURL( const String& str );
2000-09-18 16:15:01 +00:00
};
/*--------------------------------------------------------------------
Beschreibung: PostIts
--------------------------------------------------------------------*/
class SwPostItFieldType : public SwFieldType
{
private:
SwDoc* mpDoc;
2000-09-18 16:15:01 +00:00
public:
SwPostItFieldType(SwDoc* pDoc);
2000-09-18 16:15:01 +00:00
virtual SwFieldType* Copy() const;
SwDoc* GetDoc() {return mpDoc;};
2000-09-18 16:15:01 +00:00
};
/*--------------------------------------------------------------------
Beschreibung: PostIt
--------------------------------------------------------------------*/
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
2009-01-05 14:06:42 +00:00
class SW_DLLPUBLIC SwPostItField : public SwField
2000-09-18 16:15:01 +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*,
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;
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; }
const OutlinerParaObject* GetTextObject() const;
void SetTextObject( OutlinerParaObject* pText );
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 );
virtual String GetDescription() const;
2000-09-18 16:15:01 +00:00
};
/*--------------------------------------------------------------------
Beschreibung: DokumentInfo
--------------------------------------------------------------------*/
class SwDocInfoFieldType : public SwValueFieldType
{
public:
SwDocInfoFieldType(SwDoc* pDc);
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;
};
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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;
String aName;
2000-09-18 16:15:01 +00:00
public:
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, const String& rName, sal_uInt32 nFmt=0);
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;
String GetName() const { return aName; }
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; }
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:
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;
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:
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:
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 );
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
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
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
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */