InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITextModelMemento.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: dwaterfa
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 __ITEXTMODELMEMENTO__
25 #define __ITEXTMODELMEMENTO__
26 
27 #include "IPMUnknown.h"
28 #include "TextID.h"
29 #include "K2Vector.h"
30 #include "RangeData.h"
31 #include "ErrorUtils.h"
32 
33 class PasteData;
35 class ICommand;
36 
37 
38 
39 
48 {
49  public:
50  enum { kDefaultIID = IID_ITEXTMODELMEMENTO };
51 
52  //
53  // Returns the UID that this Memento represents. This value
54  // may be kInvalidUID if no object is associated.
55  //
56  virtual UID GetAssociatedUID() const = 0;
57 
58  virtual ErrorCode OnDelete(const UIDRef& story,
59  TextIndex dataStart,
60  int32 dataLen,
61  const Text::StoryRangeList& subranges,
62  K2Vector<InterfacePtr<ICommand> >& cmdList) = 0;
63  virtual ErrorCode OnCut(const UIDRef& story,
64  TextIndex dataStart,
65  int32 dataLen,
66  const Text::StoryRangeList& subranges) = 0;
67  virtual ErrorCode OnCopyRange(PasteData* context) = 0;
68  virtual ErrorCode OnReplace(const UIDRef& story,
69  TextIndex dataStart,
70  int32 dataLen,
71  int32 replaceDataLen,
72  const Text::StoryRangeList& subranges,
73  K2Vector<InterfacePtr<ICommand> >& cmdList) = 0;
74 
75  virtual ErrorCode TransferTo(PasteDataXRefContext* xRefContext) = 0;
76  virtual ErrorCode OnPaste() = 0;
77  virtual bool16 MustHandleReplaceIndividually() = 0;
78 
79 };
80 
81 
82 #endif // __ITEXTMODELMEMENTO__