InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IUserActionSequence.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Martz
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 // Note:
24 //
25 //========================================================================================
26 
27 #ifndef _IUserActionSequence_
28 #define _IUserActionSequence_
29 //________________________________________________________________________________________________
30 // INCLUDES
31 //________________________________________________________________________________________________
32  //.......Interface headers....................................................................
33  #include "IPMUnknown.h"
34 
35  //.......ID headers...........................................................................
36  #include "AppFrameworkID.h"
37 //________________________________________________________________________________________________
38 // DEFINES
39 //________________________________________________________________________________________________
40 //================================================================================================
41 //________________________________________________________________________________________________
42 // CLASS FORWARDS
43 //________________________________________________________________________________________________
44 //________________________________________________________________________________________________
45 // CLASS DECLARATION
46 //________________________________________________________________________________________________
48  {
49  //____________________________________________________________________________________________
50  // Data Types
51  //____________________________________________________________________________________________
52  public:
53  enum { kDefaultIID = IID_IUSERACTIONSEQUENCE };
56 
57  typedef enum {
66  } SequenceID;
67  //____________________________________________________________________________________________
68  // Member functions
69  //____________________________________________________________________________________________
70  public:
71 
75  virtual const UserActionSequenceName& GetName (void) const = 0;
76 
80  virtual void SetName (UserActionSequenceName& newName) = 0;
81 
85  virtual void SetName (PMString&) = 0;
86 
91 
95  virtual void SetSequenceID (IUserActionSequence::SequenceID sequenceID) = 0;
96 
100  virtual void GetActions (UserActionList& actionList) = 0;
101 
107  virtual void AddActions (UserActionList& newActionList, int32 position = -1) = 0;
108 
114  virtual void AddAction (IPMUnknown* iNewAction, int32 at = -1) = 0;
115 
119  virtual void RemoveActions (UserActionList& actionList) = 0;
120 
124  virtual void RemoveActionsAndChildren (UserActionList& actionList) = 0;
127  virtual void RemoveAllActions (void) = 0;
128 
132  virtual void SetParent (IUserActionSequence* iNewParent) = 0;
133 
138  virtual IPMUnknown* QueryParent (const PMIID& interfaceIID = IID_IUNKNOWN) = 0;
139 
144  virtual IUserActionSequence* Clone (IPMUnknown* iNewParent = nil) = 0;
145 
150  virtual void Record (const WideString& actionName, IPMUnknown* iUserActionAtom) = 0;
151  private:
152  };
153 
154 #endif // _IUserActionSequence_