1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: appdata.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SFX_APPDATA_HXX
31 #define _SFX_APPDATA_HXX
33 #include <tools/link.hxx>
34 #include <tools/list.hxx>
35 #include <svtools/lstner.hxx>
36 #include <vcl/timer.hxx>
37 #include <tools/string.hxx>
38 #include "rtl/ref.hxx"
40 #include <com/sun/star/frame/XModel.hpp>
47 class SfxChildWinFactArr_Impl
;
48 class SfxDdeDocTopics_Impl
;
50 class SfxEventConfiguration
;
53 class SfxInitLinkList
;
54 class SfxFilterMatcher
;
56 class ISfxTemplateCommon
;
57 class SfxFilterMatcher
;
58 class SfxCancelManager
;
59 class SfxStatusDispatcher
;
60 class SfxDdeTriggerTopic_Impl
;
62 class SfxDocumentTemplates
;
63 class SfxFrameArr_Impl
;
67 class SfxObjectFactory
;
71 class SfxTbxCtrlFactArr_Impl
;
72 class SfxStbCtrlFactArr_Impl
;
73 class SfxMenuCtrlFactArr_Impl
;
74 class SfxViewFrameArr_Impl
;
75 class SfxViewShellArr_Impl
;
76 class SfxObjectShellArr_Impl
;
81 class SfxResourceManager
;
85 class SfxBasicManagerHolder
;
86 class SfxBasicManagerCreationListener
;
88 namespace sfx2
{ namespace appl
{ class ImeStatusWindow
; } }
90 //=========================================================================
92 //=========================================================================
97 IndexBitSet aIndexBitSet
; // for counting noname documents
98 String aLastDir
; // for IO dialog
101 DdeService
* pDdeService
;
102 SfxDdeDocTopics_Impl
* pDocTopics
;
103 SfxDdeTriggerTopic_Impl
* pTriggerTopic
;
104 DdeService
* pDdeService2
;
106 // single instance classes
107 SfxChildWinFactArr_Impl
* pFactArr
;
108 SfxFrameArr_Impl
* pTopFrames
;
111 SfxInitLinkList
* pInitLinkList
;
113 // application members
114 SfxFilterMatcher
* pMatcher
;
115 SfxCancelManager
* pCancelMgr
;
116 ResMgr
* pLabelResMgr
;
117 SfxStatusDispatcher
* pAppDispatch
;
118 SfxDocumentTemplates
* pTemplates
;
122 SfxEventConfiguration
* pEventConfig
;
123 SvUShorts
* pDisabledSlotList
;
124 SvStrings
* pSecureURLs
;
125 SfxMiscCfg
* pMiscConfig
;
126 SvtSaveOptions
* pSaveOptions
;
127 SvtUndoOptions
* pUndoOptions
;
128 SvtHelpOptions
* pHelpOptions
;
130 // "current" functionality
131 SfxProgress
* pProgress
;
132 ISfxTemplateCommon
* pTemplateCommon
;
134 USHORT nDocModalMode
; // counts documents in modal mode
135 USHORT nAutoTabPageId
;
136 USHORT nBasicCallLevel
;
137 USHORT nRescheduleLocks
;
138 USHORT nInReschedule
;
139 USHORT nAsynchronCalls
;
141 rtl::Reference
< sfx2::appl::ImeStatusWindow
> m_xImeStatusWindow
;
143 SfxTbxCtrlFactArr_Impl
* pTbxCtrlFac
;
144 SfxStbCtrlFactArr_Impl
* pStbCtrlFac
;
145 SfxMenuCtrlFactArr_Impl
* pMenuCtrlFac
;
146 SfxViewFrameArr_Impl
* pViewFrames
;
147 SfxViewShellArr_Impl
* pViewShells
;
148 SfxObjectShellArr_Impl
* pObjShells
;
149 ResMgr
* pSfxResManager
;
151 SimpleResMgr
* pSimpleResManager
;
152 SfxBasicManagerHolder
* pBasicManager
;
153 SfxBasicManagerCreationListener
*
155 SfxViewFrame
* pViewFrame
;
156 SfxSlotPool
* pSlotPool
;
157 SfxResourceManager
* pResMgr
;
158 SfxDispatcher
* pAppDispat
; // Dispatcher falls kein Doc
159 SfxInterface
** pInterfaces
;
161 USHORT nDocNo
; // Laufende Doc-Nummer (AutoName)
164 BOOL bDispatcherLocked
:1; // nichts ausf"uhren
165 BOOL bDowning
:1; // TRUE ab Exit und danach
167 BOOL bInvalidateOnUnlock
: 1;
168 BOOL bODFVersionWarningLater
: 1;
170 SfxAppData_Impl( SfxApplication
* );
173 void UpdateApplicationSettings( BOOL bDontHide
);
174 SfxDocumentTemplates
* GetDocumentTemplates();
177 /** called when the Application's BasicManager has been created. This can happen
178 explicitly in SfxApplication::GetBasicManager, or implicitly if a document's
179 BasicManager is created before the application's BasicManager exists.
181 void OnApplicationBasicManagerCreated( BasicManager
& _rManager
);
184 #endif // #ifndef _SFX_APPDATA_HXX