InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IInvalHandler.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Habib Khalfallah
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 // Reviewed: 10/06/98
24 //
25 //========================================================================================
26 
27 #ifndef __IInvalHandler__
28 #define __IInvalHandler__
29 
30 #include "IPMUnknown.h"
31 #include "CommandID.h"
32 
40 {
41 public:
46  virtual ~IInvalCookie() {};
47 
55  virtual void Merge(const IInvalCookie* other) = 0;
56 
60  virtual void InvalBeforeUndo() = 0;
61 
65  virtual void InvalAfterUndo() = 0;
66 
70  virtual void InvalBeforeRedo() = 0;
71 
75  virtual void InvalAfterRedo() = 0;
76 };
77 
132 {
133 public:
134  enum { kDefaultIID = IID_IINVALHANDLER };
135 
138 
140  virtual ~IInvalHandler() {};
141 
157  virtual IInvalCookie* EndCollectingInvals () = 0;
158 
165  virtual InvalHandlerID GetID() const = 0;
166 
181  virtual void BeforeRevert_InvalAll() = 0;
182 
186  virtual void AfterRevert_InvalAll() = 0;
187 };
188 
189 #endif // __IInvalHandler__
190