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 _SFX_APPDATA_HXX
20 #define _SFX_APPDATA_HXX
22 #include <svl/lstner.hxx>
23 #include <vcl/timer.hxx>
24 #include <tools/string.hxx>
25 #include <svtools/ehdl.hxx>
26 #include "rtl/ref.hxx"
28 #include <com/sun/star/frame/XModel.hpp>
35 class SfxChildWinFactArr_Impl
;
36 class SfxDdeDocTopics_Impl
;
39 class SfxFilterMatcher
;
40 class ISfxTemplateCommon
;
41 class SfxFilterMatcher
;
42 class SfxStatusDispatcher
;
43 class SfxDdeTriggerTopic_Impl
;
44 class SfxDocumentTemplates
;
46 typedef ::std::vector
<SfxFrame
*> SfxFrameArr_Impl
;
50 class SfxTbxCtrlFactArr_Impl
;
51 class SfxStbCtrlFactArr_Impl
;
52 class SfxMenuCtrlFactArr_Impl
;
53 class SfxViewFrameArr_Impl
;
54 class SfxViewShellArr_Impl
;
55 class SfxObjectShellArr_Impl
;
62 class SfxBasicManagerHolder
;
63 class SfxBasicManagerCreationListener
;
65 namespace sfx2
{ namespace appl
{ class ImeStatusWindow
; } }
67 typedef Link
* LinkPtr
;
72 IndexBitSet aIndexBitSet
; // for counting noname documents
73 String 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 #ifndef DISABLE_SCRIPTING
92 SimpleErrorHandler
*m_pSimpleErrorHdl
;
94 SfxErrorHandler
*m_pToolsErrorHdl
;
95 SfxErrorHandler
*m_pSoErrorHdl
;
96 #ifndef DISABLE_SCRIPTING
97 SfxErrorHandler
*m_pSbxErrorHdl
;
99 SfxStatusDispatcher
* pAppDispatch
;
100 SfxDocumentTemplates
* pTemplates
;
104 SvtSaveOptions
* pSaveOptions
;
105 SvtHelpOptions
* pHelpOptions
;
107 // "current" functionality
108 SfxProgress
* pProgress
;
109 ISfxTemplateCommon
* pTemplateCommon
;
111 sal_uInt16 nDocModalMode
; // counts documents in modal mode
112 sal_uInt16 nAutoTabPageId
;
113 sal_uInt16 nRescheduleLocks
;
114 sal_uInt16 nInReschedule
;
116 rtl::Reference
< sfx2::appl::ImeStatusWindow
> m_xImeStatusWindow
;
118 SfxTbxCtrlFactArr_Impl
* pTbxCtrlFac
;
119 SfxStbCtrlFactArr_Impl
* pStbCtrlFac
;
120 SfxMenuCtrlFactArr_Impl
* pMenuCtrlFac
;
121 SfxViewFrameArr_Impl
* pViewFrames
;
122 SfxViewShellArr_Impl
* pViewShells
;
123 SfxObjectShellArr_Impl
* pObjShells
;
124 ResMgr
* pSfxResManager
;
126 SfxBasicManagerHolder
* pBasicManager
;
127 SfxBasicManagerCreationListener
*
129 SfxViewFrame
* pViewFrame
;
130 SfxSlotPool
* pSlotPool
;
131 SfxDispatcher
* pAppDispat
; // Dispatcher if no document
132 SfxInterface
** pInterfaces
;
134 sal_uInt16 nDocNo
; // current Doc-Number (AutoName)
135 sal_uInt16 nInterfaces
;
137 sal_Bool bDispatcherLocked
:1; // do nothing
138 sal_Bool bDowning
:1; // sal_True on Exit and afterwards
139 sal_Bool bInQuit
: 1;
140 sal_Bool bInvalidateOnUnlock
: 1;
141 sal_Bool bODFVersionWarningLater
: 1;
143 SfxAppData_Impl( SfxApplication
* );
146 SfxDocumentTemplates
* GetDocumentTemplates();
149 /** called when the Application's BasicManager has been created. This can happen
150 explicitly in SfxApplication::GetBasicManager, or implicitly if a document's
151 BasicManager is created before the application's BasicManager exists.
153 void OnApplicationBasicManagerCreated( BasicManager
& _rManager
);
156 #endif // #ifndef _SFX_APPDATA_HXX
159 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */