InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IApplication Class Referenceabstract

#include <IApplication.h>

Inheritance diagram for IApplication:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IAPPLICATION }
 
enum  ApplicationStateType {
  kUnknown, kStartingUp, kRunning, kQuitting,
  kShuttingDown
}
 
typedef enum
IApplication::ApplicationStateType 
ApplicationStateType
 

Public Member Functions

virtual int32 GetAPIMajorVersion () const =0
 
virtual int32 GetAPIMinorVersion () const =0
 
virtual int32 GetUIMajorVersion () const =0
 
virtual int32 GetUIMinorVersion () const =0
 
virtual int32 GetUIDotVersion () const =0
 
virtual int32 GetBuildNumber () const =0
 
virtual PMString GetUIVersionString () const =0
 
virtual PMString GetUIVersionNumberString () const =0
 
virtual PMString GetApplicationName () const =0
 
virtual bool16 IsApplicationActive () const =0
 
virtual IDocumentListQueryDocumentList () const =0
 
virtual IActionManagerQueryActionManager () const =0
 
virtual IPanelMgrQueryPanelManager () const =0
 
virtual IToolManagerQueryToolManager () const =0
 
virtual void EventLoop (bool16 bSuppressScheduled=kFalse)=0
 
virtual void ExitEventLoop ()=0
 
virtual ApplicationStateType GetApplicationState () const =0
 
For Internal Use Only
virtual void Run ()=0
 
virtual void Terminate (bool16 emergencyExit)=0
 
virtual void SuspendScheduledCommandProcessing (bool16 suspend=kTrue)=0
 
virtual bool HasSuspendedScheduledCommandProcessing ()=0
 
virtual void SuspendDocRendering (bool16 suspend=kTrue)=0
 
virtual bool HasSuspendedDocRendering ()=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

IApplication is similar to ISession, and holds all the app-specific and UI-specific information on the current session (kSessionBoss). The application object (kAppBoss) also manages and provides access to the global event loop (via its interface IEventDispatcher).

There is only ever one application object (kAppBoss), and you can get a reference to its IApplication interface by querying the session (ISession, off kSessionBoss), for example:


InterfacePtr<IApplication> app(GetExecutionContextSession()->QueryApplication());

See Also
kAppBoss
kSessionBoss

Member Typedef Documentation

The state of the application: starting up, running, quitting, and shutting down. kQuitting indicates Terminate has been called (typically by the QuitCmd) which happens before we enter kShuttingDown. The transition from kQuitting to kShuttingDown occurs once the event loop has stopped. Neither kQuitting nor kShuttingDown is user cancelable

Member Enumeration Documentation

The state of the application: starting up, running, quitting, and shutting down. kQuitting indicates Terminate has been called (typically by the QuitCmd) which happens before we enter kShuttingDown. The transition from kQuitting to kShuttingDown occurs once the event loop has stopped. Neither kQuitting nor kShuttingDown is user cancelable

Member Function Documentation

virtual void IApplication::EventLoop (bool16 bSuppressScheduled = kFalse)
pure virtual

Internal Use Only: Used by Run() This function does not return until ExitEventLoop() gets called. Calls to EventLoop can no longer be nested in CC and beyond.

virtual void IApplication::ExitEventLoop ()
pure virtual

Calling ExitEventLoop() will cause the current execution of EventLoop() to exit and return to its caller.

virtual int32 IApplication::GetAPIMajorVersion () const
pure virtual

Return the API major version number.

virtual int32 IApplication::GetAPIMinorVersion () const
pure virtual

Return the API minor version number.

virtual PMString IApplication::GetApplicationName () const
pure virtual

Return the application name.

virtual ApplicationStateType IApplication::GetApplicationState () const
pure virtual

Return the current state of the application.

Returns
ApplicationStateType session status
virtual int32 IApplication::GetBuildNumber () const
pure virtual

Return the build number of the application.

virtual int32 IApplication::GetUIDotVersion () const
pure virtual

Return the UI dot version number.

virtual int32 IApplication::GetUIMajorVersion () const
pure virtual

Return the UI major version number.

virtual int32 IApplication::GetUIMinorVersion () const
pure virtual

Return the UI minor version number.

virtual PMString IApplication::GetUIVersionNumberString () const
pure virtual

Return a string indicating the version number of the application. (e.g. "4.0" or "4.0.1", etc.)

virtual PMString IApplication::GetUIVersionString () const
pure virtual

Return a string identifying the package version of the application. (e.g. "CC")

virtual bool16 IApplication::IsApplicationActive () const
pure virtual

return kTrue is the application is active, not in background, etc.

virtual IActionManager* IApplication::QueryActionManager () const
pure virtual

Returns a reference to the action manager - the manager responsible for menus/shortcuts.

virtual IDocumentList* IApplication::QueryDocumentList () const
pure virtual

Returns a reference to the application's list of open documents.

virtual IPanelMgr* IApplication::QueryPanelManager () const
pure virtual

Returns a reference to the panel manager.

virtual IToolManager* IApplication::QueryToolManager () const
pure virtual

Returns a reference to the tool manager.

virtual void IApplication::Run ()
pure virtual

Start the main event loop.

virtual void IApplication::SuspendDocRendering (bool16 suspend = kTrue)
pure virtual

Suspend doc rendering on UI thread.

virtual void IApplication::SuspendScheduledCommandProcessing (bool16 suspend = kTrue)
pure virtual

Suspend processing scheduled commands in the event loop. Used for Drover-based Dialogs Handles nested calls correctly.

virtual void IApplication::Terminate (bool16 emergencyExit)
pure virtual

Terminate the application. Terminates the event loop, and closes all open windows.