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

#include <IAMUIService.h>

Inheritance diagram for IAMUIService:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IAMUISERVICE }
 
enum  FollowupAction {
  enNone = 0, enCancel = 1, enDefaultAction = 2, enSave = kWorkgroupPrefix + 1,
  enSaveVersion = kWorkgroupPrefix + 2, enDontSave = kWorkgroupPrefix + 3, enRevertDocument = kWorkgroupPrefix + 4, enRevertToLastVersion = kWorkgroupPrefix + 5,
  enPromoteVersion = kWorkgroupPrefix + 6, enOpenFile = kWorkgroupPrefix + 7, enDiscardChanges = kWorkgroupPrefix + 8, enContinueEditing = kWorkgroupPrefix + 9,
  enOverride = kWorkgroupPrefix + 10, enOverrideAndSaveAVersion = kWorkgroupPrefix + 11, enSaveToNewFile = kWorkgroupPrefix + 12, enSaveAVersion = kWorkgroupPrefix + 13,
  enCloseDocument = kWorkgroupPrefix + 14, enRecreateDocument = kWorkgroupPrefix + 15, enSaveBackwards = kWorkgroupPrefix + 16, enSaveAsCloud = kWorkgroupPrefix + 17
}
 
enum  {
  enFollowupAction = 1, enDefaultFile = kWorkgroupPrefix + 1, enSelectedFile = kWorkgroupPrefix + 2, enUseSystemDefaultDirectory = kWorkgroupPrefix + 3,
  enSaveAsStationery = kWorkgroupPrefix + 4, enTemporaryVersionFile = kWorkgroupPrefix + 5, enVersionComment = kWorkgroupPrefix + 6, enAssetCount = kWorkgroupPrefix + 7,
  enDocumentName = kWorkgroupPrefix + 8, enServiceID = kWorkgroupPrefix + 9, enMessageText = kWorkgroupPrefix + 10, enCheckedOutBy = kWorkgroupPrefix + 11,
  enCheckedOutApp = kWorkgroupPrefix + 12, enCheckedOutDoc = kWorkgroupPrefix + 13, enSuppressIDMLInSaveDlg = kWorkgroupPrefix + 14
}
 

Public Member Functions

virtual ErrorCode Do (IManageableAsset *asset=nil)=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

The IAMUIService interface represents an asset management UI service. Typical UI services display alerts or query for user input such as checkin comments. Defining and using ui services is similar to defining and using IAMServices.

Example:

This is the ui service that displays the Adobe (Version Cue) Save Dialog. Note that the IID_IAMSERVICEDATA (IAMServiceData) interface is used to exchange data with a UI service.

Class

{

    kVCSaveDialogServiceBoss,

    kInvalidClass,

    {

        IID_IAMUISERVICE,   kVCSaveDialogServiceImpl,

        IID_IAMSERVICEDATA, kAMServiceDataImpl,

    }

},

Member Enumeration Documentation

anonymous enum

Predefined IAMServiceData identifiers for data parameters passed to services (input parameter) or returned to the service requestor (output parameter).

See Also
IAMServiceData.
IAMUIServiceProvider for the data parameters and data types required by each predefined UI Service.
Enumerator
enFollowupAction 

Output parameter: the predefined FollowupAction.

enDefaultFile 

Input parameter: default file destination.

enSelectedFile 

Output parameter: the user-selected file.

enUseSystemDefaultDirectory 

Input parameter: init dialog to use system default directory.

enSaveAsStationery 

Input parameter: init dialog to save as stationery.

enTemporaryVersionFile 

Output parameter: temporary version file (for viewing older version).

enVersionComment 

Output parameter: user comments.

enAssetCount 

Input parameter: number of assets involved (for UI for batch operation).

enDocumentName 

Input parameter: name of the current document.

enServiceID 

Input parameter: the IAMUIService service id. This parameter can be set by the IAMUIServiceProvider::GetService implementation. This allows a single instance and implementation of IAMUIService to handle more than one UI service. For example, a single alert service can check the enServiceID to determine which alert to display.

enMessageText 

User message text (e.g., for alerts.

enCheckedOutBy 

Current IAMLockable user name that owns the lock.

enCheckedOutApp 

Current IAMLockable application name that owns the lock.

enCheckedOutDoc 

Current IAMLockable document name that owns the lock.

enSuppressIDMLInSaveDlg 

Input parameter: init dialog to suppress save as IDML in save dlg.

FollowupActions are user commands that must be performed after the UI closes. A UI service returns at most one FollowupAction.
Enumerator
enNone 

No followup action required

enCancel 

Cancel the current operation

enDefaultAction 

Perform the default action

enSave 

Save the document

enSaveVersion 

Save a new version of the document

enDontSave 

Do not save (discard changes)

enRevertDocument 

Discard model changes

enRevertToLastVersion 

Revert the document to the existing stored version

enPromoteVersion 

Promote an older version to be the current version

enOpenFile 

Open a file for viewing

enDiscardChanges 

Discard model changes

enContinueEditing 

Continue editing an out-of-date document

enOverride 

Save model changes anyway

enOverrideAndSaveAVersion 

Save model changes over current version

enSaveToNewFile 

Save to a new file location

enSaveAVersion 

Save a new version

enCloseDocument 

Close the current document

enRecreateDocument 

Recreate the document from the latest version.

enSaveBackwards 

Save the document for previous version (IDML)

enSaveAsCloud 

Select the Save as Cloud document button on the Native Dialog

Member Function Documentation

virtual ErrorCode IAMUIService::Do (IManageableAssetasset = nil)
pure virtual

Performs the UI service.

Parameters
assetis a pointer to a bound IManageableAsset or nil. When nil, the IAMServiceData can be checked for additional parameters, such as IAMUIService::enDefaultFile.
Returns
an ErrorCode indicating the status of executing the service. Normal return is kSuccess, in which case the caller should check for an enFollowupAction in the IAMServiceData.