2000-09-18 16:15:01 +00:00
/*************************************************************************
*
2005-09-09 00:40:43 +00:00
* OpenOffice . org - a multi - platform office productivity suite
2000-09-18 16:15:01 +00:00
*
2005-09-09 00:40:43 +00:00
* $ RCSfile : doc . hxx , v $
2000-09-18 16:15:01 +00:00
*
2007-04-25 07:52:52 +00:00
* $ Revision : 1.134 $
2000-09-18 16:15:01 +00:00
*
2007-04-25 07:52:52 +00:00
* last change : $ Author : rt $ $ Date : 2007 - 04 - 25 08 : 52 : 52 $
2000-09-18 16:15:01 +00:00
*
2005-09-09 00:40:43 +00:00
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1 .
2000-09-18 16:15:01 +00:00
*
*
2005-09-09 00:40:43 +00:00
* GNU Lesser General Public License Version 2.1
* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Copyright 2005 by Sun Microsystems , Inc .
* 901 San Antonio Road , Palo Alto , CA 94303 , USA
2000-09-18 16:15:01 +00:00
*
2005-09-09 00:40:43 +00:00
* 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 .
2000-09-18 16:15:01 +00:00
*
2005-09-09 00:40:43 +00:00
* 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 .
2000-09-18 16:15:01 +00:00
*
2005-09-09 00:40:43 +00:00
* 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
2000-09-18 16:15:01 +00:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# ifndef _DOC_HXX
# define _DOC_HXX
2004-08-23 07:30:02 +00:00
2006-08-14 14:19:55 +00:00
/** SwDoc interfaces */
# ifndef IINTERFACE_HXX_INCLUDED
# include <IInterface.hxx>
# endif
# ifndef IDOCUMENTSETTINGACCESS_HXX_INCLUDED
# include <IDocumentSettingAccess.hxx>
# endif
# ifndef IDOCUMENTDEVICEACCESS_HXX_INCLUDED
# include <IDocumentDeviceAccess.hxx>
# endif
# ifndef IDOCUMENTBOOKMARKACCESS_HXX_INCLUDED
# include <IDocumentBookmarkAccess.hxx>
# endif
# ifndef IREDLINEACCESS_HXX_INCLUDED
# include <IDocumentRedlineAccess.hxx>
# endif
# ifndef IDOCUMENTUNDOREDO_HXX_INCLUDED
# include <IDocumentUndoRedo.hxx>
# endif
# ifndef IDOCUMENTLINKSADMINISTRATION_HXX_INCLUDED
# include <IDocumentLinksAdministration.hxx>
# endif
# ifndef IDOCUMENTFIELDSACCESS_HXX_INCLUDED
# include <IDocumentFieldsAccess.hxx>
# endif
# ifndef IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
# include <IDocumentContentOperations.hxx>
# endif
# ifndef IDOCUMENTSTYLEPOOLACCESS_HXX_INCLUDED
# include <IDocumentStylePoolAccess.hxx>
# endif
# ifndef IDOCUMENTLINENUMBERACCESS_HXX_INCLUDED
# include <IDocumentLineNumberAccess.hxx>
# endif
# ifndef IDOCUMENTSTATISTICS_HXX_INCLUDED
# include <IDocumentStatistics.hxx>
# endif
# ifndef IDOCUMENTSTATE_HXX_INCLUDED
# include <IDocumentState.hxx>
# endif
# ifndef IDOCUMENTDRAWMODELACCESS_HXX_INCLUDED
# include <IDocumentDrawModelAccess.hxx>
# endif
# ifndef IDOCUMENTLAYOUTACCESS_HXX_INCLUDED
# include <IDocumentLayoutAccess.hxx>
# endif
2006-10-11 07:46:44 +00:00
# ifndef IDOCUMENTTIMERACCESS_HXX_INCLUDED
# include <IDocumentTimerAccess.hxx>
# endif
2006-08-14 14:19:55 +00:00
2000-09-18 16:15:01 +00:00
# define _SVSTDARR_STRINGSDTOR
# include <svtools/svstdarr.hxx>
2004-10-04 17:57:48 +00:00
# ifndef _COM_SUN_STAR_EMBED_XEMBEDDEDOBJECT_HPP_
# include <com/sun/star/embed/XEmbeddedObject.hpp>
# endif
# ifndef _COM_SUN_STAR_EMBED_XSTORAGE_HPP_
# include <com/sun/star/embed/XStorage.hpp>
# endif
2000-09-18 16:15:01 +00:00
# ifndef _TIMER_HXX //autogen
# include <vcl/timer.hxx>
# endif
2004-08-23 07:30:02 +00:00
# ifndef INCLUDED_SWDLLAPI_H
# include "swdllapi.h"
# endif
2000-09-18 16:15:01 +00:00
# ifndef _SWTYPES_HXX
# include <swtypes.hxx>
# endif
# ifndef _NDARR_HXX
# include <ndarr.hxx>
# endif
# ifndef _SWATRSET_HXX
# include <swatrset.hxx>
# endif
# ifndef _TOXE_HXX
# include <toxe.hxx> // enums
# endif
# ifndef _FLYENUM_HXX
# include <flyenum.hxx>
# endif
# ifndef _ITABENUM_HXX
# include <itabenum.hxx>
# endif
2006-08-14 14:19:55 +00:00
# ifndef _SWDBDATA_HXXnLinkCt
2001-02-21 11:13:10 +00:00
# include <swdbdata.hxx>
# endif
2001-03-28 12:47:06 +00:00
# ifndef _CHCMPRSE_HXX
# include <chcmprse.hxx>
# endif
2000-09-18 16:15:01 +00:00
2000-10-27 10:55:57 +00:00
# ifndef _COM_SUN_STAR_LINGUISTIC2_XSPELLCHECKER1_HPP_
# include <com/sun/star/linguistic2/XSpellChecker1.hpp>
2000-09-18 16:15:01 +00:00
# endif
2000-10-27 10:55:57 +00:00
# ifndef _COM_SUN_STAR_LINGUISTIC2_XHYPHENATEDWORD_HPP_
# include <com/sun/star/linguistic2/XHyphenatedWord.hpp>
2000-09-18 16:15:01 +00:00
# endif
2001-03-30 11:58:00 +00:00
# ifndef _VOS_REF_HXX
# include <vos/ref.hxx>
# endif
2003-07-04 12:18:46 +00:00
# ifndef _SVDTYPES_HXX
# include <svx/svdtypes.hxx>
# endif
2004-09-08 13:49:28 +00:00
# ifndef _SFXSTYLE_HXX //autogen // #116530#
# include <svtools/style.hxx>
# endif
2003-07-04 12:18:46 +00:00
2004-10-22 07:08:57 +00:00
# include <hash_map>
# include <stringhash.hxx>
2004-10-04 17:57:48 +00:00
# include <svtools/embedhlp.hxx>
class SfxObjectShell ;
class SfxObjectShellRef ;
2001-03-30 11:58:00 +00:00
class SvxForbiddenCharactersTable ;
2000-09-18 16:15:01 +00:00
class SwExtTextInput ;
class DateTime ;
class EditFieldInfo ;
class JobSetup ;
class Color ;
class KeyCode ;
class Outliner ;
class OutputDevice ;
class Point ;
class SbxArray ;
class SdrModel ;
class SdrObject ;
class SdrUndoAction ;
class SfxDocumentInfo ;
2003-04-01 08:50:47 +00:00
class VirtualDevice ;
2000-09-18 16:15:01 +00:00
class SfxPrinter ;
class SvNumberFormatter ;
class SvStringsSort ;
class SvUShorts ;
class SvUShortsSort ;
class SvxLinkManager ;
class SvxMacro ;
class SvxMacroTableDtor ;
class SvxBorderLine ;
class SwAutoCompleteWord ;
class SwAutoCorrExceptWord ;
class SwBookmark ;
class SwBookmarks ;
class SwCalc ;
class SwCellFrm ;
class SwCharFmt ;
class SwCharFmts ;
class SwConditionTxtFmtColl ;
class SwCrsrShell ;
class SwCursor ;
class SwDBNameInfField ;
class SwDocShell ;
class SwDocUpdtFld ;
class SwDrawFrmFmt ;
class SwDrawView ;
class SwEditShell ;
class SwFieldType ;
2004-05-18 12:57:08 +00:00
class SwField ;
class SwTxtFld ;
2000-09-18 16:15:01 +00:00
class SwFldTypes ;
class SwFlyFrmFmt ;
class SwFmt ;
class SwFmtINetFmt ;
class SwFmtRefMark ;
class SwFrmFmt ;
class SwFrmFmts ;
class SwFtnIdxs ;
class SwFtnInfo ;
class SwEndNoteInfo ;
2000-11-28 19:40:08 +00:00
class GraphicObject ;
2000-09-18 16:15:01 +00:00
class SwGrfFmtColl ;
class SwGrfFmtColls ;
class SwLineNumberInfo ;
class SwNewDBMgr ;
class SwNoTxtNode ;
class SwNodeIndex ;
class SwNodeRange ;
class SwNumRule ;
class SwNumRuleTbl ;
class SwPageDesc ;
class SwPosFlyFrms ;
class SwPagePreViewPrtData ;
class SwRedline ;
class SwRedlineTbl ;
class SwRootFrm ;
2001-01-23 19:19:08 +00:00
class SwRubyList ;
class SwRubyListEntry ;
2000-09-18 16:15:01 +00:00
class SwSectionFmt ;
class SwSectionFmts ;
class SwSelBoxes ;
class SwSpzFrmFmts ;
class SwTOXBase ;
class SwTOXBaseSection ;
class SwTOXMark ;
class SwTOXMarks ;
class SwTOXType ;
class SwTOXTypes ;
class SwTabCols ;
class SwTable ;
class SwTableAutoFmt ;
class SwTableBox ;
class SwTableBoxFmt ;
class SwTableFmt ;
class SwTableLineFmt ;
class SwTableNode ;
class SwTextBlocks ;
class SwTxtFmtColl ;
class SwTxtFmtColls ;
class SwURLStateChanged ;
class SwUndo ;
class SwUndoIds ;
class SwUndoIter ;
class SwUndos ;
class SwUnoCrsr ;
class SwUnoCrsrTbl ;
class ViewShell ;
class _SetGetExpFld ;
class SwDrawContact ;
class SwLayouter ;
class SdrView ;
class SdrMarkList ;
class SwAuthEntry ;
class SwUnoCallBack ;
2001-05-11 07:41:31 +00:00
class SwLayoutCache ;
2006-12-01 14:31:51 +00:00
class IStyleAccess ;
2000-09-18 16:15:01 +00:00
struct SwCallMouseEvent ;
struct SwDocStat ;
struct SwHash ;
struct SwSortOptions ;
struct SwDefTOXBase_Impl ;
2001-05-10 07:48:50 +00:00
struct SwPrintData ;
2003-07-04 12:18:46 +00:00
class SdrPageView ;
2005-04-04 07:12:25 +00:00
struct SwConversionArgs ;
2004-05-18 12:57:08 +00:00
class SwRewriter ;
class SwMsgPoolItem ;
2000-09-18 16:15:01 +00:00
2001-03-02 13:39:49 +00:00
namespace com { namespace sun { namespace star {
namespace i18n {
2001-01-19 15:45:37 +00:00
struct ForbiddenCharacters ; // comes from the I18N UNO interface
2001-03-02 13:39:49 +00:00
}
namespace uno {
template < class > class Sequence ;
}
2004-11-16 09:18:58 +00:00
namespace container {
class XNameContainer ; // for getXForms()/isXForms()/initXForms() methods
}
2006-08-14 14:19:55 +00:00
} } }
2001-01-19 15:45:37 +00:00
2004-10-04 17:57:48 +00:00
namespace sfx2 {
2001-03-08 20:28:23 +00:00
class SvLinkSource ;
2006-08-14 14:19:55 +00:00
}
2000-12-21 08:32:45 +00:00
2000-09-18 16:15:01 +00:00
//PageDescriptor-Schnittstelle, Array hier wegen inlines.
typedef SwPageDesc * SwPageDescPtr ;
2006-08-14 14:19:55 +00:00
SV_DECL_PTRARR_DEL ( SwPageDescs , SwPageDescPtr , 4 , 4 )
2000-09-18 16:15:01 +00:00
2002-02-22 11:00:10 +00:00
// forward declartion
void SetAllScriptItem ( SfxItemSet & rSet , const SfxPoolItem & rItem ) ;
2006-08-14 14:19:55 +00:00
class SwDoc :
public IInterface ,
public IDocumentSettingAccess ,
public IDocumentDeviceAccess ,
public IDocumentRedlineAccess ,
public IDocumentBookmarkAccess ,
public IDocumentUndoRedo ,
public IDocumentLinksAdministration ,
public IDocumentFieldsAccess ,
public IDocumentContentOperations ,
public IDocumentStylePoolAccess ,
public IDocumentLineNumberAccess ,
public IDocumentStatistics ,
public IDocumentState ,
public IDocumentDrawModelAccess ,
2006-10-11 07:46:44 +00:00
public IDocumentLayoutAccess ,
public IDocumentTimerAccess
2000-09-18 16:15:01 +00:00
{
2006-11-08 12:20:34 +00:00
friend void _InitCore ( ) ;
friend void _FinitCore ( ) ;
2000-09-18 16:15:01 +00:00
//---------------- private Member --------------------------------
// -------------------------------------------------------------------
// die Objecte
SwNodes aNodes ; // Inhalt des Dokumentes
SwNodes aUndoNodes ; // Inhalt fuer das Undo
SwAttrPool aAttrPool ; // der Attribut Pool
SwPageDescs aPageDescs ; // PageDescriptoren
Link aOle2Link ; // OLE 2.0-Benachrichtigung
2006-08-14 14:19:55 +00:00
/* @@@MAINTAINABILITY-HORROR@@@
Timer should not be members of the model
*/
2006-10-11 07:46:44 +00:00
Timer aIdleTimer ; // der eigene IdleTimer
2000-09-18 16:15:01 +00:00
Timer aChartTimer ; // der Timer fuers Update aller Charts
Timer aOLEModifiedTimer ; // Timer for update modified OLE-Objecs
2001-02-21 11:13:10 +00:00
SwDBData aDBData ; // database descriptor
2001-04-23 13:08:17 +00:00
: : com : : sun : : star : : uno : : Sequence < sal_Int8 > aRedlinePasswd ;
2000-09-18 16:15:01 +00:00
String sTOIAutoMarkURL ; // ::com::sun::star::util::URL of table of index AutoMark file
SvStringsDtor aPatternNms ; // Array fuer die Namen der Dokument-Vorlagen
2004-11-16 09:18:58 +00:00
com : : sun : : star : : uno : : Reference < com : : sun : : star : : container : : XNameContainer >
xXForms ; // container with XForms models
2000-09-18 16:15:01 +00:00
// -------------------------------------------------------------------
// die Pointer
//Defaultformate
SwFrmFmt * pDfltFrmFmt ;
2004-05-18 12:57:08 +00:00
SwFrmFmt * pEmptyPageFmt ; // Format fuer die Default-Leerseite.
2000-09-18 16:15:01 +00:00
SwFrmFmt * pColumnContFmt ; // Format fuer Spaltencontainer
SwCharFmt * pDfltCharFmt ;
SwTxtFmtColl * pDfltTxtFmtColl ; // Defaultformatcollections
SwGrfFmtColl * pDfltGrfFmtColl ;
SwFrmFmts * pFrmFmtTbl ; // Formattabellen
SwCharFmts * pCharFmtTbl ;
SwSpzFrmFmts * pSpzFrmFmtTbl ;
SwSectionFmts * pSectionFmtTbl ;
SwFrmFmts * pTblFrmFmtTbl ; // spz. fuer Tabellen
SwTxtFmtColls * pTxtFmtCollTbl ; // FormatCollections
SwGrfFmtColls * pGrfFmtCollTbl ;
SwBookmarks * pBookmarkTbl ; //Bookmarks
SwTOXTypes * pTOXTypes ; // Verzeichnisse
SwDefTOXBase_Impl * pDefTOXBases ; // defaults of SwTOXBase's
SwRootFrm * pLayout ; // Rootframe des spezifischen Layouts.
SdrModel * pDrawModel ; // StarView Drawing
SwUndos * pUndos ; // Undo/Redo History
SwDocUpdtFld * pUpdtFlds ; // Struktur zum Field-Update
SwFldTypes * pFldTypes ; // Feldtypen
SwNewDBMgr * pNewDBMgr ; // Pointer auf den neuen DBMgr fuer
// Evaluierung der DB-Fields
2003-04-01 08:50:47 +00:00
VirtualDevice * pVirDev ; // can be used for formatting
SfxPrinter * pPrt ; // can be used for formatting
2001-05-10 07:48:50 +00:00
SwPrintData * pPrtData ; // Print configuration
2000-09-18 16:15:01 +00:00
SwDoc * pGlossaryDoc ; // Pointer auf das Glossary-Dokument. Dieses
SwNumRule * pOutlineRule ;
SwFtnInfo * pFtnInfo ;
SwEndNoteInfo * pEndNoteInfo ;
2006-08-14 14:19:55 +00:00
SwLineNumberInfo * pLineNumberInfo ;
2000-09-18 16:15:01 +00:00
SwFtnIdxs * pFtnIdxs ;
SwDocStat * pDocStat ; // Statistic Informationen
SfxDocumentInfo * pSwgInfo ; // Dokumentinformationen
SvxMacroTableDtor * pMacroTable ; // Tabelle der dokumentglobalen Macros
SwDocShell * pDocShell ; // Ptr auf die SfxDocShell vom Doc
2004-10-04 17:57:48 +00:00
SfxObjectShellRef * pDocShRef ; // fuers Kopieren von OLE-Nodes (wenn keine
2000-09-18 16:15:01 +00:00
// DocShell gesetzt ist, muss dieser
// Ref-Pointer gesetzt sein!!!!)
SvxLinkManager * pLinkMgr ; // Liste von Verknuepften (Grafiken/DDE/OLE)
SwAutoCorrExceptWord * pACEWord ; // fuer die automatische Uebernahme von
// autokorrigierten Woertern, die "zurueck"
// verbessert werden
SwURLStateChanged * pURLStateChgd ; // SfxClient fuer Aenderungen in der
// INetHistory
SvNumberFormatter * pNumberFormatter ; // NumFormatter fuer die Tabellen/Felder
2006-08-14 14:19:55 +00:00
2005-11-08 16:11:58 +00:00
mutable SwNumRuleTbl * pNumRuleTbl ; // Liste aller benannten NumRules
2006-08-14 14:19:55 +00:00
2004-10-22 07:08:57 +00:00
// Hash map to find numrules by name
mutable std : : hash_map < String , SwNumRule * , StringHash > aNumRuleMap ;
2000-09-18 16:15:01 +00:00
SwRedlineTbl * pRedlineTbl ; // Liste aller Redlines
String * pAutoFmtRedlnComment ; // Kommentar fuer Redlines, die
// uebers Autoformat eingefuegt werden
SwUnoCrsrTbl * pUnoCrsrTbl ;
SwPagePreViewPrtData * pPgPViewPrtData ; // Einzuege/Abstaende fuers
// Drucken der Seitenansicht
SwPaM * pExtInputRing ;
SwLayouter * pLayouter ; // ::com::sun::star::frame::Controller for complex layout formatting
// like footnote/endnote in sections
2006-12-01 14:31:51 +00:00
IStyleAccess * pStyleAccess ; // handling of automatic styles
2001-05-11 07:41:31 +00:00
SwLayoutCache * pLayoutCache ; // Layout cache to read and save with the
// document for a faster formatting
2000-09-18 16:15:01 +00:00
SwUnoCallBack * pUnoCallBack ;
2001-01-19 15:45:37 +00:00
2001-03-30 11:58:00 +00:00
// table of forbidden characters of this document
vos : : ORef < SvxForbiddenCharactersTable > xForbiddenCharsTable ;
2000-09-18 16:15:01 +00:00
// -------------------------------------------------------------------
// sonstige
2001-03-28 12:47:06 +00:00
sal_uInt16 nUndoPos ; // akt. Undo-InsertPosition (fuers Redo!)
sal_uInt16 nUndoSavePos ; // Position im Undo-Array, ab der das Doc
2000-09-18 16:15:01 +00:00
// nicht als modifiziert gilt
2001-03-28 12:47:06 +00:00
sal_uInt16 nUndoCnt ; // Anzahl von Undo Aktionen
sal_uInt16 nUndoSttEnd ; // != 0 -> innerhalb einer Klammerung
2000-09-18 16:15:01 +00:00
sal_uInt16 nAutoFmtRedlnCommentNo ; // SeqNo fuers UI-seitige zusammenfassen
// von AutoFmt-Redlines. Wird vom SwAutoFmt
// verwaltet!
2001-03-28 12:47:06 +00:00
sal_uInt16 nLinkUpdMode ; // UpdateMode fuer Links
sal_uInt16 nFldUpdMode ; // Mode fuer Felder/Charts automatisch aktualisieren
2006-08-14 14:19:55 +00:00
IDocumentRedlineAccess : : RedlineMode_t eRedlineMode ; // aktueller Redline Modus
2001-03-28 12:47:06 +00:00
SwCharCompressType eChrCmprType ; // for ASIAN: compress punctuation/kana
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
sal_Int32 mReferenceCount ;
2006-10-11 07:46:44 +00:00
sal_Int32 mIdleBlockCount ;
2000-09-18 16:15:01 +00:00
sal_Int8 nLockExpFld ; // Wenn != 0 hat UpdateExpFlds() keine Wirkung
2006-08-14 14:19:55 +00:00
/* Draw Model Layer IDs
* LayerIds , Heaven = = ueber dem Dokument
* Hell = = unter dem Dokument
* Controls = = ganz oben
*/
SdrLayerID nHeaven ;
SdrLayerID nHell ;
SdrLayerID nControls ;
2003-07-04 12:18:46 +00:00
SdrLayerID nInvisibleHeaven ;
SdrLayerID nInvisibleHell ;
SdrLayerID nInvisibleControls ;
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
bool mbGlossDoc : 1 ; //TRUE: ist ein Textbaustein Dokument
bool mbModified : 1 ; //TRUE: Dokument ist veraendert
bool mbDtor : 1 ; //TRUE: ist im SwDoc DTOR
// leider auch temporaer von
// SwSwgReader::InLayout(), wenn fehlerhafte
// Frames geloescht werden muessen
bool mbUndo : 1 ; // TRUE: Undo eingeschaltet
bool mbGroupUndo : 1 ; // TRUE: Undos werden gruppiert
bool mbPageNums : 1 ; // TRUE: es gibt virtuelle Seitennummern
bool mbLoaded : 1 ; // TRUE: ein geladenes Doc
bool mbUpdateExpFld : 1 ; // TRUE: Expression-Felder updaten
bool mbNewDoc : 1 ; // TRUE: neues Doc
bool mbNewFldLst : 1 ; // TRUE: Felder-Liste neu aufbauen
bool mbCopyIsMove : 1 ; // TRUE: Copy ist ein verstecktes Move
bool mbNoDrawUndoObj : 1 ; // TRUE: keine DrawUndoObjecte speichern
bool mbVisibleLinks : 1 ; // TRUE: Links werden sichtbar eingefuegt
bool mbBrowseMode : 1 ; // TRUE: Dokument im BrowseModus anzeigen
bool mbInReading : 1 ; // TRUE: Dokument wird gerade gelesen
2006-12-01 14:31:51 +00:00
bool mbInXMLImport : 1 ; // TRUE: During xml import, attribute portion building is not necessary
2006-08-14 14:19:55 +00:00
bool mbUpdateTOX : 1 ; // TRUE: nach Dokument laden die TOX Updaten
bool mbInLoadAsynchron : 1 ; // TRUE: Dokument wird gerade asynchron geladen
bool mbHTMLMode : 1 ; // TRUE: Dokument ist im HTMLMode
bool mbInCallModified : 1 ; // TRUE: im Set/Reset-Modified Link
bool mbIsGlobalDoc : 1 ; // TRUE: es ist ein GlobalDokument
bool mbGlblDocSaveLinks : 1 ; // TRUE: im GlobalDoc. gelinkte Sect. mit speichern
bool mbIsLabelDoc : 1 ; // TRUE: es ist ein Etiketten-Dokument
bool mbIsAutoFmtRedline : 1 ; // TRUE: die Redlines werden vom Autoformat aufgezeichnet
bool mbOLEPrtNotifyPending : 1 ; // TRUE: Printer ist geaendert und beim
// Erzeugen der ::com::sun::star::sdbcx::View ist eine Benachrichtigung
// der OLE-Objekte PrtOLENotify() notwendig.
bool mbAllOLENotify : 1 ; // True: Benachrichtigung aller Objekte ist notwendig
bool mbIsRedlineMove : 1 ; // True: die Redlines werden in/aus der Section verschoben
bool mbInsOnlyTxtGlssry : 1 ; // True: insert 'only text' glossary into doc
bool mbContains_MSVBasic : 1 ; // True: MS-VBasic exist is in our storage
bool mbPurgeOLE : 1 ; // TRUE: Purge OLE-Objects
bool mbKernAsianPunctuation : 1 ; // TRUE: kerning also for ASIAN punctuation
bool mbReadlineChecked : 1 ; // TRUE: if the query was already shown
bool mbWinEncryption : 1 ; // imported document password encrypted?
bool mbLinksUpdated : 1 ; // OD 2005-02-11 #i38810#
// flag indicating, that the links have been updated.
2000-12-06 11:27:40 +00:00
# ifndef PRODUCT
2006-08-14 14:19:55 +00:00
bool mbXMLExport : 1 ; // TRUE: during XML export
2000-12-06 11:27:40 +00:00
# endif
2003-04-01 08:50:47 +00:00
2006-05-04 12:55:55 +00:00
// --> OD 2006-03-21 #b6375613#
// Document flag to trigger conversion, which applys the workaround for documents,
// which uses a certain layout defect in OOo 1.x to layout the documents.
// This conversion is performed, when the frames for the layout are created.
// Thus, this document flag has to be set after load a document and before
// creating the document view.
2006-08-14 14:19:55 +00:00
bool mbApplyWorkaroundForB6375613 : 1 ;
2006-05-04 12:55:55 +00:00
// <--
2004-05-11 10:27:32 +00:00
//
// COMPATIBILITY FLAGS START
//
2005-07-08 10:00:32 +00:00
//
// HISTORY OF THE COMPATIBILITY FLAGS:
//
// SO5:
2006-08-14 14:19:55 +00:00
// mbParaSpaceMax def = FALSE, TRUE since SO8
// mbParaSpaceMaxAtPages def = FALSE, TRUE since SO8
2005-07-08 10:00:32 +00:00
//
// SO6:
2006-08-14 14:19:55 +00:00
// mbTabCompat def = FALSE, TRUE since SO8
2005-07-08 10:00:32 +00:00
//
// SO7:
2006-08-14 14:19:55 +00:00
// mbUseVirtualDevice def = TRUE
// mbAddFlyOffsets def = FALSE, hidden
2005-07-08 10:00:32 +00:00
//
2005-11-08 16:11:58 +00:00
// SO7pp1:
2005-07-08 10:00:32 +00:00
// bOldNumbering def = FALSE, hidden
//
// SO8:
2006-08-14 14:19:55 +00:00
// mbAddExternalLeading def = TRUE
// mbUseHiResolutionVirtualDevice def = TRUE, hidden
// mbOldLineSpacing def = FALSE
// mbAddParaSpacingToTableCells def = TRUE
// mbUseFormerObjectPos def = FALSE
// mbUseFormerTextWrapping def = FALSE
// mbConsiderWrapOnObjPos def = FALSE
2005-07-08 10:00:32 +00:00
//
// SO8pp1:
2006-08-14 14:19:55 +00:00
// mbIgnoreFirstLineIndentInNumbering def = FALSE, hidden
// mbDoNotJustifyLinesWithManualBreak def = FALSE, hidden
// mbDoNotResetParaAttrsForNumFont def = FALSE, hidden
2006-03-09 13:04:05 +00:00
//
2006-03-22 11:28:52 +00:00
// SO8pp3
// mbDoNotCaptureDrawObjsOnPage def = FALSE, hidden
// - Relevant for drawing objects, which don't follow the text flow, but
// whose position is outside the page area:
// FALSE: Such drawing objects are captured on the page area of its anchor.
// TRUE: Such drawing objects can leave the page area, they aren't captured.
2006-08-14 14:19:55 +00:00
// mbTableRowKeep def = FALSE, hidden
// mbIgnoreTabsAndBlanksForLineCalculation def = FALSE, hidden
// mbClipAsCharacterAnchoredWriterFlyFrame def = FALSE, hidden
2006-04-26 13:12:15 +00:00
// - Introduced in order to re-activate clipping of as-character anchored
// Writer fly frames in method <SwFlyInCntFrm::MakeAll()> for documents,
// which are created with version prior SO8/OOo 2.0
2006-10-27 10:58:39 +00:00
//
// SO8pp4
// mbUnixForceZeroExtLeading def = FALSE, hidden
2004-05-11 10:27:32 +00:00
2006-08-14 14:19:55 +00:00
bool mbParaSpaceMax : 1 ;
bool mbParaSpaceMaxAtPages : 1 ;
bool mbTabCompat : 1 ;
bool mbUseVirtualDevice : 1 ;
bool mbAddFlyOffsets : 1 ;
bool mbAddExternalLeading : 1 ;
bool mbUseHiResolutionVirtualDevice : 1 ;
bool mbOldLineSpacing : 1 ; // OD 2004-01-06 #i11859#
bool mbAddParaSpacingToTableCells : 1 ; // OD 2004-02-16 #106629#
bool mbUseFormerObjectPos : 1 ; // OD 2004-03-12 #i11860#
bool mbUseFormerTextWrapping : 1 ; // FME 2005-05-11 #108724#
bool mbConsiderWrapOnObjPos : 1 ; // OD 2004-05-05 #i28701#
// TRUE: object positioning algorithm has consider the wrapping style of // the floating screen objects as given by its attribute 'WrapInfluenceOnObjPos'
2005-07-08 10:00:32 +00:00
// non-ui-compatibility flags:
2006-08-14 14:19:55 +00:00
bool mbOldNumbering : 1 ; // HBRINKM #111955#
bool mbIgnoreFirstLineIndentInNumbering : 1 ; // FME 2005-05-30# i47448#
bool mbDoNotJustifyLinesWithManualBreak : 1 ; // FME 2005-06-08 #i49277#
bool mbDoNotResetParaAttrsForNumFont : 1 ; // FME 2005-08-11 #i53199#
bool mbTableRowKeep : 1 ; // FME 2006-02-10 #131283#
2006-10-27 10:58:39 +00:00
bool mbIgnoreTabsAndBlanksForLineCalculation : 1 ; // FME 2006-03-01 #i3952#
2006-08-14 14:19:55 +00:00
bool mbDoNotCaptureDrawObjsOnPage : 1 ; // OD 2006-03-14 #i62875#
bool mbOutlineLevelYieldsOutlineRule : 1 ;
bool mbClipAsCharacterAnchoredWriterFlyFrames : 1 ; // OD 2006-04-13 #b6402800#
2006-10-27 10:58:39 +00:00
bool mbUnixForceZeroExtLeading : 1 ; // FME 2006-10-09 #i60945#
2006-08-14 14:19:55 +00:00
bool mbDummyNonUIFlag2 : 1 ; // use this if necessary
2005-11-08 16:11:58 +00:00
2004-05-11 10:27:32 +00:00
//
// COMPATIBILITY FLAGS END
//
2000-09-18 16:15:01 +00:00
2004-09-17 12:21:18 +00:00
sal_Bool bWinEncryption ; // imported document password encrypted?
2006-10-11 07:46:44 +00:00
sal_Bool mbStartIdleTimer ; // idle timer mode start/stop
2000-09-18 16:15:01 +00:00
static SwAutoCompleteWord * pACmpltWords ; // Liste aller Worte fuers AutoComplete
static sal_uInt16 nUndoActions ; // anzahl von Undo ::com::sun::star::chaos::Action
//---------------- private Methoden ------------------------------
2006-08-14 14:19:55 +00:00
void checkRedlining ( IDocumentRedlineAccess : : RedlineMode_t & _rReadlineMode ) ;
2000-09-18 16:15:01 +00:00
sal_Bool DelUndoObj ( sal_uInt16 nEnde ) ; // loescht alle UndoObjecte vom Anfang
// bis zum angegebenen Ende
DECL_LINK ( AddDrawUndo , SdrUndoAction * ) ;
// DrawModel
void DrawNotifyUndoHdl ( ) ; // wegen CLOOKs
// nur fuer den internen Gebrauch deshalb privat.
// Kopieren eines Bereiches im oder in ein anderes Dokument !
// Die Position darf nicht im Bereich liegen !!
sal_Bool _Copy ( SwPaM & , SwPosition & ,
sal_Bool MakeNewFrms = sal_True , SwPaM * pCpyRng = 0 ) const ; // in ndcopy.cxx
SwFlyFrmFmt * _MakeFlySection ( const SwPosition & rAnchPos ,
const SwCntntNode & rNode , RndStdIds eRequestId ,
const SfxItemSet * pFlyAttrSet ,
SwFrmFmt * = 0 ) ;
SwFlyFrmFmt * _InsNoTxtNode ( const SwPosition & rPos , SwNoTxtNode * ,
const SfxItemSet * pFlyAttrSet ,
const SfxItemSet * pGrfAttrSet ,
SwFrmFmt * = 0 ) ;
void _CopyFlyInFly ( const SwNodeRange & rRg , const SwNodeIndex & rSttIdx ,
sal_Bool bCopyFlyAtFly = sal_False ) const ; // steht im ndcopy.cxx
2001-04-25 09:03:49 +00:00
sal_Int8 SetFlyFrmAnchor ( SwFrmFmt & rFlyFmt , SfxItemSet & rSet , sal_Bool bNewFrms ) ;
2000-09-18 16:15:01 +00:00
2005-01-21 09:27:28 +00:00
// --> OD 2005-01-13 #i40550#
typedef SwFmt * ( SwDoc : : * FNCopyFmt ) ( const String & , SwFmt * , BOOL , BOOL ) ;
// <--
2000-09-18 16:15:01 +00:00
SwFmt * CopyFmt ( const SwFmt & rFmt , const SvPtrarr & rFmtArr ,
FNCopyFmt fnCopyFmt , const SwFmt & rDfltFmt ) ;
void CopyFmtArr ( const SvPtrarr & rSourceArr , SvPtrarr & rDestArr ,
FNCopyFmt fnCopyFmt , SwFmt & rDfltFmt ) ;
void _CopyPageDescHeaderFooter ( sal_Bool bCpyHeader ,
const SwFrmFmt & rSrcFmt , SwFrmFmt & rDestFmt ) ;
SwFmt * FindFmtByName ( const SvPtrarr & rFmtArr ,
const String & rName ) const ;
2003-04-01 08:50:47 +00:00
2006-08-14 14:19:55 +00:00
VirtualDevice & CreateVirtualDevice_ ( ) const ;
SfxPrinter & CreatePrinter_ ( ) const ;
2000-09-18 16:15:01 +00:00
void PrtDataChanged ( ) ; //Printer oder JobSetup geandert, es muss
//fuer entsprechende Invalidierungen und
//Benachrichtigungen gesorgt werden.
// gcc: aFtnInfo::CopyCtor ist private, also muessen wir uns auch schuetzen
SwDoc ( const SwDoc & ) ;
// fuer Felder:
void _InitFieldTypes ( ) ; // wird vom CTOR gerufen!!
void _MakeFldList ( int eMode ) ;
2004-08-12 11:00:50 +00:00
2000-09-18 16:15:01 +00:00
// Datenbankfelder:
void UpdateDBNumFlds ( SwDBNameInfField & rDBFld , SwCalc & rCalc ) ;
void AddUsedDBToList ( SvStringsDtor & rDBNameList ,
const SvStringsDtor & rUsedDBNames ) ;
void AddUsedDBToList ( SvStringsDtor & rDBNameList , const String & rDBName ) ;
sal_Bool IsNameInArray ( const SvStringsDtor & rOldNames , const String & rName ) ;
void GetAllDBNames ( SvStringsDtor & rAllDBNames ) ;
void ReplaceUsedDBs ( const SvStringsDtor & rUsedDBNames ,
const String & rNewName , String & rFormel ) ;
SvStringsDtor & FindUsedDBs ( const SvStringsDtor & rAllDBNames ,
const String & rFormel ,
SvStringsDtor & rUsedDBNames ) ;
void InitDrawModel ( ) ;
void ReleaseDrawModel ( ) ;
void _CreateNumberFormatter ( ) ;
sal_Bool _UnProtectTblCells ( SwTable & rTbl ) ;
// erzeuge Anhand der vorgebenen Collection Teildokumente
// falls keine angegeben ist, nehme die Kapitelvorlage der 1. Ebene
sal_Bool SplitDoc ( sal_uInt16 eDocType , const String & rPath ,
const SwTxtFmtColl * pSplitColl ) ;
// Charts der angegebenen Tabelle updaten
void _UpdateCharts ( const SwTable & rTbl , ViewShell & rVSh ) const ;
2001-01-23 19:19:08 +00:00
BOOL _SelectNextRubyChars ( SwPaM & rPam , SwRubyListEntry & rRubyEntry ,
USHORT nMode ) ;
2005-11-08 16:11:58 +00:00
void AddNumRuleRanges ( SwNumRule * pRule , SwNodes & rNodes ) ;
2000-09-18 16:15:01 +00:00
// unser eigener 'IdlTimer' ruft folgende Methode
DECL_LINK ( DoIdleJobs , Timer * ) ;
// der CharTimer ruft diese Methode
DECL_LINK ( DoUpdateAllCharts , Timer * ) ;
DECL_LINK ( DoUpdateModifiedOLE , Timer * ) ;
public :
2006-08-14 14:19:55 +00:00
/** Life cycle
*/
2000-09-18 16:15:01 +00:00
SwDoc ( ) ;
~ SwDoc ( ) ;
2006-08-14 14:19:55 +00:00
inline bool IsInDtor ( ) const { return mbDtor ; }
/* @@@MAINTAINABILITY-HORROR@@@
Implementation details made public .
*/
2000-09-18 16:15:01 +00:00
SwNodes & GetNodes ( ) { return aNodes ; }
const SwNodes & GetNodes ( ) const { return aNodes ; }
2006-08-14 14:19:55 +00:00
/** IInterface
*/
virtual sal_Int32 acquire ( ) ;
virtual sal_Int32 release ( ) ;
virtual sal_Int32 getReferenceCount ( ) const ;
/** IDocumentSettingAccess
*/
virtual bool get ( /*[in]*/ DocumentSettingId id ) const ;
virtual void set ( /*[in]*/ DocumentSettingId id , /*[in]*/ bool value ) ;
virtual const com : : sun : : star : : i18n : : ForbiddenCharacters * getForbiddenCharacters ( /*[in]*/ USHORT nLang , /*[in]*/ bool bLocaleData ) const ;
virtual void setForbiddenCharacters ( /*[in]*/ USHORT nLang , /*[in]*/ const com : : sun : : star : : i18n : : ForbiddenCharacters & rForbiddenCharacters ) ;
virtual vos : : ORef < SvxForbiddenCharactersTable > & getForbiddenCharacterTable ( ) ;
virtual const vos : : ORef < SvxForbiddenCharactersTable > & getForbiddenCharacterTable ( ) const ;
virtual sal_uInt16 getLinkUpdateMode ( /*[in]*/ bool bGlobalSettings ) const ;
virtual void setLinkUpdateMode ( /*[in]*/ sal_uInt16 nMode ) ;
virtual sal_uInt16 getFieldUpdateFlags ( /*[in]*/ bool bGlobalSettings ) const ;
virtual void setFieldUpdateFlags ( /*[in]*/ sal_uInt16 nMode ) ;
virtual SwCharCompressType getCharacterCompressionType ( ) const ;
virtual void setCharacterCompressionType ( /*[in]*/ SwCharCompressType nType ) ;
/** IDocumentDeviceAccess
*/
virtual SfxPrinter * getPrinter ( /*[in]*/ bool bCreate ) const ;
virtual void setPrinter ( /*[in]*/ SfxPrinter * pP , /*[in]*/ bool bDeleteOld , /*[in]*/ bool bCallPrtDataChanged ) ;
virtual VirtualDevice * getVirtualDevice ( /*[in]*/ bool bCreate ) const ;
virtual void setVirtualDevice ( /*[in]*/ VirtualDevice * pVd , /*[in]*/ bool bDeleteOld , /*[in]*/ bool bCallVirDevDataChanged ) ;
virtual OutputDevice * getReferenceDevice ( /*[in]*/ bool bCreate ) const ;
virtual void setReferenceDeviceType ( /*[in]*/ bool bNewVirtual , /*[in]*/ bool bNewHiRes ) ;
virtual const JobSetup * getJobsetup ( ) const ;
virtual void setJobsetup ( /*[in]*/ const JobSetup & rJobSetup ) ;
virtual SwPrintData * getPrintData ( ) const ;
virtual void setPrintData ( /*[in]*/ const SwPrintData & rPrtData ) ;
/** IDocumentBookmarkAccess
*/
virtual const SwBookmarks & getBookmarks ( ) const ;
virtual SwBookmark * makeBookmark ( /*[in]*/ const SwPaM & rPaM , /*[in]*/ const KeyCode & rKC ,
/*[in]*/ const String & rName , /*[in]*/ const String & rShortName ,
/*[in]*/ BookmarkType eMark ) ;
virtual void deleteBookmark ( /*[in]*/ sal_uInt16 nPos ) ;
virtual void deleteBookmark ( /*[in]*/ const String & rName ) ;
virtual sal_uInt16 findBookmark ( /*[in]*/ const String & rName ) ;
virtual void makeUniqueBookmarkName ( /*[in/out]*/ String & rName ) ;
virtual sal_uInt16 getBookmarkCount ( /*[in]*/ bool bBkmrk ) const ;
virtual SwBookmark & getBookmark ( /*[in]*/ sal_uInt16 nPos , /*[in]*/ bool bBkmrk ) ;
/** IDocumentRedlineAccess
*/
virtual IDocumentRedlineAccess : : RedlineMode_t GetRedlineMode ( ) const ;
virtual void SetRedlineMode_intern ( /*[in]*/ IDocumentRedlineAccess : : RedlineMode_t eMode ) ;
virtual void SetRedlineMode ( /*[in]*/ IDocumentRedlineAccess : : RedlineMode_t eMode ) ;
virtual bool IsRedlineOn ( ) const ;
virtual bool IsIgnoreRedline ( ) const ;
virtual bool IsInRedlines ( const SwNode & rNode ) const ;
virtual const SwRedlineTbl & GetRedlineTbl ( ) const ;
virtual bool AppendRedline ( /*[in]*/ SwRedline * pPtr , /*[in]*/ bool bCallDelete ) ;
virtual bool SplitRedline ( const SwPaM & rPam ) ;
virtual bool DeleteRedline ( /*[in]*/ const SwPaM & rPam , /*[in]*/ bool bSaveInUndo , /*[in]*/ sal_uInt16 nDelType ) ;
virtual bool DeleteRedline ( /*[in]*/ const SwStartNode & rSection , /*[in]*/ bool bSaveInUndo , /*[in]*/ sal_uInt16 nDelType ) ;
virtual sal_uInt16 GetRedlinePos ( /*[in]*/ const SwNode & rNode , /*[in]*/ sal_uInt16 nType ) const ;
virtual void CompressRedlines ( ) ;
virtual const SwRedline * GetRedline ( /*[in]*/ const SwPosition & rPos , /*[in]*/ sal_uInt16 * pFndPos ) const ;
virtual bool IsRedlineMove ( ) const ;
virtual void SetRedlineMove ( /*[in]*/ bool bFlag ) ;
virtual bool AcceptRedline ( /*[in]*/ sal_uInt16 nPos , /*[in]*/ bool bCallDelete ) ;
virtual bool AcceptRedline ( /*[in]*/ const SwPaM & rPam , /*[in]*/ bool bCallDelete ) ;
virtual bool RejectRedline ( /*[in]*/ sal_uInt16 nPos , /*[in]*/ bool bCallDelete ) ;
virtual bool RejectRedline ( /*[in]*/ const SwPaM & rPam , /*[in]*/ bool bCallDelete ) ;
virtual const SwRedline * SelNextRedline ( /*[in]*/ SwPaM & rPam ) const ;
virtual const SwRedline * SelPrevRedline ( /*[in]*/ SwPaM & rPam ) const ;
virtual void UpdateRedlineAttr ( ) ;
virtual sal_uInt16 GetRedlineAuthor ( ) ;
virtual sal_uInt16 InsertRedlineAuthor ( const String & rAuthor ) ;
virtual bool SetRedlineComment ( /*[in]*/ const SwPaM & rPam , /*[in]*/ const String & rComment ) ;
virtual const : : com : : sun : : star : : uno : : Sequence < sal_Int8 > & GetRedlinePassword ( ) const ;
virtual void SetRedlinePassword ( /*[in]*/ const : : com : : sun : : star : : uno : : Sequence < sal_Int8 > & rNewPassword ) ;
/** IDocumentUndoRedo
*/
virtual void SetUndoNoResetModified ( ) ;
virtual bool IsUndoNoResetModified ( ) const ;
virtual void DoUndo ( bool bUn ) ;
virtual bool DoesUndo ( ) const ;
virtual void DoGroupUndo ( bool bUn ) ;
virtual bool DoesGroupUndo ( ) const ;
virtual bool Undo ( SwUndoIter & ) ;
virtual sal_uInt16 StartUndo ( sal_uInt16 nUndoId , const SwRewriter * pRewriter ) ;
virtual sal_uInt16 EndUndo ( sal_uInt16 nUndoId , const SwRewriter * pRewriter ) ;
virtual void DelAllUndoObj ( ) ;
virtual sal_uInt16 GetUndoIds ( String * pStr , SwUndoIds * pUndoIds ) const ;
virtual String GetUndoIdsStr ( String * pStr , SwUndoIds * pUndoIds ) const ;
virtual bool HasUndoId ( sal_uInt16 nId ) const ;
virtual const SwNodes * GetUndoNds ( ) const ;
virtual SwUndo * RemoveLastUndo ( sal_uInt16 nUndoId ) ;
virtual bool HasTooManyUndos ( ) const ;
virtual bool Redo ( SwUndoIter & ) ;
virtual sal_uInt16 GetRedoIds ( String * pStr , SwUndoIds * pRedoIds ) const ;
virtual String GetRedoIdsStr ( String * pStr , SwUndoIds * pRedoIds ) const ;
virtual bool Repeat ( SwUndoIter & , sal_uInt16 nRepeatCnt ) ;
virtual sal_uInt16 GetRepeatIds ( String * pStr , SwUndoIds * pRedoIds ) const ;
virtual String GetRepeatIdsStr ( String * pStr , SwUndoIds * pRedoIds ) const ;
virtual void AppendUndo ( SwUndo * ) ;
virtual void ClearRedo ( ) ;
/** abfragen/setzen der Anzahl von wiederherstellbaren Undo-Actions */
static sal_uInt16 GetUndoActionCount ( ) ;
static void SetUndoActionCount ( sal_uInt16 nNew ) ;
/** IDocumentLinksAdministration
*/
virtual bool IsVisibleLinks ( ) const ;
virtual void SetVisibleLinks ( bool bFlag ) ;
virtual SvxLinkManager & GetLinkManager ( ) ;
virtual const SvxLinkManager & GetLinkManager ( ) const ;
virtual void UpdateLinks ( ) ;
virtual bool GetData ( const String & rItem , const String & rMimeType , : : com : : sun : : star : : uno : : Any & rValue ) const ;
virtual bool SetData ( const String & rItem , const String & rMimeType , const : : com : : sun : : star : : uno : : Any & rValue ) ;
virtual : : sfx2 : : SvLinkSource * CreateLinkSource ( const String & rItem ) ;
virtual bool EmbedAllLinks ( ) ;
virtual void SetLinksUpdated ( const bool bNewLinksUpdated ) ;
virtual bool LinksUpdated ( ) const ;
2006-10-11 07:46:44 +00:00
/** IDocumentFieldsAccess
2006-08-14 14:19:55 +00:00
*/
virtual const SwFldTypes * GetFldTypes ( ) const ;
virtual SwFieldType * InsertFldType ( const SwFieldType & ) ;
virtual SwFieldType * GetSysFldType ( const sal_uInt16 eWhich ) const ;
virtual SwFieldType * GetFldType ( sal_uInt16 nResId , const String & rName , bool bDbFieldMatching ) const ;
virtual void RemoveFldType ( sal_uInt16 nFld ) ;
virtual void UpdateFlds ( SfxPoolItem * pNewHt , bool bCloseDB ) ;
virtual void InsDeletedFldType ( SwFieldType & ) ;
virtual bool PutValueToField ( const SwPosition & rPos , const com : : sun : : star : : uno : : Any & rVal , BYTE nMId ) ;
virtual bool UpdateFld ( SwTxtFld * rDstFmtFld , SwField & rSrcFld , SwMsgPoolItem * pMsgHnt , bool bUpdateTblFlds ) ;
virtual void UpdateRefFlds ( SfxPoolItem * pHt ) ;
virtual void UpdateTblFlds ( SfxPoolItem * pHt ) ;
virtual void UpdateExpFlds ( SwTxtFld * pFld , bool bUpdateRefFlds ) ;
virtual void UpdateUsrFlds ( ) ;
virtual void UpdatePageFlds ( SfxPoolItem * ) ;
virtual void LockExpFlds ( ) ;
virtual void UnlockExpFlds ( ) ;
virtual bool IsExpFldsLocked ( ) const ;
virtual SwDocUpdtFld & GetUpdtFlds ( ) const ;
2006-09-27 09:51:37 +00:00
virtual bool SetFieldsDirty ( bool b , const SwNode * pChk , ULONG nLen ) ;
2006-08-14 14:19:55 +00:00
virtual void SetFixFields ( bool bOnlyTimeDate , const DateTime * pNewDateTime ) ;
2006-09-27 09:51:37 +00:00
virtual void FldsToCalc ( SwCalc & rCalc , ULONG nLastNd , sal_uInt16 nLastCnt ) ;
2006-08-14 14:19:55 +00:00
virtual void FldsToCalc ( SwCalc & rCalc , const _SetGetExpFld & rToThisFld ) ;
virtual void FldsToExpand ( SwHash * * & ppTbl , sal_uInt16 & rTblSize , const _SetGetExpFld & rToThisFld ) ;
virtual bool IsNewFldLst ( ) const ;
virtual void SetNewFldLst ( bool bFlag ) ;
virtual void InsDelFldInFldLst ( bool bIns , const SwTxtFld & rFld ) ;
/** Returns the field at a certain position.
@ param rPos position to search at
@ return pointer to field at the given position or NULL in case no field is found
*/
static SwField * GetField ( const SwPosition & rPos ) ;
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
/** Returns the field at a certain position.
@ param rPos position to search at
@ return pointer to field at the given position or NULL in case no field is found
*/
static SwTxtFld * GetTxtFld ( const SwPosition & rPos ) ;
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
/** IDocumentContentOperations
*/
virtual bool Copy ( SwPaM & , SwPosition & ) const ;
virtual void DeleteSection ( SwNode * pNode ) ;
virtual bool Delete ( SwPaM & ) ;
virtual bool DelFullPara ( SwPaM & ) ;
virtual bool DeleteAndJoin ( SwPaM & ) ;
virtual bool Move ( SwPaM & , SwPosition & , SwMoveFlags ) ;
virtual bool Move ( SwNodeRange & , SwNodeIndex & , SwMoveFlags ) ;
virtual bool MoveAndJoin ( SwPaM & , SwPosition & , SwMoveFlags ) ;
virtual bool Overwrite ( const SwPaM & rRg , sal_Unicode c ) ;
virtual bool Overwrite ( const SwPaM & rRg , const String & rStr ) ;
virtual bool Insert ( const SwPaM & rRg , sal_Unicode c ) ;
virtual bool Insert ( const SwPaM & rRg , const String & , bool bHintExpand ) ;
virtual SwFlyFrmFmt * Insert ( const SwPaM & rRg , const String & rGrfName , const String & rFltName , const Graphic * pGraphic ,
const SfxItemSet * pFlyAttrSet , const SfxItemSet * pGrfAttrSet , SwFrmFmt * ) ;
virtual SwFlyFrmFmt * Insert ( const SwPaM & rRg , const GraphicObject & rGrfObj , const SfxItemSet * pFlyAttrSet ,
const SfxItemSet * pGrfAttrSet , SwFrmFmt * ) ;
virtual SwDrawFrmFmt * Insert ( const SwPaM & rRg , SdrObject & rDrawObj , const SfxItemSet * pFlyAttrSet , SwFrmFmt * ) ;
virtual SwFlyFrmFmt * Insert ( const SwPaM & rRg , const svt : : EmbeddedObjectRef & xObj , const SfxItemSet * pFlyAttrSet ,
const SfxItemSet * pGrfAttrSet , SwFrmFmt * ) ;
virtual bool Insert ( const SwPaM & rRg , const SfxPoolItem & , sal_uInt16 nFlags ) ;
virtual bool Insert ( const SwPaM & rRg , const SfxItemSet & , sal_uInt16 nFlags ) ;
virtual void ReRead ( SwPaM & , const String & rGrfName , const String & rFltName , const Graphic * pGraphic , const GraphicObject * pGrfObj ) ;
virtual void TransliterateText ( const SwPaM & rPaM , utl : : TransliterationWrapper & ) ;
2006-10-13 10:07:48 +00:00
virtual SwFlyFrmFmt * InsertOLE ( const SwPaM & rRg , const String & rObjName , sal_Int64 nAspect , const SfxItemSet * pFlyAttrSet ,
2006-08-14 14:19:55 +00:00
const SfxItemSet * pGrfAttrSet , SwFrmFmt * ) ;
virtual bool SplitNode ( const SwPosition & rPos , bool bChkTableStart ) ;
virtual bool AppendTxtNode ( SwPosition & rPos ) ;
virtual bool Replace ( SwPaM & rPam , const String & rNewStr , bool bRegExpRplc ) ;
virtual void RemoveLeadingWhiteSpace ( const SwPosition & rPos ) ;
/** IDocumentStylePoolAccess
*/
virtual SwTxtFmtColl * GetTxtCollFromPool ( sal_uInt16 nId , bool bRegardLanguage = true ) ;
virtual SwFmt * GetFmtFromPool ( sal_uInt16 nId ) ;
virtual SwFrmFmt * GetFrmFmtFromPool ( sal_uInt16 nId ) ;
virtual SwCharFmt * GetCharFmtFromPool ( sal_uInt16 nId ) ;
virtual SwPageDesc * GetPageDescFromPool ( sal_uInt16 nId , bool bRegardLanguage = true ) ;
virtual SwNumRule * GetNumRuleFromPool ( sal_uInt16 nId ) ;
virtual bool IsPoolTxtCollUsed ( sal_uInt16 nId ) const ;
virtual bool IsPoolFmtUsed ( sal_uInt16 nId ) const ;
virtual bool IsPoolPageDescUsed ( sal_uInt16 nId ) const ;
/** IDocumentLineNumberAccess
*/
virtual const SwLineNumberInfo & GetLineNumberInfo ( ) const ;
virtual void SetLineNumberInfo ( const SwLineNumberInfo & rInfo ) ;
/** IDocumentStatistics
*/
virtual SfxDocumentInfo * GetInfo ( ) ;
virtual const SfxDocumentInfo * GetpInfo ( ) const ;
virtual void SetInfo ( const SfxDocumentInfo & rInfo ) ;
virtual void DocInfoChgd ( const SfxDocumentInfo & rInfo ) ;
virtual const SwDocStat & GetDocStat ( ) const ;
virtual void SetDocStat ( const SwDocStat & rStat ) ;
SW_DLLPUBLIC virtual void UpdateDocStat ( SwDocStat & rStat ) ;
/** IDocumentState
*/
virtual void SetModified ( ) ;
virtual void ResetModified ( ) ;
virtual bool IsModified ( ) const ;
virtual bool IsLoaded ( ) const ;
virtual bool IsUpdateExpFld ( ) const ;
virtual bool IsNewDoc ( ) const ;
virtual bool IsPageNums ( ) const ;
virtual void SetPageNums ( bool b ) ;
virtual void SetNewDoc ( bool b ) ;
virtual void SetUpdateExpFldStat ( bool b ) ;
virtual void SetLoaded ( bool b ) ;
/** IDocumentDrawModelAccess
*/
virtual const SdrModel * GetDrawModel ( ) const ;
virtual SdrModel * GetDrawModel ( ) ;
virtual SdrLayerID GetHeavenId ( ) const ;
virtual SdrLayerID GetHellId ( ) const ;
virtual SdrLayerID GetControlsId ( ) const ;
virtual SdrLayerID GetInvisibleHeavenId ( ) const ;
virtual SdrLayerID GetInvisibleHellId ( ) const ;
virtual SdrLayerID GetInvisibleControlsId ( ) const ;
virtual void NotifyInvisibleLayers ( SdrPageView & _rSdrPageView ) ;
virtual bool IsVisibleLayerId ( const SdrLayerID & _nLayerId ) const ;
virtual SdrLayerID GetVisibleLayerIdByInvisibleOne ( const SdrLayerID & _nInvisibleLayerId ) ;
virtual SdrLayerID GetInvisibleLayerIdByVisibleOne ( const SdrLayerID & _nVisibleLayerId ) ;
virtual SdrModel * _MakeDrawModel ( ) ;
virtual SdrModel * GetOrCreateDrawModel ( ) ;
/** IDocumentLayoutAccess
*/
virtual const SwRootFrm * GetRootFrm ( ) const ;
virtual SwRootFrm * GetRootFrm ( ) ;
virtual void SetRootFrm ( SwRootFrm * pNew ) ;
virtual SwLayouter * GetLayouter ( ) ;
virtual const SwLayouter * GetLayouter ( ) const ;
virtual void SetLayouter ( SwLayouter * pNew ) ;
virtual SwFrmFmt * MakeLayoutFmt ( RndStdIds eRequest , const SfxItemSet * pSet ) ;
virtual void DelLayoutFmt ( SwFrmFmt * pFmt ) ;
virtual SwFrmFmt * CopyLayoutFmt ( const SwFrmFmt & rSrc , const SwFmtAnchor & rNewAnchor , bool bSetTxtFlyAtt , bool bMakeFrms ) ;
2006-10-11 07:46:44 +00:00
/** IDocumentTimerAccess
*/
virtual void StartIdling ( ) ;
virtual void StopIdling ( ) ;
virtual void BlockIdling ( ) ;
virtual void UnblockIdling ( ) ;
2006-08-14 14:19:55 +00:00
/** INextInterface here
*/
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
DECL_STATIC_LINK ( SwDoc , BackgroundDone , SvxBrushItem * ) ;
DECL_LINK ( CalcFieldValueHdl , EditFieldInfo * ) ;
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
/** OLE ???
*/
bool IsOLEPrtNotifyPending ( ) const { return mbOLEPrtNotifyPending ; }
inline void SetOLEPrtNotifyPending ( bool bSet = true ) ;
2000-09-18 16:15:01 +00:00
void PrtOLENotify ( sal_Bool bAll ) ; //Alle oder nur Markierte
2000-12-06 11:27:40 +00:00
# ifndef PRODUCT
2006-08-14 14:19:55 +00:00
bool InXMLExport ( ) const { return mbXMLExport ; }
void SetXMLExport ( bool bFlag ) { mbXMLExport = bFlag ; }
2000-12-06 11:27:40 +00:00
# endif
2003-04-01 08:50:47 +00:00
2000-09-18 16:15:01 +00:00
// liefert zu allen fliegenden Rahmen die Position im Dokument.
// Wird ein Pam-Pointer uebergeben, muessen die absatzgebundenen
// FlyFrames von der ::com::sun::star::awt::Selection vollstaendig umschlossen sein
// ( Start < Pos < End ) !!!
// (wird fuer die Writer benoetigt)
void GetAllFlyFmts ( SwPosFlyFrms & rPosFlyFmts , const SwPaM * = 0 ,
sal_Bool bDrawAlso = sal_False ) const ;
// wegen swrtf.cxx und define private public, jetzt hier
SwFlyFrmFmt * MakeFlyFrmFmt ( const String & rFmtName , SwFrmFmt * pDerivedFrom ) ;
SwDrawFrmFmt * MakeDrawFrmFmt ( const String & rFmtName , SwFrmFmt * pDerivedFrom ) ;
2006-08-14 14:19:55 +00:00
// JP 08.05.98: fuer Flys muss jetzt diese Schnittstelle benutzt
// werden. pAnchorPos muss gesetzt sein, wenn keine
// Seitenbindung vorliegt UND der ::com::sun::star::chaos::Anchor nicht schon
// im FlySet/FrmFmt mit gueltiger CntntPos gesetzt ist
2003-05-28 11:50:37 +00:00
/* #109161# new parameter bCalledFromShell
TRUE : An existing adjust item at pAnchorPos is propagated to
the content node of the new fly section . That propagation only
takes place if there is no adjust item in the paragraph style
for the new fly section .
FALSE : no propagation
*/
2000-09-18 16:15:01 +00:00
SwFlyFrmFmt * MakeFlySection ( RndStdIds eAnchorType ,
2003-05-28 11:50:37 +00:00
const SwPosition * pAnchorPos ,
const SfxItemSet * pSet = 0 ,
SwFrmFmt * pParent = 0 ,
BOOL bCalledFromShell = FALSE ) ;
2000-09-18 16:15:01 +00:00
SwFlyFrmFmt * MakeFlyAndMove ( const SwPaM & rPam , const SfxItemSet & rSet ,
const SwSelBoxes * pSelBoxes = 0 ,
SwFrmFmt * pParent = 0 ) ;
void CopyWithFlyInFly ( const SwNodeRange & rRg ,
const SwNodeIndex & rInsPos ,
sal_Bool bMakeNewFrms = sal_True ,
sal_Bool bDelRedlines = sal_True ,
sal_Bool bCopyFlyAtFly = sal_False ) const ;
2004-09-27 12:41:19 +00:00
SW_DLLPUBLIC sal_Bool SetFlyFrmAttr ( SwFrmFmt & rFlyFmt , SfxItemSet & rSet ) ;
2006-08-14 14:19:55 +00:00
2000-09-18 16:15:01 +00:00
sal_Bool SetFrmFmtToFly ( SwFrmFmt & rFlyFmt , SwFrmFmt & rNewFmt ,
SfxItemSet * pSet = 0 , sal_Bool bKeepOrient = sal_False ) ;
2004-05-18 12:57:08 +00:00
2006-08-14 14:19:55 +00:00
/** Footnotes
2004-05-18 12:57:08 +00:00
*/
2006-08-14 14:19:55 +00:00
// Fussnoten Informationen
const SwFtnInfo & GetFtnInfo ( ) const { return * pFtnInfo ; }
void SetFtnInfo ( const SwFtnInfo & rInfo ) ;
const SwEndNoteInfo & GetEndNoteInfo ( ) const { return * pEndNoteInfo ; }
void SetEndNoteInfo ( const SwEndNoteInfo & rInfo ) ;
SwFtnIdxs & GetFtnIdxs ( ) { return * pFtnIdxs ; }
const SwFtnIdxs & GetFtnIdxs ( ) const { return * pFtnIdxs ; }
// Fussnoten im Bereich aendern
sal_Bool SetCurFtn ( const SwPaM & rPam , const String & rNumStr ,
sal_uInt16 nNumber , sal_Bool bIsEndNote ) ;
2004-05-18 12:57:08 +00:00
2006-08-14 14:19:55 +00:00
/** Operations on the content of the document e.g.
spell - checking / hyphenating / word - counting
2004-05-18 12:57:08 +00:00
*/
2006-08-14 14:19:55 +00:00
: : com : : sun : : star : : uno : : Any
Spell ( SwPaM & , : : com : : sun : : star : : uno : : Reference <
: : com : : sun : : star : : linguistic2 : : XSpellChecker1 > & ,
sal_uInt16 * pPageCnt , sal_uInt16 * pPageSt ,
SwConversionArgs * pConvArgs = 0 ) const ;
2004-05-18 12:57:08 +00:00
2006-08-14 14:19:55 +00:00
: : com : : sun : : star : : uno : : Reference <
: : com : : sun : : star : : linguistic2 : : XHyphenatedWord >
Hyphenate ( SwPaM * pPam , const Point & rCrsrPos ,
sal_uInt16 * pPageCnt , sal_uInt16 * pPageSt ) ;
2004-05-18 12:57:08 +00:00
2006-08-14 14:19:55 +00:00
// count words in pam
void CountWords ( const SwPaM & rPaM , SwDocStat & rStat ) const ;
2004-05-18 12:57:08 +00:00
2006-08-14 14:19:55 +00:00
/** ???
2004-05-18 12:57:08 +00:00
*/
2006-08-14 14:19:55 +00:00
// Textbaustein Dokument?
void SetGlossDoc ( bool bGlssDc = true ) { mbGlossDoc = bGlssDc ; }
bool IsInsOnlyTextGlossary ( ) const { return mbInsOnlyTxtGlssry ; }
// Abstakt fuellen
void Summary ( SwDoc * pExtDoc , sal_uInt8 nLevel , sal_uInt8 nPara , sal_Bool bImpress ) ;
2000-09-18 16:15:01 +00:00
void ChangeAuthorityData ( const SwAuthEntry * pNewData ) ;
2006-08-14 14:19:55 +00:00
bool IsInCallModified ( ) const { return mbInCallModified ; }
sal_Bool IsInHeaderFooter ( const SwNodeIndex & rIdx ) const ;
short GetTextDirection ( const SwPosition & rPos ,
const Point * pPt = 0 ) const ;
sal_Bool IsInVerticalText ( const SwPosition & rPos ,
const Point * pPt = 0 ) const ;
/** Database ???
*/
2000-09-18 16:15:01 +00:00
/* Datenbank && DB-Manager */
void SetNewDBMgr ( SwNewDBMgr * pNewMgr ) { pNewDBMgr = pNewMgr ; }
SwNewDBMgr * GetNewDBMgr ( ) const { return pNewDBMgr ; }
void ChangeDBFields ( const SvStringsDtor & rOldNames ,
const String & rNewName ) ;
void SetInitDBFields ( sal_Bool b ) ;
// Von Feldern verwendete Datenbanken herausfinden
void GetAllUsedDB ( SvStringsDtor & rDBNameList ,
const SvStringsDtor * pAllDBNames = 0 ) ;
2001-02-21 11:13:10 +00:00
void ChgDBData ( const SwDBData & rNewData ) ;
SwDBData GetDBData ( ) ;
const SwDBData & GetDBDesc ( ) ;
const SwDBData & _GetDBDesc ( ) const { return aDBData ; }
2000-09-18 16:15:01 +00:00
2006-08-14 14:19:55 +00:00
/** Some helper functions
*/
2000-09-18 16:15:01 +00:00
String GetUniqueGrfName ( ) const ;
String GetUniqueOLEName ( ) const ;
String GetUniqueFrameName ( ) const ;
2006-08-14 14:19:55 +00:00
2000-09-18 16:15:01 +00:00
void SetFlyName ( SwFlyFrmFmt & rFmt , const String & rName ) ;
const SwFlyFrmFmt * FindFlyByName ( const String & rName , sal_Int8 nNdTyp = 0 ) const ;
void GetGrfNms ( const SwFlyFrmFmt & rFmt , String * pGrfName ,
String * pFltName ) const ;
// setze bei allen Flys ohne Namen einen gueltigen (Wird von den Readern
// nach dem Einlesen gerufen )
void SetAllUniqueFlyNames ( ) ;
//Zuruecksetzen der Attribute; es werden alle TxtHints und bei
//vollstaendiger Selektion harte Formatierung (AUTO-Formate) entfernt
void ResetAttr ( const SwPaM & rRg , sal_Bool bTxtAttr = sal_True ,
const SvUShortsSort * = 0 ) ;
void RstTxtAttr ( const SwPaM & rRg , BOOL bInclRefToxMark = FALSE ) ;
// Setze das Attribut im angegebenen Format. Ist Undo aktiv, wird
// das alte in die Undo-History aufgenommen
void SetAttr ( const SfxPoolItem & , SwFmt & ) ;
void SetAttr ( const SfxItemSet & , SwFmt & ) ;
// Setze das Attribut als neues default Attribut in diesem Dokument.
// Ist Undo aktiv, wird das alte in die Undo-History aufgenommen
void SetDefault ( const SfxPoolItem & ) ;
void SetDefault ( const SfxItemSet & ) ;
// Erfrage das Default Attribut in diesem Dokument.
2004-08-23 07:30:02 +00:00
SW_DLLPUBLIC const SfxPoolItem & GetDefault ( sal_uInt16 nFmtHint ) const ;
2000-09-18 16:15:01 +00:00
// TextAttribute nicht mehr aufspannen lassen
sal_Bool DontExpandFmt ( const SwPosition & rPos , sal_Bool bFlag = sal_True ) ;
/* Formate */
const SwFrmFmts * GetFrmFmts ( ) const { return pFrmFmtTbl ; }
SwFrmFmts * GetFrmFmts ( ) { return pFrmFmtTbl ; }
const SwCharFmts * GetCharFmts ( ) const { return pCharFmtTbl ; }
/* LayoutFormate (Rahmen, DrawObjecte), mal const mal nicht */
const SwSpzFrmFmts * GetSpzFrmFmts ( ) const { return pSpzFrmFmtTbl ; }
SwSpzFrmFmts * GetSpzFrmFmts ( ) { return pSpzFrmFmtTbl ; }
const SwFrmFmt * GetDfltFrmFmt ( ) const { return pDfltFrmFmt ; }
SwFrmFmt * GetDfltFrmFmt ( ) { return pDfltFrmFmt ; }
const SwFrmFmt * GetEmptyPageFmt ( ) const { return pEmptyPageFmt ; }
SwFrmFmt * GetEmptyPageFmt ( ) { return pEmptyPageFmt ; }
const SwFrmFmt * GetColumnContFmt ( ) const { return pColumnContFmt ; }
SwFrmFmt * GetColumnContFmt ( ) { return pColumnContFmt ; }
const SwCharFmt * GetDfltCharFmt ( ) const { return pDfltCharFmt ; }
SwCharFmt * GetDfltCharFmt ( ) { return pDfltCharFmt ; }
2006-12-01 14:31:51 +00:00
// Returns the interface of the management of (auto)styles
IStyleAccess & GetIStyleAccess ( ) { return * pStyleAccess ; }
2003-06-10 12:16:47 +00:00
// Remove all language dependencies from all existing formats
void RemoveAllFmtLanguageDependencies ( ) ;
2004-09-08 13:49:28 +00:00
SwFrmFmt * MakeFrmFmt ( const String & rFmtName , SwFrmFmt * pDerivedFrom ,
2005-01-05 10:45:57 +00:00
BOOL bBroadcast = FALSE , BOOL bAuto = TRUE ) ;
2004-09-08 13:49:28 +00:00
void DelFrmFmt ( SwFrmFmt * pFmt , BOOL bBroadcast = FALSE ) ;
2000-09-18 16:15:01 +00:00
SwFrmFmt * FindFrmFmtByName ( const String & rName ) const
{ return ( SwFrmFmt * ) FindFmtByName ( ( SvPtrarr & ) * pFrmFmtTbl , rName ) ; }
2005-01-21 09:27:28 +00:00
// --> OD 2005-01-13 #i40550#
2004-09-08 13:49:28 +00:00
SwCharFmt * MakeCharFmt ( const String & rFmtName , SwCharFmt * pDerivedFrom ,
2005-01-21 09:27:28 +00:00
BOOL bBroadcast = FALSE ,
BOOL bAuto = TRUE ) ;
// <--
2004-09-08 13:49:28 +00:00
void DelCharFmt ( sal_uInt16 nFmt , BOOL bBroadcast = FALSE ) ;
void DelCharFmt ( SwCharFmt * pFmt , BOOL bBroadcast = FALSE ) ;
2000-09-18 16:15:01 +00:00
SwCharFmt * FindCharFmtByName ( const String & rName ) const
{ return ( SwCharFmt * ) FindFmtByName ( ( SvPtrarr & ) * pCharFmtTbl , rName ) ; }
/* Formatcollections (Vorlagen) */
// TXT
const SwTxtFmtColl * GetDfltTxtFmtColl ( ) const { return pDfltTxtFmtColl ; }
const SwTxtFmtColls * GetTxtFmtColls ( ) const { return pTxtFmtCollTbl ; }
2005-01-21 09:27:28 +00:00
// --> OD 2005-01-13 #i40550#
2000-09-18 16:15:01 +00:00
SwTxtFmtColl * MakeTxtFmtColl ( const String & rFmtName ,
2004-09-08 13:49:28 +00:00
SwTxtFmtColl * pDerivedFrom ,
2005-01-21 09:27:28 +00:00
BOOL bBroadcast = FALSE ,
BOOL bAuto = TRUE ) ;
// <--
2000-09-18 16:15:01 +00:00
SwConditionTxtFmtColl * MakeCondTxtFmtColl ( const String & rFmtName ,
2004-09-08 13:49:28 +00:00
SwTxtFmtColl * pDerivedFrom ,
BOOL bBroadcast = FALSE ) ;
void DelTxtFmtColl ( sal_uInt16 nFmt , BOOL bBroadcast = FALSE ) ;
void DelTxtFmtColl ( SwTxtFmtColl * pColl , BOOL bBroadcast = FALSE ) ;
2000-09-18 16:15:01 +00:00
sal_Bool SetTxtFmtColl ( const SwPaM & rRg , SwTxtFmtColl * pFmt ,
sal_Bool bReset = sal_True ) ;
SwTxtFmtColl * FindTxtFmtCollByName ( const String & rName ) const
{ return ( SwTxtFmtColl * ) FindFmtByName ( ( SvPtrarr & ) * pTxtFmtCollTbl , rName ) ; }
2005-11-08 16:11:58 +00:00
void ChkCondColls ( ) ;
2000-09-18 16:15:01 +00:00
// GRF
const SwGrfFmtColl * GetDfltGrfFmtColl ( ) const { return pDfltGrfFmtColl ; }
const SwGrfFmtColls * GetGrfFmtColls ( ) const { return pGrfFmtCollTbl ; }
SwGrfFmtColl * MakeGrfFmtColl ( const String & rFmtName ,
SwGrfFmtColl * pDerivedFrom ) ;
SwGrfFmtColl * FindGrfFmtCollByName ( const String & rName ) const
{ return ( SwGrfFmtColl * ) FindFmtByName ( ( SvPtrarr & ) * pGrfFmtCollTbl , rName ) ; }
// Tabellen-Formate
const SwFrmFmts * GetTblFrmFmts ( ) const { return pTblFrmFmtTbl ; }
SwFrmFmts * GetTblFrmFmts ( ) { return pTblFrmFmtTbl ; }
sal_uInt16 GetTblFrmFmtCount ( sal_Bool bUsed ) const ;
SwFrmFmt & GetTblFrmFmt ( sal_uInt16 nFmt , sal_Bool bUsed ) const ;
SwTableFmt * MakeTblFrmFmt ( const String & rFmtName , SwFrmFmt * pDerivedFrom ) ;
void DelTblFrmFmt ( SwTableFmt * pFmt ) ;
SwTableFmt * FindTblFmtByName ( const String & rName , sal_Bool bAll = sal_False ) const ;
//Rahmenzugriff
//iterieren ueber Flys - fuer Basic-Collections
sal_uInt16 GetFlyCount ( FlyCntType eType = FLYCNTTYPE_ALL ) const ;
SwFrmFmt * GetFlyNum ( sal_uInt16 nIdx , FlyCntType eType = FLYCNTTYPE_ALL ) ;
// kopiere die Formate in die eigenen Arrays und returne diese
SwFrmFmt * CopyFrmFmt ( const SwFrmFmt & ) ;
SwCharFmt * CopyCharFmt ( const SwCharFmt & ) ;
SwTxtFmtColl * CopyTxtColl ( const SwTxtFmtColl & rColl ) ;
SwGrfFmtColl * CopyGrfColl ( const SwGrfFmtColl & rColl ) ;
// ersetze alle Formate mit denen aus rSource
void ReplaceStyles ( SwDoc & rSource ) ;
// erfrage ob die Absatz-/Zeichen-/Rahmen-/Seiten - Vorlage benutzt wird
sal_Bool IsUsed ( const SwModify & ) const ;
sal_Bool IsUsed ( const SwNumRule & ) const ;
// setze den Namen der neu geladenen Dokument-Vorlage
sal_uInt16 SetDocPattern ( const String & rPatternName ) ;
// gebe den Dok-VorlagenNamen zurueck. !!! Kann auch 0 sein !!!
String * GetDocPattern ( sal_uInt16 nPos ) const { return aPatternNms [ nPos ] ; }
// Loesche alle nicht referenzierten FeldTypen
void GCFieldTypes ( ) ; // impl. in docfld.cxx
// akt. Dokument mit Textbausteindokument verbinden/erfragen
void SetGlossaryDoc ( SwDoc * pDoc ) { pGlossaryDoc = pDoc ; }
// travel over PaM Ring
sal_Bool InsertGlossary ( SwTextBlocks & rBlock , const String & rEntry ,
SwPaM & rPaM , SwCrsrShell * pShell = 0 ) ;
2002-09-02 11:24:49 +00:00
sal_uInt16 GetPageCount ( ) const ;
2005-03-08 12:42:01 +00:00
const Size GetPageSize ( sal_uInt16 nPageNum , bool bSkipEmptyPages ) const ;
2002-09-02 11:24:49 +00:00
2000-09-18 16:15:01 +00:00
//PageDescriptor-Schnittstelle
sal_uInt16 GetPageDescCnt ( ) const { return aPageDescs . Count ( ) ; }
2004-05-25 13:56:07 +00:00
const SwPageDesc & GetPageDesc ( const sal_uInt16 i ) const { return * aPageDescs [ i ] ; }
2000-09-18 16:15:01 +00:00
SwPageDesc * FindPageDescByName ( const String & rName ,
sal_uInt16 * pPos = 0 ) const ;
// kopiere den gesamten PageDesc - ueber Dokumentgrenzen und "tief"!
// optional kann das kopieren der PoolFmtId, -HlpId verhindert werden
void CopyPageDesc ( const SwPageDesc & rSrcDesc , SwPageDesc & rDstDesc ,
sal_Bool bCopyPoolIds = sal_True ) ;
// kopiere die Kopzeile (mit dem Inhalt!) aus dem SrcFmt
// ins DestFmt ( auch ueber Doc grenzen hinaus!)
void CopyHeader ( const SwFrmFmt & rSrcFmt , SwFrmFmt & rDestFmt )
{ _CopyPageDescHeaderFooter ( sal_True , rSrcFmt , rDestFmt ) ; }
// kopiere die Fusszeile (mit dem Inhalt!) aus dem SrcFmt
// ins DestFmt ( auch ueber Doc grenzen hinaus!)
void CopyFooter ( const SwFrmFmt & rSrcFmt , SwFrmFmt & rDestFmt )
{ _CopyPageDescHeaderFooter ( sal_False , rSrcFmt , rDestFmt ) ; }
//fuer Reader
2004-09-08 13:49:28 +00:00
2004-05-18 12:57:08 +00:00
SwPageDesc * GetPageDesc ( const String & rName ) ;
2000-09-18 16:15:01 +00:00
SwPageDesc & _GetPageDesc ( sal_uInt16 i ) const { return * aPageDescs [ i ] ; }
2004-05-18 12:57:08 +00:00
void ChgPageDesc ( const String & rName , const SwPageDesc & ) ;
2000-09-18 16:15:01 +00:00
void ChgPageDesc ( sal_uInt16 i , const SwPageDesc & ) ;
2004-05-18 12:57:08 +00:00
BOOL FindPageDesc ( const String & rName , sal_uInt16 * pFound ) ;
2004-09-08 13:49:28 +00:00
// -> #116530#
void DelPageDesc ( const String & rName , BOOL bBroadcast = FALSE ) ;
void DelPageDesc ( sal_uInt16 i , BOOL bBroadcast = FALSE ) ;
// <- #116530#
2004-05-18 12:57:08 +00:00
void PreDelPageDesc ( SwPageDesc * pDel ) ; // #i7983#
2004-09-08 13:49:28 +00:00
// -> #116530#
2002-12-04 13:32:27 +00:00
sal_uInt16 MakePageDesc ( const String & rName , const SwPageDesc * pCpy = 0 ,
2004-09-08 13:49:28 +00:00
BOOL bRegardLanguage = TRUE ,
BOOL bBroadcast = FALSE ) ;
void BroadcastStyleOperation ( String rName , SfxStyleFamily eFamily ,
USHORT nOp ) ;
// <- #116530#
2005-03-30 09:52:50 +00:00
// --> FME 2005-03-16 #i44963# The html import sometimes overwrites the
// page sizes set in the page descriptions. This function is used to
// correct this.
void CheckDefaultPageFmt ( ) ;
// <--
2000-09-18 16:15:01 +00:00
// Methoden fuer die Verzeichnisse:
// - Verzeichnismarke einfuegen loeschen travel
sal_uInt16 GetCurTOXMark ( const SwPosition & rPos , SwTOXMarks & ) const ;
void Delete ( SwTOXMark * pTOXMark ) ;
const SwTOXMark & GotoTOXMark ( const SwTOXMark & rCurTOXMark ,
SwTOXSearch eDir , sal_Bool bInReadOnly ) ;
// - Verzeichnis einfuegen, und bei Bedarf erneuern
const SwTOXBaseSection * InsertTableOf ( const SwPosition & rPos ,
const SwTOXBase & rTOX ,
const SfxItemSet * pSet = 0 ,
sal_Bool bExpand = sal_False ) ;
2006-03-16 11:23:51 +00:00
const SwTOXBaseSection * InsertTableOf ( ULONG nSttNd , ULONG nEndNd ,
2000-09-18 16:15:01 +00:00
const SwTOXBase & rTOX ,
const SfxItemSet * pSet = 0 ) ;
const SwTOXBase * GetCurTOX ( const SwPosition & rPos ) const ;
const SwAttrSet & GetTOXBaseAttrSet ( const SwTOXBase & rTOX ) const ;
sal_Bool DeleteTOX ( const SwTOXBase & rTOXBase , sal_Bool bDelNodes = sal_False ) ;
String GetUniqueTOXBaseName ( const SwTOXType & rType ,
const String * pChkStr = 0 ) const ;
sal_Bool SetTOXBaseName ( const SwTOXBase & rTOXBase , const String & rName ) ;
void SetTOXBaseProtection ( const SwTOXBase & rTOXBase , sal_Bool bProtect ) ;
// nach einlesen einer Datei alle Verzeichnisse updaten
2006-08-14 14:19:55 +00:00
void SetUpdateTOX ( bool bFlag = true ) { mbUpdateTOX = bFlag ; }
bool IsUpdateTOX ( ) const { return mbUpdateTOX ; }
2000-09-18 16:15:01 +00:00
const String & GetTOIAutoMarkURL ( ) const { return sTOIAutoMarkURL ; }
void SetTOIAutoMarkURL ( const String & rSet ) { sTOIAutoMarkURL = rSet ; }
void ApplyAutoMark ( ) ;
2006-08-14 14:19:55 +00:00
bool IsInReading ( ) const { return mbInReading ; }
2006-12-01 14:31:51 +00:00
void SetInReading ( bool bNew ) { mbInReading = bNew ; }
bool IsInXMLImport ( ) const { return mbInXMLImport ; }
void SetInXMLImport ( bool bNew ) { mbInXMLImport = bNew ; }
2000-09-18 16:15:01 +00:00
// - Verzeichnis-Typen verwalten
sal_uInt16 GetTOXTypeCount ( TOXTypes eTyp ) const ;
const SwTOXType * GetTOXType ( TOXTypes eTyp , sal_uInt16 nId ) const ;
sal_Bool DeleteTOXType ( TOXTypes eTyp , sal_uInt16 nId ) ;
const SwTOXType * InsertTOXType ( const SwTOXType & rTyp ) ;
const SwTOXTypes & GetTOXTypes ( ) const { return * pTOXTypes ; }
const SwTOXBase * GetDefaultTOXBase ( TOXTypes eTyp , sal_Bool bCreate = sal_False ) ;
void SetDefaultTOXBase ( const SwTOXBase & rBase ) ;
// - Schluessel fuer die Indexverwaltung
sal_uInt16 GetTOIKeys ( SwTOIKeyType eTyp , SvStringsSort & rArr ) const ;
// Sortieren Tabellen Text
sal_Bool SortTbl ( const SwSelBoxes & rBoxes , const SwSortOptions & ) ;
sal_Bool SortText ( const SwPaM & , const SwSortOptions & ) ;
// korrigiere die im Dokument angemeldeten SwPosition-Objecte,
// wie z.B. die ::com::sun::star::text::Bookmarks oder die Verzeichnisse.
// JP 22.06.95: ist bMoveCrsr gesetzt, verschiebe auch die Crsr
// Setzt alles in rOldNode auf rNewPos + Offset
void CorrAbs ( const SwNodeIndex & rOldNode , const SwPosition & rNewPos ,
const xub_StrLen nOffset = 0 , sal_Bool bMoveCrsr = sal_False ) ;
// Setzt alles im Bereich von [rStartNode, rEndNode] nach rNewPos
void CorrAbs ( const SwNodeIndex & rStartNode , const SwNodeIndex & rEndNode ,
const SwPosition & rNewPos , sal_Bool bMoveCrsr = sal_False ) ;
// Setzt alles im Bereich von rRange nach rNewPos
void CorrAbs ( const SwPaM & rRange , const SwPosition & rNewPos ,
sal_Bool bMoveCrsr = sal_False ) ;
// Setzt alles in rOldNode auf relative Pos
void CorrRel ( const SwNodeIndex & rOldNode , const SwPosition & rNewPos ,
const xub_StrLen nOffset = 0 , sal_Bool bMoveCrsr = sal_False ) ;
// GliederungsRegeln erfragen / setzen
2005-11-08 16:11:58 +00:00
// --> OD 2005-11-02 #i51089 - TUNING#
inline SwNumRule * GetOutlineNumRule ( ) const
{
return pOutlineRule ;
}
// <--
2000-09-18 16:15:01 +00:00
void SetOutlineNumRule ( const SwNumRule & rRule ) ;
2004-12-08 16:40:10 +00:00
void PropagateOutlineRule ( ) ;
2000-09-18 16:15:01 +00:00
// Gliederung - hoch-/runterstufen
sal_Bool OutlineUpDown ( const SwPaM & rPam , short nOffset = 1 ) ;
// Gliederung - hoch-/runtermoven
sal_Bool MoveOutlinePara ( const SwPaM & rPam , short nOffset = 1 ) ;
// zu diesem Gliederungspunkt
sal_Bool GotoOutline ( SwPosition & rPos , const String & rName ) const ;
// die Aenderungen an den Gliederungsvorlagen in die OutlineRule uebernehmen
// setzt, wenn noch keine Numerierung, sonst wird geaendert
// arbeitet mit alten und neuen Regeln, nur Differenzen aktualisieren
2005-03-08 10:19:51 +00:00
// --> OD 2005-02-18 #i42921# - re-use unused 3rd parameter
2000-09-18 16:15:01 +00:00
void SetNumRule ( const SwPaM & , const SwNumRule & ,
2005-03-08 10:19:51 +00:00
sal_Bool bSetItem = sal_True ) ;
// <--
2005-11-08 16:11:58 +00:00
void SetCounted ( const SwPaM & , bool bCounted ) ;
2004-05-11 10:55:19 +00:00
/**
Replace numbering rules in a PaM by another numbering rule .
\ param rPaM PaM to replace the numbering rules in
\ param rNumRule numbering rule to replace the present numbering rules
*/
void ReplaceNumRule ( const SwPaM & rPaM , const SwNumRule & rNumRule ) ;
2005-01-25 12:58:25 +00:00
void MakeUniqueNumRules ( const SwPaM & rPaM ) ;
2000-09-18 16:15:01 +00:00
void SetNumRuleStart ( const SwPosition & rPos , sal_Bool bFlag = sal_True ) ;
void SetNodeNumStart ( const SwPosition & rPos , sal_uInt16 nStt = USHRT_MAX ) ;
SwNumRule * GetCurrNumRule ( const SwPosition & rPos ) const ;
2005-11-08 16:11:58 +00:00
2000-09-18 16:15:01 +00:00
const SwNumRuleTbl & GetNumRuleTbl ( ) const { return * pNumRuleTbl ; }
2004-11-27 10:39:15 +00:00
// #i36749#
/**
Add numbering rule to document .
@ param pRule rule to add
*/
void AddNumRule ( SwNumRule * pRule ) ;
2004-09-08 13:49:28 +00:00
sal_uInt16 MakeNumRule ( const String & rName , const SwNumRule * pCpy = 0 ,
BOOL bBroadcast = FALSE ) ;
2000-09-18 16:15:01 +00:00
sal_uInt16 FindNumRule ( const String & rName ) const ;
SwNumRule * FindNumRulePtr ( const String & rName ) const ;
2005-11-08 16:11:58 +00:00
2000-09-18 16:15:01 +00:00
// loeschen geht nur, wenn die ::com::sun::star::chaos::Rule niemand benutzt!
2004-09-08 13:49:28 +00:00
// #106897#
sal_Bool RenameNumRule ( const String & aOldName , const String & aNewName ,
BOOL bBroadcast = FALSE ) ;
sal_Bool DelNumRule ( const String & rName , BOOL bBroadCast = FALSE ) ;
2000-09-18 16:15:01 +00:00
String GetUniqueNumRuleName ( const String * pChkStr = 0 , sal_Bool bAutoNum = sal_True ) const ;
2005-11-08 16:11:58 +00:00
2000-09-18 16:15:01 +00:00
void UpdateNumRule ( ) ; // alle invaliden Updaten
2004-06-11 14:20:31 +00:00
// #106897#
void ChgNumRuleFmts ( const SwNumRule & rRule , const String * pOldName = 0 ) ;
2000-09-18 16:15:01 +00:00
sal_Bool ReplaceNumRule ( const SwPosition & rPos , const String & rOldRule ,
const String & rNewRule ) ;
// zum naechsten/vorhergehenden Punkt auf gleicher Ebene
sal_Bool GotoNextNum ( SwPosition & , sal_Bool bOverUpper = sal_True ,
sal_uInt8 * pUpper = 0 , sal_uInt8 * pLower = 0 ) ;
sal_Bool GotoPrevNum ( SwPosition & , sal_Bool bOverUpper = sal_True ,
sal_uInt8 * pUpper = 0 , sal_uInt8 * pLower = 0 ) ;
2004-03-30 15:02:53 +00:00
// #i23731#
2005-11-08 16:11:58 +00:00
/** Searches for a text node with a numbering rule.
OD 2005 - 10 - 24 # i55391 # - add optional parameter < _bInvestigateStartNode >
2004-05-11 10:55:19 +00:00
\ param rPos position to start search
\ param bForward - TRUE : search forward
- FALSE : search backward
2004-06-16 07:16:02 +00:00
\ param bNum - TRUE : search for enumeration
- FALSE : search for itemize
\ param bOutline - TRUE : search for non - outline numbering rule
2004-05-11 10:55:19 +00:00
- FALSE : search for outline numbering rule
\ param nNonEmptyAllowed number of non - empty paragraphs allowed between
rPos and found paragraph
2005-11-08 16:11:58 +00:00
@ param _bInvestigateStartNode
input parameter - boolean , indicating , if start node , determined by given
start position has to be investigated or not .
2004-05-11 10:55:19 +00:00
*/
2004-03-30 15:02:53 +00:00
const SwNumRule * SearchNumRule ( SwPosition & rPos ,
BOOL bForward ,
BOOL bNum ,
2004-06-16 07:16:02 +00:00
BOOL bOutline ,
2005-11-08 16:11:58 +00:00
int nNonEmptyAllowed ,
bool _bInvestigateStartNode = false ) ;
2004-03-30 15:02:53 +00:00
2000-09-18 16:15:01 +00:00
// Absaetze ohne Numerierung, aber mit Einzuegen
sal_Bool NoNum ( const SwPaM & ) ;
// Loeschen, Splitten der Aufzaehlungsliste
sal_Bool DelNumRules ( const SwPaM & ) ;
2004-10-22 07:08:57 +00:00
// Invalidates all numrules
void InvalidateNumRules ( ) ;
2005-11-08 16:11:58 +00:00
void SyncNumRulesAndNodes ( ) ;
2000-09-18 16:15:01 +00:00
// Hoch-/Runterstufen
sal_Bool NumUpDown ( const SwPaM & , sal_Bool bDown = sal_True ) ;
// Bewegt selektierte Absaetze (nicht nur Numerierungen)
// entsprechend des Offsets. (negativ: zum Doc-Anf.)
sal_Bool MoveParagraph ( const SwPaM & , long nOffset = 1 , sal_Bool bIsOutlMv = sal_False ) ;
2004-03-30 15:02:53 +00:00
// No-/Numerierung ueber Delete/Backspace ein/abschalten #115901#
sal_Bool NumOrNoNum ( const SwNodeIndex & rIdx , sal_Bool bDel = sal_False ) ;
2000-09-18 16:15:01 +00:00
// Animation der Grafiken stoppen
void StopNumRuleAnimations ( OutputDevice * ) ;
// fuege eine neue Tabelle auf der Position rPos ein. (es
// wird vor dem Node eingefuegt !!)
//JP 28.10.96:
// fuer AutoFormat bei der Eingabe: dann muessen die Spalten
// auf die vordefinierten Breite gesetzt werden. Im Array stehen die
// Positionen der Spalten!! (nicht deren Breite!)
2003-05-28 11:50:37 +00:00
/* #109161# new parameter bCalledFromShell:
TRUE : called from shell - > propagate existing adjust item at
rPos to every new cell . A existing adjust item in the table
heading or table contents paragraph style prevent that
propagation .
FALSE : do not propagate
*/
2004-05-03 12:41:33 +00:00
const SwTable * InsertTable ( const SwInsertTableOptions & rInsTblOpts , // HEADLINE_NO_BORDER
const SwPosition & rPos , sal_uInt16 nRows ,
2000-09-18 16:15:01 +00:00
sal_uInt16 nCols , SwHoriOrient eAdjust ,
const SwTableAutoFmt * pTAFmt = 0 ,
2003-05-28 11:50:37 +00:00
const SvUShorts * pColArr = 0 ,
2007-02-28 14:36:45 +00:00
BOOL bCalledFromShell = FALSE ,
BOOL bNewModel = TRUE ) ;
2000-09-18 16:15:01 +00:00
2004-05-03 12:41:33 +00:00
// steht der Index in einer Tabelle, dann returne den TableNode sonst 0
2000-09-18 16:15:01 +00:00
SwTableNode * IsIdxInTbl ( const SwNodeIndex & rIdx ) ;
inline const SwTableNode * IsIdxInTbl ( const SwNodeIndex & rIdx ) const ;
// erzeuge aus dem makierten Bereich eine ausgeglichene Tabelle
2004-05-03 12:41:33 +00:00
const SwTable * TextToTable ( const SwInsertTableOptions & rInsTblOpts , // HEADLINE_NO_BORDER,
const SwPaM & rRange , sal_Unicode cCh ,
2000-09-18 16:15:01 +00:00
SwHoriOrient eAdjust ,
const SwTableAutoFmt * = 0 ) ;
// erzeuge aus der Tabelle wieder normalen Text
sal_Bool TableToText ( const SwTableNode * pTblNd , sal_Unicode cCh ) ;
// einfuegen von Spalten/Zeilen in der Tabelle
sal_Bool InsertCol ( const SwCursor & rCursor ,
sal_uInt16 nCnt = 1 , sal_Bool bBehind = sal_True ) ;
sal_Bool InsertCol ( const SwSelBoxes & rBoxes ,
sal_uInt16 nCnt = 1 , sal_Bool bBehind = sal_True ) ;
sal_Bool InsertRow ( const SwCursor & rCursor ,
sal_uInt16 nCnt = 1 , sal_Bool bBehind = sal_True ) ;
sal_Bool InsertRow ( const SwSelBoxes & rBoxes ,
sal_uInt16 nCnt = 1 , sal_Bool bBehind = sal_True ) ;
// loeschen von Spalten/Zeilen in der Tabelle
2007-02-28 14:36:45 +00:00
sal_Bool DeleteRowCol ( const SwSelBoxes & rBoxes , bool bColumn = false ) ;
2000-09-18 16:15:01 +00:00
sal_Bool DeleteRow ( const SwCursor & rCursor ) ;
sal_Bool DeleteCol ( const SwCursor & rCursor ) ;
// teilen / zusammenfassen von Boxen in der Tabelle
2002-11-15 08:24:03 +00:00
sal_Bool SplitTbl ( const SwSelBoxes & rBoxes , sal_Bool bVert = sal_True ,
sal_uInt16 nCnt = 1 , sal_Bool bSameHeight = sal_False ) ;
2000-09-18 16:15:01 +00:00
// returnt den enum TableMergeErr
sal_uInt16 MergeTbl ( SwPaM & rPam ) ;
String GetUniqueTblName ( ) const ;
sal_Bool IsInsTblFormatNum ( ) const ;
sal_Bool IsInsTblChangeNumFormat ( ) const ;
sal_Bool IsInsTblAlignNum ( ) const ;
// aus der FEShell wg.. Undo und bModified
void GetTabCols ( SwTabCols & rFill , const SwCursor * pCrsr ,
const SwCellFrm * pBoxFrm = 0 ) const ;
void SetTabCols ( const SwTabCols & rNew , sal_Bool bCurRowOnly ,
const SwCursor * pCrsr , const SwCellFrm * pBoxFrm = 0 ) ;
2004-02-26 10:37:18 +00:00
void GetTabRows ( SwTabCols & rFill , const SwCursor * pCrsr ,
const SwCellFrm * pBoxFrm = 0 ) const ;
void SetTabRows ( const SwTabCols & rNew , BOOL bCurColOnly , const SwCursor * pCrsr ,
const SwCellFrm * pBoxFrm = 0 ) ;
2000-09-18 16:15:01 +00:00
// Direktzugriff fuer Uno
2006-08-03 12:55:12 +00:00
void SetTabCols ( SwTable & rTab , const SwTabCols & rNew , const SwTabCols & rOld ,
2000-09-18 16:15:01 +00:00
const SwTableBox * pStart , sal_Bool bCurRowOnly ) ;
2004-05-03 12:41:33 +00:00
void SetRowsToRepeat ( SwTable & rTable , USHORT nSet ) ;
2000-09-18 16:15:01 +00:00
// AutoFormat fuer die Tabelle/TabellenSelection
sal_Bool SetTableAutoFmt ( const SwSelBoxes & rBoxes , const SwTableAutoFmt & rNew ) ;
// Erfrage wie attributiert ist
sal_Bool GetTableAutoFmt ( const SwSelBoxes & rBoxes , SwTableAutoFmt & rGet ) ;
2001-02-08 13:32:55 +00:00
// setze das InsertDB als Tabelle Undo auf:
void AppendUndoForInsertFromDB ( const SwPaM & rPam , BOOL bIsTable ) ;
2000-09-18 16:15:01 +00:00
// setze die Spalten/Zeilen/ZTellen Breite/Hoehe
sal_Bool SetColRowWidthHeight ( SwTableBox & rAktBox , sal_uInt16 eType ,
SwTwips nAbsDiff , SwTwips nRelDiff ) ;
SwTableBoxFmt * MakeTableBoxFmt ( ) ;
SwTableLineFmt * MakeTableLineFmt ( ) ;
// teste ob die Box ein numerischen Wert darstellt und aender dann ggfs.
// das Format der Box
void ChkBoxNumFmt ( SwTableBox & rAktBox , sal_Bool bCallUpdate ) ;
void SetTblBoxFormulaAttrs ( SwTableBox & rBox , const SfxItemSet & rSet ) ;
void ClearBoxNumAttrs ( const SwNodeIndex & rNode ) ;
sal_Bool InsCopyOfTbl ( SwPosition & rInsPos , const SwSelBoxes & rBoxes ,
const SwTable * pCpyTbl = 0 , sal_Bool bCpyName = sal_False ,
sal_Bool bCorrPos = sal_False ) ;
sal_Bool UnProtectCells ( const String & rTblName ) ;
sal_Bool UnProtectCells ( const SwSelBoxes & rBoxes ) ;
sal_Bool UnProtectTbls ( const SwPaM & rPam ) ;
sal_Bool HasTblAnyProtection ( const SwPosition * pPos ,
const String * pTblName = 0 ,
sal_Bool * pFullTblProtection = 0 ) ;
// Tabelle an der Position in der GrundLine aufsplitten, sprich eine
// neue Tabelle erzeugen.
sal_Bool SplitTable ( const SwPosition & rPos , sal_uInt16 eMode = 0 ,
sal_Bool bCalcNewSize = sal_False ) ;
// und die Umkehrung davon. rPos muss in der Tabelle stehen, die bestehen
// bleibt. Das Flag besagt ob die aktuelle mit der davor oder dahinter
// stehenden vereint wird.
sal_Bool MergeTable ( const SwPosition & rPos , sal_Bool bWithPrev = sal_True ,
sal_uInt16 nMode = 0 ) ;
// Charts der angegebenen Tabelle zum Update bewegen
void UpdateCharts ( const String & rName ) const ;
// update all charts, for that exists any table
void UpdateAllCharts ( ) { DoUpdateAllCharts ( 0 ) ; }
// Tabelle wird umbenannt und aktualisiert die Charts
void SetTableName ( SwFrmFmt & rTblFmt , const String & rNewName ) ;
// returne zum Namen die im Doc gesetzte Referenz
const SwFmtRefMark * GetRefMark ( const String & rName ) const ;
// returne die RefMark per Index - fuer Uno
const SwFmtRefMark * GetRefMark ( sal_uInt16 nIndex ) const ;
// returne die Namen aller im Doc gesetzten Referenzen.
// Ist der ArrayPointer 0 dann returne nur, ob im Doc. eine RefMark
// gesetzt ist
sal_uInt16 GetRefMarks ( SvStringsDtor * = 0 ) const ;
//Einfuegen einer Beschriftung - falls ein FlyFormat erzeugt wird, so
// returne dieses.
2005-01-25 13:41:12 +00:00
SwFlyFrmFmt * InsertLabel ( const SwLabelType eType , const String & rTxt , const String & rSeparator ,
2006-03-16 11:23:51 +00:00
const sal_Bool bBefore , const sal_uInt16 nId , const ULONG nIdx ,
2004-09-20 11:34:25 +00:00
const String & rCharacterStyle ,
2000-09-18 16:15:01 +00:00
const sal_Bool bCpyBrd = sal_True ) ;
2005-01-25 13:41:12 +00:00
SwFlyFrmFmt * InsertDrawLabel (
const String & rTxt , const String & rSeparator ,
const sal_uInt16 nId , const String & rCharacterStyle , SdrObject & rObj ) ;
2000-09-18 16:15:01 +00:00
// erfrage den Attribut Pool
const SwAttrPool & GetAttrPool ( ) const { return aAttrPool ; }
SwAttrPool & GetAttrPool ( ) { return aAttrPool ; }
// suche ueber das Layout eine EditShell und ggfs. eine ViewShell
SwEditShell * GetEditShell ( ViewShell * * ppSh = 0 ) const ;
// OLE 2.0-Benachrichtung
inline void SetOle2Link ( const Link & rLink ) { aOle2Link = rLink ; }
inline const Link & GetOle2Link ( ) const { return aOle2Link ; }
// SS fuer Bereiche
SwSection * Insert ( const SwPaM & rRange , const SwSection & rNew ,
const SfxItemSet * pAttr = 0 , sal_Bool bUpdate = sal_True ) ;
sal_uInt16 IsInsRegionAvailable ( const SwPaM & rRange ,
const SwNode * * ppSttNd = 0 ) const ;
SwSection * GetCurrSection ( const SwPosition & rPos ) const ;
SwSectionFmts & GetSections ( ) { return * pSectionFmtTbl ; }
const SwSectionFmts & GetSections ( ) const { return * pSectionFmtTbl ; }
SwSectionFmt * MakeSectionFmt ( SwSectionFmt * pDerivedFrom ) ;
void DelSectionFmt ( SwSectionFmt * pFmt , sal_Bool bDelNodes = sal_False ) ;
2000-10-25 13:33:00 +00:00
void ChgSection ( sal_uInt16 nSect , const SwSection & , const SfxItemSet * = 0 , sal_Bool bPreventLinkUpdate = FALSE ) ;
2000-09-18 16:15:01 +00:00
String GetUniqueSectionName ( const String * pChkStr = 0 ) const ;
2006-08-14 14:19:55 +00:00
/* @@@MAINTAINABILITY-HORROR@@@
The model should not have anything to do with a shell .
Unnecessary compile / link time dependency .
*/
2000-09-18 16:15:01 +00:00
// Pointer auf die SfxDocShell vom Doc, kann 0 sein !!!
SwDocShell * GetDocShell ( ) { return pDocShell ; }
const SwDocShell * GetDocShell ( ) const { return pDocShell ; }
void SetDocShell ( SwDocShell * pDSh ) ;
// falls beim Kopieren von OLE-Nodes eine DocShell angelegt werden muss,
// dann MUSS der Ref-Pointer besetzt sein!!!!
2004-10-04 17:57:48 +00:00
SfxObjectShellRef * GetRefForDocShell ( ) { return pDocShRef ; }
void SetRefForDocShell ( SfxObjectShellRef * p ) { pDocShRef = p ; }
2000-09-18 16:15:01 +00:00
2004-10-04 17:57:48 +00:00
// fuer die TextBausteine - diese habe nur ein SvPersist zur
// Verfuegung
SfxObjectShell * GetPersist ( ) const ;
2000-09-18 16:15:01 +00:00
// Pointer auf den Storage des SfxDocShells, kann 0 sein !!!
2004-10-04 17:57:48 +00:00
: : com : : sun : : star : : uno : : Reference < : : com : : sun : : star : : embed : : XStorage > GetDocStorage ( ) ;
2000-09-18 16:15:01 +00:00
// abfrage/setze Flag, ob das Dokument im asynchronen Laden ist
2006-08-14 14:19:55 +00:00
bool IsInLoadAsynchron ( ) const { return mbInLoadAsynchron ; }
void SetInLoadAsynchron ( bool bFlag ) { mbInLoadAsynchron = bFlag ; }
2000-09-18 16:15:01 +00:00
// erzeuge um das zu Servende Object eine Selektion
sal_Bool SelectServerObj ( const String & rStr , SwPaM * & rpPam ,
SwNodeRange * & rpRange ) const ;
// fuer Drag&Move: ( z.B. RefMarks "verschieben" erlauben )
2006-08-14 14:19:55 +00:00
bool IsCopyIsMove ( ) const { return mbCopyIsMove ; }
void SetCopyIsMove ( bool bFlag ) { mbCopyIsMove = bFlag ; }
2000-09-18 16:15:01 +00:00
// fuers Draw-Undo: Aktionen auf Flys wollen wir selbst behandeln
2006-08-14 14:19:55 +00:00
bool IsNoDrawUndoObj ( ) const { return mbNoDrawUndoObj ; }
void SetNoDrawUndoObj ( bool bFlag ) { mbNoDrawUndoObj = bFlag ; }
2000-09-18 16:15:01 +00:00
SwDrawContact * GroupSelection ( SdrView & ) ;
void UnGroupSelection ( SdrView & ) ;
sal_Bool DeleteSelection ( SwDrawView & ) ;
// Invalidiert OnlineSpell-WrongListen
void SpellItAgainSam ( sal_Bool bInvalid , sal_Bool bOnlyWrong ) ;
void InvalidateAutoCompleteFlag ( ) ;
2005-09-28 10:02:48 +00:00
// <--
2000-09-18 16:15:01 +00:00
void SetCalcFieldValueHdl ( Outliner * pOutliner ) ;
// erfrage ob die ::com::sun::star::util::URL besucht war. Uebers Doc, falls nur ein ::com::sun::star::text::Bookmark
// angegeben ist. Dann muss der Doc. Name davor gesetzt werden!
sal_Bool IsVisitedURL ( const String & rURL ) const ;
// speicher die akt. Werte fuer die automatische Aufnahme von Ausnahmen
// in die Autokorrektur
void SetAutoCorrExceptWord ( SwAutoCorrExceptWord * pNew ) ;
SwAutoCorrExceptWord * GetAutoCorrExceptWord ( ) { return pACEWord ; }
const SwFmtINetFmt * FindINetAttr ( const String & rName ) const ;
// rufe ins dunkle Basic, mit evt. Return String
sal_Bool ExecMacro ( const SvxMacro & rMacro , String * pRet = 0 , SbxArray * pArgs = 0 ) ;
// rufe ins dunkle Basic/JavaScript
sal_uInt16 CallEvent ( sal_uInt16 nEvent , const SwCallMouseEvent & rCallEvent ,
sal_Bool bChkPtr = sal_False , SbxArray * pArgs = 0 ,
const Link * pCallBack = 0 ) ;
// linken Rand ueber Objectleiste einstellen (aenhlich dem Stufen von
// Numerierungen), optional kann man "um" den Offset stufen oder "auf"
// die Position gestuft werden (bModulus = sal_True)
void MoveLeftMargin ( const SwPaM & rPam , sal_Bool bRight = sal_True ,
sal_Bool bModulus = sal_True ) ;
// Numberformatter erfragen
inline SvNumberFormatter * GetNumberFormatter ( sal_Bool bCreate = sal_True ) ;
inline const SvNumberFormatter * GetNumberFormatter ( sal_Bool bCreate = sal_True ) const ;
// loesche den nicht sichtbaren ::com::sun::star::ucb::Content aus dem Document, wie z.B.:
// versteckte Bereiche, versteckte Absaetze
sal_Bool RemoveInvisibleContent ( ) ;
2005-01-05 14:47:18 +00:00
//restore the invisible content if it's available on the undo stack
sal_Bool RestoreInvisibleContent ( ) ;
2004-09-20 12:02:27 +00:00
// replace fields by text - mailmerge support
BOOL ConvertFieldsToText ( ) ;
2006-08-14 14:19:55 +00:00
2000-09-18 16:15:01 +00:00
// erzeuge Anhand der vorgebenen Collection Teildokumente
// falls keine angegeben ist, nehme die Kapitelvorlage der 1. Ebene
sal_Bool GenerateGlobalDoc ( const String & rPath ,
const SwTxtFmtColl * pSplitColl = 0 ) ;
sal_Bool GenerateHTMLDoc ( const String & rPath ,
const SwTxtFmtColl * pSplitColl = 0 ) ;
// vergleiche zwei Dokument miteinander
long CompareDoc ( const SwDoc & rDoc ) ;
// merge zweier Dokumente
long MergeDoc ( const SwDoc & rDoc ) ;
// setze Kommentar-Text fuers Redline, das dann per AppendRedline
// hereinkommt. Wird vom Autoformat benutzt. 0-Pointer setzt den Modus
// wieder zurueck. Die SequenceNummer ist fuers UI-seitige zusammen-
// fassen von Redlines.
void SetAutoFmtRedlineComment ( const String * pTxt , sal_uInt16 nSeqNo = 0 ) ;
2006-08-14 14:19:55 +00:00
bool IsAutoFmtRedline ( ) const { return mbIsAutoFmtRedline ; }
void SetAutoFmtRedline ( bool bFlag ) { mbIsAutoFmtRedline = bFlag ; }
2000-09-18 16:15:01 +00:00
// fuer AutoFormat: mit Undo/Redlining - Behandlung
void SetTxtFmtCollByAutoFmt ( const SwPosition & rPos , sal_uInt16 nPoolId ,
const SfxItemSet * pSet = 0 ) ;
2002-02-22 11:00:10 +00:00
void SetFmtItemByAutoFmt ( const SwPaM & rPam , const SfxItemSet & ) ;
2000-09-18 16:15:01 +00:00
// !!!NUR fuer die SW-Textblocks!! beachtet kein LAYOUT!!!
void ClearDoc ( ) ; // loescht den gesamten Inhalt.
// erfrage / setze die Daten fuer die PagePreView
const SwPagePreViewPrtData * GetPreViewPrtData ( ) const { return pPgPViewPrtData ; }
// wenn der Pointer == 0 ist, dann wird im Doc der Pointer zerstoert,
// ansonsten wird das Object kopiert.
// Der Pointer geht NICHT in den Besitz des Doc's!!
void SetPreViewPrtData ( const SwPagePreViewPrtData * pData ) ;
// update all modified OLE-Objects. The modification is called over the
// StarOne - Interface --> Bug 67026
void SetOLEObjModified ( )
{ if ( GetRootFrm ( ) ) aOLEModifiedTimer . Start ( ) ; }
// -------------------- Uno - Schnittstellen ---------------------------
const SwUnoCrsrTbl & GetUnoCrsrTbl ( ) const { return * pUnoCrsrTbl ; }
SwUnoCrsr * CreateUnoCrsr ( const SwPosition & rPos , sal_Bool bTblCrsr = sal_False ) ;
// -------------------- Uno - Schnittstellen ---------------------------
// -------------------- FeShell - Schnittstellen -----------------------
// !!!!! diese gehen immer davon aus, das ein Layout existiert !!!!
2004-06-28 12:29:50 +00:00
sal_Bool ChgAnchor ( const SdrMarkList & _rMrkList ,
RndStdIds _eAnchorType ,
const sal_Bool _bSameOnly ,
const sal_Bool _bPosCorr ) ;
2000-09-18 16:15:01 +00:00
void SetRowHeight ( const SwCursor & rCursor , const SwFmtFrmSize & rNew ) ;
void GetRowHeight ( const SwCursor & rCursor , SwFmtFrmSize * & rpSz ) const ;
2004-01-13 10:04:52 +00:00
void SetRowSplit ( const SwCursor & rCursor , const SwFmtRowSplit & rNew ) ;
void GetRowSplit ( const SwCursor & rCursor , SwFmtRowSplit * & rpSz ) const ;
2000-09-18 16:15:01 +00:00
sal_Bool BalanceRowHeight ( const SwCursor & rCursor , sal_Bool bTstOnly = sal_True ) ;
void SetRowBackground ( const SwCursor & rCursor , const SvxBrushItem & rNew ) ;
sal_Bool GetRowBackground ( const SwCursor & rCursor , SvxBrushItem & rToFill ) const ;
void SetTabBorders ( const SwCursor & rCursor , const SfxItemSet & rSet ) ;
void SetTabLineStyle ( const SwCursor & rCursor ,
const Color * pColor , sal_Bool bSetLine ,
const SvxBorderLine * pBorderLine ) ;
void GetTabBorders ( const SwCursor & rCursor , SfxItemSet & rSet ) const ;
void SetBoxAttr ( const SwCursor & rCursor , const SfxPoolItem & rNew ) ;
2004-04-21 08:53:28 +00:00
sal_Bool GetBoxAttr ( const SwCursor & rCursor , SfxPoolItem & rToFill ) const ;
2000-09-18 16:15:01 +00:00
void SetBoxAlign ( const SwCursor & rCursor , sal_uInt16 nAlign ) ;
sal_uInt16 GetBoxAlign ( const SwCursor & rCursor ) const ;
void AdjustCellWidth ( const SwCursor & rCursor , sal_Bool bBalance = sal_False ) ;
int Chainable ( const SwFrmFmt & rSource , const SwFrmFmt & rDest ) ;
int Chain ( SwFrmFmt & rSource , const SwFrmFmt & rDest ) ;
void Unchain ( SwFrmFmt & rFmt ) ;
// fuers Copy/Move aus der FrmShell
SdrObject * CloneSdrObj ( const SdrObject & , sal_Bool bMoveWithinDoc = sal_False ,
sal_Bool bInsInPage = sal_True ) ;
//
// -------------------- FeShell - Schnittstellen Ende ------------------
// Schnittstelle fuer die TextInputDaten - ( fuer die Texteingabe
// von japanischen/chinesischen Zeichen)
SwExtTextInput * CreateExtTextInput ( const SwPaM & rPam ) ;
void DeleteExtTextInput ( SwExtTextInput * pDel ) ;
SwExtTextInput * GetExtTextInput ( const SwNode & rNd ,
xub_StrLen nCntntPos = STRING_NOTFOUND ) const ;
2001-10-25 13:27:01 +00:00
SwExtTextInput * GetExtTextInput ( ) const ;
2000-09-18 16:15:01 +00:00
// Schnistelle fuer den Zugriff auf die AutoComplete-Liste
static SwAutoCompleteWord & GetAutoCompleteWords ( ) { return * pACmpltWords ; }
2006-08-14 14:19:55 +00:00
bool ContainsMSVBasic ( ) const { return mbContains_MSVBasic ; }
void SetContainsMSVBasic ( bool bFlag ) { mbContains_MSVBasic = bFlag ; }
2001-01-19 15:45:37 +00:00
2001-01-23 19:19:08 +00:00
// Interface for the list of Ruby - texts/attributes
USHORT FillRubyList ( const SwPaM & rPam , SwRubyList & rList ,
USHORT nMode ) ;
USHORT SetRubyList ( const SwPaM & rPam , const SwRubyList & rList ,
USHORT nMode ) ;
2006-08-14 14:19:55 +00:00
inline void SetWinEncryption ( const bool bImportWinEncryption ) { mbWinEncryption = bImportWinEncryption ; }
inline bool IsWinEncrypted ( ) const { return mbWinEncryption ; }
2004-09-17 12:21:18 +00:00
2001-05-11 07:41:31 +00:00
void ReadLayoutCache ( SvStream & rStream ) ;
void WriteLayoutCache ( SvStream & rStream ) ;
SwLayoutCache * GetLayoutCache ( ) const { return pLayoutCache ; }
2004-02-26 14:22:38 +00:00
/** Checks if any of the text node contains hidden characters.
Used for optimization . Changing the view option ' view hidden text '
has to trigger a reformatting only if some of the text is hidden .
*/
bool ContainsHiddenChars ( ) const ;
2000-09-18 16:15:01 +00:00
// call back for API wrapper
SwModify * GetUnoCallBack ( ) const ;
2004-04-07 11:41:59 +00:00
2004-05-17 15:09:58 +00:00
// -> #i27615#
/**
Marks / Unmarks a level of a numbring rule .
@ param sNumRule name of the numbering rule
@ param nLevel level to mark
@ param bValue - TRUE mark the level
- FALSE unmark the level
*/
void SetMarkedNumLevel ( const String & sNumRule , BYTE nLevel , BOOL bValue ) ;
/**
Marks / Unmarks a level of a numbring rule .
@ param rNumRule the numbering rule
@ param nLevel level to mark
@ param bValue - TRUE mark the level
- FALSE unmark the level
*/
void SetMarkedNumLevel ( SwNumRule & rNumRule , BYTE nLevel , BOOL bValue ) ;
// <- #i27615#
2004-05-18 12:57:08 +00:00
// Change a format undoable.
void ChgFmt ( SwFmt & rFmt , const SfxItemSet & rSet ) ;
2004-11-27 10:39:15 +00:00
2004-09-08 13:49:28 +00:00
void RenameFmt ( SwFmt & rFmt , const String & sNewName ,
BOOL bBroadcast = FALSE ) ;
2004-05-18 12:57:08 +00:00
// Change a TOX undoable.
void ChgTOX ( SwTOXBase & rTOX , const SwTOXBase & rNew ) ;
// #111827#
/**
Returns a textual description of a PaM .
@ param rPaM the PaM to describe
If rPaM only spans one paragraph the result is :
' < text in the PaM > '
< text in the PaM > is shortened to nUndoStringLength characters .
If rPaM spans more than one paragraph the result is :
paragraphs ( STR_PARAGRAPHS )
@ return the textual description of rPaM
*/
String GetPaMDescr ( const SwPaM & rPaM ) const ;
2004-04-07 11:41:59 +00:00
// -> #i23726#
BOOL IsFirstOfNumRule ( SwPosition & rPos ) ;
// <- #i23726#
2004-10-22 07:08:57 +00:00
2004-11-16 09:18:58 +00:00
// --> #i31958# access methods for XForms model(s)
/// access container for XForms model; will be NULL if !isXForms()
com : : sun : : star : : uno : : Reference < com : : sun : : star : : container : : XNameContainer >
getXForms ( ) const ;
/// is this an XForms document?
bool isXForms ( ) const ;
/// initialize XForms models; turn this into an XForms document
void initXForms ( bool bCreateDefaultModel ) ;
// <-- #i31958# access methods for XForms model(s)
2005-03-11 09:44:41 +00:00
2006-05-04 12:55:55 +00:00
// --> OD 2006-03-21 #b6375613#
2006-08-14 14:19:55 +00:00
inline const bool ApplyWorkaroundForB6375613 ( ) const
2006-05-04 12:55:55 +00:00
{
return mbApplyWorkaroundForB6375613 ;
}
2006-08-14 14:19:55 +00:00
void SetApplyWorkaroundForB6375613 ( bool p_bApplyWorkaroundForB6375613 ) ;
2006-05-04 12:55:55 +00:00
// <--
2000-09-18 16:15:01 +00:00
} ;
// Diese Methode wird im Dtor vom SwDoc gerufen und loescht den Cache
// der Konturobjekte
void ClrContourCache ( ) ;
//------------------ inline impl. ---------------------------------
inline const SwTableNode * SwDoc : : IsIdxInTbl ( const SwNodeIndex & rIdx ) const
{
return ( ( SwDoc * ) this ) - > IsIdxInTbl ( rIdx ) ;
}
inline SvNumberFormatter * SwDoc : : GetNumberFormatter ( sal_Bool bCreate )
{
if ( bCreate & & ! pNumberFormatter )
_CreateNumberFormatter ( ) ;
return pNumberFormatter ;
}
inline const SvNumberFormatter * SwDoc : : GetNumberFormatter ( sal_Bool bCreate ) const
{
return ( ( SwDoc * ) this ) - > GetNumberFormatter ( bCreate ) ;
}
2006-08-14 14:19:55 +00:00
inline void SwDoc : : SetOLEPrtNotifyPending ( bool bSet )
2003-04-01 08:50:47 +00:00
{
2006-08-14 14:19:55 +00:00
mbOLEPrtNotifyPending = bSet ;
2003-04-01 08:50:47 +00:00
if ( ! bSet )
2006-08-14 14:19:55 +00:00
mbAllOLENotify = sal_False ;
2003-04-01 08:50:47 +00:00
}
2000-09-18 16:15:01 +00:00
2006-03-22 11:28:52 +00:00
// --> OD 2006-03-14 #i62875#
// namespace <docfunc> for functions and procedures working on a Writer document.
namespace docfunc
{
/** method to check, if given Writer document contains at least one drawing object
2000-09-18 16:15:01 +00:00
2006-03-22 11:28:52 +00:00
OD 2006 - 03 - 17 # i62875 #
@ author OD
@ param p_rDoc
input parameter - reference to the Writer document , which is investigated .
*/
bool ExistsDrawObjs ( SwDoc & p_rDoc ) ;
/** method to check, if given Writer document contains only drawing objects,
which are completely on its page .
OD 2006 - 03 - 17 # i62875 #
@ author OD
@ param p_rDoc
input parameter - reference to the Writer document , which is investigated .
*/
bool AllDrawObjsOnPage ( SwDoc & p_rDoc ) ;
2006-10-13 11:18:57 +00:00
/** method to check, if the outline style has to written as a normal list style
OD 2006 - 09 - 27 # i69627 #
The outline style has to written as a normal list style , if a parent
paragraph style of one of the paragraph styles , which are assigned to
the list levels of the outline style , has a list style set or inherits
a list style from its parent paragraphs style .
This information is needed for the OpenDocument file format export .
@ author OD
@ param rDoc
input parameter - reference to the text document , which is investigated .
@ return boolean
indicating , if the outline style has to written as a normal list style
*/
bool HasOutlineStyleToBeWrittenAsNormalListStyle ( SwDoc & rDoc ) ;
2006-03-22 11:28:52 +00:00
}
// <--
2000-09-18 16:15:01 +00:00
# endif //_DOC_HXX