InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITableModelList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Joe Shankar
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 __ITableModelList__
25 #define __ITableModelList__
26 
27 #include "TablesID.h"
28 #include "PMTextUtils.h"
29 
30 
31 //-----------------------------------
32 // Forward References
33 //
34 class ITableModel;
35 
42 class ITableModelList : public IPMUnknown {
43 
44 public:
45  // ----- Constants -----
46  enum {kDefaultIID = IID_ITABLEMODELLIST };
47 
48  // ----- Iteration -----
53  virtual int32 GetModelCount() const = 0;
54 
63  virtual ITableModel* QueryNthModel(int32 index) const = 0;
64 
70  virtual UID GetNthModelUID(int32 index) const = 0;
71 
72 
81  virtual void CollectAnchorSpansInThread(TextIndex indexWithinThread,
82  Text::StoryRangeList* resultList) const = 0;
83 
84 
94  virtual int32 GetAnchorDeltaInThread(TextIndex at) const = 0;
95 
96  // ----- Addition and Removal -----
106  virtual void AddModel(UID modelUID,
107  UID insertionThreadDictUID,
108  uint32 insertionThreadDictKey) = 0;
115  virtual void RemoveModel(UID modelUID) = 0;
116 
123  virtual void StoryThreadChanged(UID tableModelUID, UID dictUID, uint32 dictKey) = 0;
124 protected:
125 
130  virtual void Invariant() const = 0;
131 
132 };
133 
134 
135 #endif // __ITableModelList__