2000-09-18 16:07:07 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2005-09-07 18:08:03 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2005-09-07 18:08:03 +00:00
|
|
|
* $RCSfile: objshimp.hxx,v $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2006-03-24 12:18:16 +00:00
|
|
|
* $Revision: 1.31 $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2006-03-24 12:18:16 +00:00
|
|
|
* last change: $Author: obo $ $Date: 2006-03-24 13:18:16 $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2005-09-07 18:08:03 +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:07:07 +00:00
|
|
|
*
|
|
|
|
*
|
2005-09-07 18:08:03 +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:07:07 +00:00
|
|
|
*
|
2005-09-07 18:08:03 +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:07:07 +00:00
|
|
|
*
|
2005-09-07 18:08:03 +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:07:07 +00:00
|
|
|
*
|
2005-09-07 18:08:03 +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:07:07 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _SFX_OBJSHIMP_HXX
|
|
|
|
#define _SFX_OBJSHIMP_HXX
|
|
|
|
|
2004-10-04 19:59:10 +00:00
|
|
|
//#include <hash_map>
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_
|
|
|
|
#include <com/sun/star/frame/XModel.hpp>
|
|
|
|
#endif
|
|
|
|
#ifndef _DATETIME_HXX
|
|
|
|
#include <tools/datetime.hxx>
|
|
|
|
#endif
|
2001-04-12 08:13:58 +00:00
|
|
|
|
2001-12-17 13:24:37 +00:00
|
|
|
#include <svtools/securityoptions.hxx>
|
2001-04-12 08:13:58 +00:00
|
|
|
#include "objsh.hxx"
|
|
|
|
#include "bitset.hxx"
|
|
|
|
|
2001-07-03 11:22:17 +00:00
|
|
|
namespace svtools { class AsynchronLink; }
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
//====================================================================
|
|
|
|
|
|
|
|
DBG_NAMEEX(SfxObjectShell);
|
|
|
|
|
|
|
|
class SfxViewFrame;
|
|
|
|
struct MarkData_Impl
|
|
|
|
{
|
|
|
|
String aMark;
|
|
|
|
String aUserData;
|
|
|
|
SfxViewFrame* pFrame;
|
|
|
|
};
|
|
|
|
|
|
|
|
class SfxFrame;
|
2001-03-28 10:01:45 +00:00
|
|
|
class SfxDialogLibraryContainer;
|
|
|
|
class SfxScriptLibraryContainer;
|
2001-06-11 09:07:06 +00:00
|
|
|
class SfxToolBoxConfig;
|
|
|
|
class SfxAcceleratorManager;
|
2000-09-18 16:07:07 +00:00
|
|
|
struct SfxObjectShell_Impl
|
|
|
|
{
|
2004-10-04 19:59:10 +00:00
|
|
|
::comphelper::EmbeddedObjectContainer* mpObjectContainer;
|
2001-06-11 09:07:06 +00:00
|
|
|
SfxAcceleratorManager* pAccMgr;
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxDocumentInfo* pDocInfo;
|
|
|
|
SfxConfigManager* pCfgMgr;
|
|
|
|
BasicManager* pBasicMgr; // Doc-BASIC oder 0
|
2001-03-28 10:01:45 +00:00
|
|
|
SfxScriptLibraryContainer* pBasicLibContainer;
|
|
|
|
SfxDialogLibraryContainer* pDialogLibContainer;
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxProgress* pProgress;
|
|
|
|
String aTitle;
|
2001-09-07 09:16:09 +00:00
|
|
|
String aTempName;
|
2000-09-18 16:07:07 +00:00
|
|
|
DateTime nTime;
|
|
|
|
sal_uInt16 nVisualDocumentNumber;
|
2004-08-31 11:37:33 +00:00
|
|
|
sal_Int16 nDocumentSignatureState;
|
|
|
|
sal_Int16 nScriptingSignatureState;
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Bool bTemplateConfig:1,
|
|
|
|
bInList:1, // ob per First/Next erreichbar
|
|
|
|
bClosing:1, // sal_True w"aehrend Close(), um Benachrichtigungs-Rekursionen zu verhindern
|
|
|
|
bSetInPlaceObj:1, // sal_True, falls bereits versucht wurde pInPlaceObject zu casten
|
|
|
|
bIsSaving:1,
|
|
|
|
bPasswd:1,
|
|
|
|
bIsTmp:1,
|
|
|
|
bIsNamedVisible:1,
|
|
|
|
bIsTemplate:1,
|
|
|
|
bIsAbortingImport:1, // Importvorgang soll abgebrochen werden.
|
|
|
|
bImportDone : 1, //Import schon fertig? Fuer AutoReload von Docs.
|
|
|
|
bInPrepareClose : 1,
|
|
|
|
bPreparedForClose : 1,
|
|
|
|
bWaitingForPicklist : 1,// Muss noch in die Pickliste
|
|
|
|
bModuleSearched : 1,
|
|
|
|
bIsBasicDefault : 1,
|
|
|
|
bIsHelpObjSh : 1,
|
|
|
|
bForbidCaching : 1,
|
|
|
|
bForbidReload : 1,
|
|
|
|
bSupportsEventMacros: 1,
|
|
|
|
bLoadingWindows: 1,
|
2003-03-27 10:29:38 +00:00
|
|
|
bBasicInitialized :1,
|
2006-02-09 12:58:49 +00:00
|
|
|
//bHidden :1, // indicates a hidden view shell
|
2004-10-04 19:59:10 +00:00
|
|
|
bIsPrintJobCancelable :1, // Stampit disable/enable cancel button for print jobs ... default = true = enable!
|
2005-01-11 12:32:31 +00:00
|
|
|
bOwnsStorage:1,
|
2005-03-23 13:25:42 +00:00
|
|
|
bNoBaseURL:1,
|
2005-04-08 15:23:24 +00:00
|
|
|
bInitialized:1,
|
2005-04-22 12:32:56 +00:00
|
|
|
bSignatureErrorIsShown:1,
|
2005-07-20 11:27:10 +00:00
|
|
|
bModelInitialized:1, // whether the related model is initialized
|
|
|
|
bPreserveVersions:1;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
String aNewName; // Der Name, unter dem das Doc gespeichert
|
|
|
|
// werden soll
|
|
|
|
IndexBitSet aBitSet;
|
|
|
|
sal_uInt32 lErr;
|
|
|
|
sal_uInt16 nEventId; // falls vor Activate noch ein
|
|
|
|
// Open/Create gesendet werden mu/s
|
2002-03-26 15:34:52 +00:00
|
|
|
sal_Bool bDoNotTouchDocInfo;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
AutoReloadTimer_Impl *pReloadTimer;
|
|
|
|
MarkData_Impl* pMarkData;
|
|
|
|
sal_uInt16 nLoadedFlags;
|
2006-03-24 12:18:16 +00:00
|
|
|
sal_uInt16 nFlagsInProgress;
|
2000-09-18 16:07:07 +00:00
|
|
|
String aMark;
|
|
|
|
Size aViewSize; // wird leider vom Writer beim
|
|
|
|
sal_Bool bInFrame; // HTML-Import gebraucht
|
|
|
|
sal_Bool bModalMode;
|
2001-11-22 09:53:09 +00:00
|
|
|
sal_Bool bRunningMacro;
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Bool bReloadAvailable;
|
|
|
|
sal_uInt16 nAutoLoadLocks;
|
2001-07-03 11:22:17 +00:00
|
|
|
SfxModule* pModule;
|
|
|
|
SfxFrame* pFrame;
|
|
|
|
SfxToolBoxConfig* pTbxConfig;
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxEventConfigItem_Impl* pEventConfig;
|
2001-07-03 11:22:17 +00:00
|
|
|
SfxObjectShellFlags eFlags;
|
|
|
|
svtools::AsynchronLink* pCloser;
|
|
|
|
String aBaseURL;
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Bool bReadOnlyUI;
|
2001-07-03 11:22:17 +00:00
|
|
|
SvRefBaseRef xHeaderAttributes;
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Bool bHiddenLockedByAPI;
|
|
|
|
sal_Bool bInCloseEvent;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > xModel;
|
|
|
|
sal_uInt16 nStyleFilter;
|
2001-12-17 13:24:37 +00:00
|
|
|
sal_Int16 nMacroMode;
|
2002-09-20 15:02:34 +00:00
|
|
|
sal_Bool bDisposing;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2005-11-11 11:24:06 +00:00
|
|
|
sal_Bool bMacroDisabled;
|
|
|
|
sal_Bool bMacroDisabledMessageIsShown;
|
|
|
|
|
2004-10-04 19:59:10 +00:00
|
|
|
sal_Bool m_bEnableSetModified;
|
|
|
|
sal_Bool m_bIsModified;
|
|
|
|
|
|
|
|
Rectangle m_aVisArea;
|
|
|
|
MapUnit m_nMapUnit;
|
|
|
|
|
|
|
|
sal_Bool m_bCreateTempStor;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xDocStorage;
|
|
|
|
|
|
|
|
sal_Bool m_bIsInit;
|
|
|
|
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxObjectShell_Impl() :
|
2001-06-11 09:07:06 +00:00
|
|
|
pAccMgr(0),
|
2000-09-18 16:07:07 +00:00
|
|
|
nTime(),
|
|
|
|
bIsTmp( sal_False),
|
|
|
|
bClosing( sal_False),
|
|
|
|
bSetInPlaceObj( sal_False),
|
|
|
|
bPasswd( sal_False),
|
|
|
|
pBasicMgr( 0),
|
2001-03-28 10:01:45 +00:00
|
|
|
pBasicLibContainer( 0 ),
|
|
|
|
pDialogLibContainer( 0 ),
|
2000-09-18 16:07:07 +00:00
|
|
|
pProgress( 0),
|
|
|
|
nVisualDocumentNumber( USHRT_MAX),
|
2004-08-31 11:37:33 +00:00
|
|
|
nDocumentSignatureState( SIGNATURESTATE_UNKNOWN ),
|
|
|
|
nScriptingSignatureState( SIGNATURESTATE_UNKNOWN ),
|
2000-09-18 16:07:07 +00:00
|
|
|
bIsSaving( sal_False),
|
|
|
|
bIsNamedVisible( sal_False),
|
|
|
|
pCfgMgr( 0),
|
|
|
|
bTemplateConfig( sal_False),
|
|
|
|
bIsBasicDefault( sal_True ),
|
|
|
|
bIsTemplate(sal_False),
|
|
|
|
lErr(ERRCODE_NONE),
|
|
|
|
nEventId ( 0),
|
|
|
|
pDocInfo ( 0),
|
|
|
|
bIsAbortingImport ( sal_False),
|
|
|
|
bInList ( sal_False),
|
|
|
|
bImportDone ( sal_False),
|
|
|
|
pReloadTimer ( 0),
|
|
|
|
nLoadedFlags ( SFX_LOADED_MAINDOCUMENT ),
|
2006-03-24 12:18:16 +00:00
|
|
|
nFlagsInProgress( 0 ),
|
2000-09-18 16:07:07 +00:00
|
|
|
pMarkData( 0 ),
|
|
|
|
bInFrame( sal_False ),
|
|
|
|
bModalMode( sal_False ),
|
2001-11-22 09:53:09 +00:00
|
|
|
bRunningMacro( sal_False ),
|
2000-09-18 16:07:07 +00:00
|
|
|
bReloadAvailable( sal_False ),
|
|
|
|
nAutoLoadLocks( 0 ),
|
|
|
|
bInPrepareClose( sal_False ),
|
|
|
|
bPreparedForClose( sal_False ),
|
|
|
|
bWaitingForPicklist( sal_False ),
|
2001-11-22 09:53:09 +00:00
|
|
|
pModule( 0 ),
|
2000-09-18 16:07:07 +00:00
|
|
|
bModuleSearched( sal_False ),
|
|
|
|
pFrame( 0 ),
|
2001-06-11 09:07:06 +00:00
|
|
|
pTbxConfig( 0 ),
|
2000-09-18 16:07:07 +00:00
|
|
|
pEventConfig(NULL),
|
|
|
|
bIsHelpObjSh( sal_False ),
|
|
|
|
bForbidCaching( sal_False ),
|
2002-03-26 15:34:52 +00:00
|
|
|
bDoNotTouchDocInfo( sal_False ),
|
2000-09-18 16:07:07 +00:00
|
|
|
bForbidReload( sal_False ),
|
|
|
|
bBasicInitialized( sal_False ),
|
|
|
|
eFlags( SFXOBJECTSHELL_UNDEFINED ),
|
|
|
|
pCloser( 0 ),
|
|
|
|
bSupportsEventMacros( sal_True ),
|
|
|
|
bReadOnlyUI( sal_False ),
|
|
|
|
bHiddenLockedByAPI( sal_False ),
|
|
|
|
bInCloseEvent( sal_False ),
|
2003-03-27 10:29:38 +00:00
|
|
|
bLoadingWindows( sal_False ),
|
2006-02-09 12:58:49 +00:00
|
|
|
bPreserveVersions( sal_True )
|
|
|
|
//, bHidden( sal_False )
|
2000-09-18 16:07:07 +00:00
|
|
|
, nStyleFilter( 0 )
|
2002-06-21 07:57:25 +00:00
|
|
|
, nMacroMode( -1 )
|
2002-09-20 15:02:34 +00:00
|
|
|
, bDisposing( sal_False )
|
2005-11-11 11:24:06 +00:00
|
|
|
, bMacroDisabled( sal_False )
|
|
|
|
, bMacroDisabledMessageIsShown( sal_False )
|
2003-11-25 09:51:18 +00:00
|
|
|
, bIsPrintJobCancelable( sal_True )
|
2004-10-04 19:59:10 +00:00
|
|
|
, m_bEnableSetModified( sal_True )
|
|
|
|
, m_bIsModified( sal_False )
|
|
|
|
, m_nMapUnit( MAP_100TH_MM )
|
|
|
|
, m_bCreateTempStor( sal_False )
|
|
|
|
, m_bIsInit( sal_False )
|
|
|
|
, mpObjectContainer(0)
|
|
|
|
, bOwnsStorage( sal_True )
|
2005-01-11 12:32:31 +00:00
|
|
|
, bNoBaseURL( sal_False )
|
2005-03-23 13:25:42 +00:00
|
|
|
, bInitialized( sal_False )
|
2005-04-08 15:23:24 +00:00
|
|
|
, bSignatureErrorIsShown( sal_False )
|
2005-04-22 12:32:56 +00:00
|
|
|
, bModelInitialized( sal_False )
|
2000-09-18 16:07:07 +00:00
|
|
|
{}
|
|
|
|
~SfxObjectShell_Impl();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|