InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IApplication.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Robin Briggs
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IAPPLICATION__
25 #define __IAPPLICATION__
26 
27 #include "IPMUnknown.h"
28 #include "ShuksanID.h"
29 
30 
31 //----------------------------------------------------------------------------------------
32 // Forward Declarations
33 //----------------------------------------------------------------------------------------
34 
35 class IFile;
36 class IDocument;
37 class IWindow;
38 class IEventConverter;
39 class IDocumentList;
40 class IEvent;
41 class IActionManager;
42 class IPaletteMgr;
43 class IPanelMgr;
44 class PMLocaleId;
45 class IToolManager;
46 class PMString;
47 
48 
65 class IApplication : public IPMUnknown
66 {
67 public:
68  enum { kDefaultIID = IID_IAPPLICATION };
69 
72  virtual int32 GetAPIMajorVersion() const = 0;
73 
76  virtual int32 GetAPIMinorVersion() const = 0;
77 
80  virtual int32 GetUIMajorVersion() const = 0;
81 
84  virtual int32 GetUIMinorVersion() const = 0;
85 
88  virtual int32 GetUIDotVersion() const = 0;
89 
92  virtual int32 GetBuildNumber() const = 0;
93 
96  virtual PMString GetUIVersionString() const = 0;
97 
100  virtual PMString GetUIVersionNumberString() const = 0;
101 
104  virtual PMString GetApplicationName() const = 0;
105 
108  virtual bool16 IsApplicationActive() const = 0;
109 
112  virtual IDocumentList* QueryDocumentList() const = 0;
113 
116  virtual IActionManager* QueryActionManager() const = 0;
117 
120  virtual IPanelMgr* QueryPanelManager() const = 0;
121 
124  virtual IToolManager* QueryToolManager() const = 0;
125 
130  virtual void EventLoop(bool16 bSuppressScheduled = kFalse) = 0;
131 
135  virtual void ExitEventLoop() = 0;
136 
137 
143  typedef enum ApplicationStateType
144  { kUnknown, kStartingUp, kRunning, kQuitting, kShuttingDown } ApplicationStateType;
145 
149  virtual ApplicationStateType GetApplicationState() const = 0;
150 
151 
153 
154 
157  virtual void Run() = 0;
158 
161  virtual void Terminate(bool16 emergencyExit) = 0;
162 
166  virtual void SuspendScheduledCommandProcessing(bool16 suspend = kTrue) = 0;
167  virtual bool HasSuspendedScheduledCommandProcessing() = 0;
168 
171  virtual void SuspendDocRendering(bool16 suspend = kTrue) = 0;
172  virtual bool HasSuspendedDocRendering() = 0;
174 };
175 
177 
179 {
180 public:
181  enum { kDefaultIID = IID_IAPPLICATIONDELEGATE };
182 
183  virtual void Initialize() = 0;
184  virtual void LateInitialize() = 0;
185 
186  virtual void InitializePalettes() = 0;
187  virtual void InitializePaletteWorkspace() = 0;
188 
189  virtual void ShutdownPalettes() = 0;
190 
191  virtual void Terminate() = 0;
192 
196  virtual void EventLoop() = 0;
197 
201  virtual void ExitEventLoop() = 0;
202 };
204 
205 
206 #endif // __IAPPLICATION__