InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IActionManager.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: lance bushore
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 __IActionManager__
25 #define __IActionManager__
26 
27 
28 #include "IPMUnknown.h"
29 
30 #include "ActionID.h"
31 #include "PMPoint.h"
32 #include "PMTypes.h"
33 #include "ActionDefs.h"
34 #include "TextChar.h"
35 
36 class IActionComponent;
37 class IActionStateList;
38 class PMString;
39 
43  const textchar kActionAreaSeparator = kTextChar_Colon ;
45 
55 class IActionManager : public IPMUnknown
56 {
57  public:
59  enum { kDefaultIID = IID_IACTIONMANAGER };
60 
71  virtual void AddAction( const IActionComponent* actionComponent, const ActionID& actionID, const PMString& actionName, const PMString& actionArea,
72  int16 actionType, uint32 enablingType, PMIID selectionIID, bool16 userEditable) = 0;
73 
85  virtual void AddAction( ClassID componentID, ActionID actionID, PMString actionName, PMString actionArea,
86  int16 actionType, uint32 enablingType, PMIID selectionIID, bool16 userEditable) = 0;
87 
93  virtual void RemoveAction( const ActionID& actionID, int16 actionType = kNormalAction, const ClassID& componentID = kInvalidClass ) = 0;
94 
96  virtual int32 GetNumActions() const = 0;
97 
99  virtual ActionID GetNthAction(int32 index) const = 0;
100 
102  virtual bool16 IsValidAction(const ActionID& actionID) const = 0;
103 
105  virtual PMString GetActionArea(const ActionID& actionID) const= 0;
106 
108  virtual PMString GetActionName(const ActionID& actionID) const= 0;
109 
111  virtual bool16 IsActionUserEditable(const ActionID& actionID) const= 0;
112 
117  virtual void UpdateActionArea( const ActionID& actionID, const PMString& actionArea ) = 0 ;
118 
123  virtual void UpdateActionName( const ActionID& actionID, const PMString& actionName ) = 0 ;
124 
132  virtual void UpdateActionStates(IActiveContext* ac, IActionStateList *listToUpdate, GSysPoint mousePoint = kInvalidMousePoint, IPMUnknown* widget = nil) = 0;
133 
141  virtual void PerformAction(IActiveContext* ac, const ActionID& actionID, GSysPoint mousePoint = kInvalidMousePoint, IPMUnknown* widget = nil) const = 0;
142 
144  virtual IActionComponent* QueryActionComponent( const ActionID& actionID ) const= 0;
145 
147  virtual bool16 PreStartup(const PMLocaleId& locale) = 0;
148 
150  virtual bool16 PostStartup(const PMLocaleId& locale) = 0;
151 
153  virtual void Shutdown(const PMLocaleId& locale) = 0;
154 
155 #ifdef DEBUG
156  typedef enum { enablingInfo, customEnableInfo, nonEditableInfo, allActionInfo, prePostNotifyInfo, actionNameInfo, actionMenuStringInfo } ActionInfoType;
157  virtual void DumpActionInfo(ActionInfoType infoType) = 0;
158 #endif
159 };
160 
161 #endif // __IActionManager__
162 
163