1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_SFX2_SOURCE_INC_APPDATA_HXX
20 #define INCLUDED_SFX2_SOURCE_INC_APPDATA_HXX
22 #include <config_features.h>
24 #include <rtl/ref.hxx>
25 #include <rtl/ustring.hxx>
26 #include <svl/lstner.hxx>
27 #include <svtools/ehdl.hxx>
28 #include <vcl/timer.hxx>
29 #include <sfx2/app.hxx>
31 #include <com/sun/star/frame/XModel.hpp>
38 class SfxDdeDocTopic_Impl
;
41 class SfxFilterMatcher
;
42 class ISfxTemplateCommon
;
43 class SfxFilterMatcher
;
44 class SfxStatusDispatcher
;
45 class SfxDdeTriggerTopic_Impl
;
46 class SfxDocumentTemplates
;
48 class SfxFrameArr_Impl
;
58 class SfxBasicManagerHolder
;
59 class SfxBasicManagerCreationListener
;
62 namespace appl
{ class ImeStatusWindow
; }
63 namespace sidebar
{ class Theme
; }
67 typedef std::vector
<SfxDdeDocTopic_Impl
*> SfxDdeDocTopics_Impl
;
72 IndexBitSet aIndexBitSet
; // for counting noname documents
73 OUString aLastDir
; // for IO dialog
76 DdeService
* pDdeService
;
77 SfxDdeDocTopics_Impl
* pDocTopics
;
78 SfxDdeTriggerTopic_Impl
* pTriggerTopic
;
79 DdeService
* pDdeService2
;
81 // single instance classes
82 SfxChildWinFactArr_Impl
* pFactArr
;
83 SfxFrameArr_Impl
* pTopFrames
;
85 // application members
86 SfxFilterMatcher
* pMatcher
;
87 #if HAVE_FEATURE_SCRIPTING
91 SfxErrorHandler
*m_pToolsErrorHdl
;
92 SfxErrorHandler
*m_pSoErrorHdl
;
93 #if HAVE_FEATURE_SCRIPTING
94 SfxErrorHandler
*m_pSbxErrorHdl
;
96 SfxStatusDispatcher
* pAppDispatch
;
97 SfxDocumentTemplates
* pTemplates
;
101 SvtSaveOptions
* pSaveOptions
;
102 SvtHelpOptions
* pHelpOptions
;
104 // "current" functionality
105 SfxProgress
* pProgress
;
107 sal_uInt16 nDocModalMode
; // counts documents in modal mode
108 sal_uInt16 nAutoTabPageId
;
109 sal_uInt16 nRescheduleLocks
;
110 sal_uInt16 nInReschedule
;
112 rtl::Reference
< sfx2::appl::ImeStatusWindow
> m_xImeStatusWindow
;
114 SfxTbxCtrlFactArr_Impl
* pTbxCtrlFac
;
115 SfxStbCtrlFactArr_Impl
* pStbCtrlFac
;
116 SfxMenuCtrlFactArr_Impl
* pMenuCtrlFac
;
117 SfxViewFrameArr_Impl
* pViewFrames
;
118 SfxViewShellArr_Impl
* pViewShells
;
119 SfxObjectShellArr_Impl
* pObjShells
;
120 ResMgr
* pSfxResManager
;
121 SfxBasicManagerHolder
* pBasicManager
;
122 SfxBasicManagerCreationListener
*
124 SfxViewFrame
* pViewFrame
;
125 SfxSlotPool
* pSlotPool
;
126 SfxDispatcher
* pAppDispat
; // Dispatcher if no document
127 SfxInterface
** pInterfaces
;
128 ::rtl::Reference
<sfx2::sidebar::Theme
> m_pSidebarTheme
;
130 sal_uInt16 nDocNo
; // current Doc-Number (AutoName)
131 sal_uInt16 nInterfaces
;
133 bool bDispatcherLocked
:1; // do nothing
134 bool bDowning
:1; // sal_True on Exit and afterwards
136 bool bInvalidateOnUnlock
: 1;
137 bool bODFVersionWarningLater
: 1;
139 SfxAppData_Impl( SfxApplication
* );
142 SfxDocumentTemplates
* GetDocumentTemplates();
145 /** called when the Application's BasicManager has been created. This can happen
146 explicitly in SfxApplication::GetBasicManager, or implicitly if a document's
147 BasicManager is created before the application's BasicManager exists.
149 void OnApplicationBasicManagerCreated( BasicManager
& _rManager
);
152 #endif // INCLUDED_SFX2_SOURCE_INC_APPDATA_HXX
155 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */