Update ooo320-m1
[ooovba.git] / sfx2 / source / inc / appdata.hxx
blob402ca3bdae09824a2b22771fdfcd862df7218969
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: appdata.hxx,v $
10 * $Revision: 1.19 $
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>
42 #include "bitset.hxx"
44 class SfxApplication;
45 class SvStrings;
46 class SfxProgress;
47 class SfxChildWinFactArr_Impl;
48 class SfxDdeDocTopics_Impl;
49 class DdeService;
50 class SfxEventConfiguration;
51 class SfxMacroConfig;
52 class SfxItemPool;
53 class SfxInitLinkList;
54 class SfxFilterMatcher;
55 class SvUShorts;
56 class ISfxTemplateCommon;
57 class SfxFilterMatcher;
58 class SfxCancelManager;
59 class SfxStatusDispatcher;
60 class SfxDdeTriggerTopic_Impl;
61 class SfxMiscCfg;
62 class SfxDocumentTemplates;
63 class SfxFrameArr_Impl;
64 class SvtSaveOptions;
65 class SvtUndoOptions;
66 class SvtHelpOptions;
67 class SfxObjectFactory;
68 class SfxObjectShell;
69 class ResMgr;
70 class Window;
71 class SfxTbxCtrlFactArr_Impl;
72 class SfxStbCtrlFactArr_Impl;
73 class SfxMenuCtrlFactArr_Impl;
74 class SfxViewFrameArr_Impl;
75 class SfxViewShellArr_Impl;
76 class SfxObjectShellArr_Impl;
77 class ResMgr;
78 class SimpleResMgr;
79 class SfxViewFrame;
80 class SfxSlotPool;
81 class SfxResourceManager;
82 class SfxDispatcher;
83 class SfxInterface;
84 class BasicManager;
85 class SfxBasicManagerHolder;
86 class SfxBasicManagerCreationListener;
88 namespace sfx2 { namespace appl { class ImeStatusWindow; } }
90 //=========================================================================
91 // SfxAppData_Impl
92 //=========================================================================
94 class SfxAppData_Impl
96 public:
97 IndexBitSet aIndexBitSet; // for counting noname documents
98 String aLastDir; // for IO dialog
100 // DDE stuff
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;
110 // special members
111 SfxInitLinkList* pInitLinkList;
113 // application members
114 SfxFilterMatcher* pMatcher;
115 SfxCancelManager* pCancelMgr;
116 ResMgr* pLabelResMgr;
117 SfxStatusDispatcher* pAppDispatch;
118 SfxDocumentTemplates* pTemplates;
120 // global pointers
121 SfxItemPool* pPool;
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;
150 ResMgr* pOfaResMgr;
151 SimpleResMgr* pSimpleResManager;
152 SfxBasicManagerHolder* pBasicManager;
153 SfxBasicManagerCreationListener*
154 pBasMgrListener;
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)
162 USHORT nInterfaces;
164 BOOL bDispatcherLocked:1; // nichts ausf"uhren
165 BOOL bDowning:1; // TRUE ab Exit und danach
166 BOOL bInQuit : 1;
167 BOOL bInvalidateOnUnlock : 1;
168 BOOL bODFVersionWarningLater : 1;
170 SfxAppData_Impl( SfxApplication* );
171 ~SfxAppData_Impl();
173 void UpdateApplicationSettings( BOOL bDontHide );
174 SfxDocumentTemplates* GetDocumentTemplates();
175 void DeInitDDE();
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