InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IHierarchy.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Zak_Williamson
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 __IHIERARCHY__
25 #define __IHIERARCHY__
26 
27 #include "IPMUnknown.h"
28 #include "GenericID.h"
29 
30 class UIDList;
31 
37 class IHierarchy : public IPMUnknown
38 {
39 public:
40  enum { kDefaultIID = IID_IHIERARCHY };
41 
45  enum
46  {
47  kAtTheEnd = -1
48  };
49 
53  enum
54  {
58  kIncludeHidden = 0x00000001
59  };
60 
65  virtual IHierarchy *QueryChild(int32 n) const = 0;
66 
71  virtual UID GetChildUID(int32 n) const = 0;
72 
77  virtual int32 GetChildIndex(const IHierarchy * p) const = 0;
78 
83  virtual int32 GetChildCount() const = 0;
84 
89  virtual IHierarchy *QueryParent() const = 0;
90 
95  virtual UID GetParentUID() const = 0;
96 
104  virtual void SetParent(IHierarchy *newParent) = 0;
105 
110  virtual IHierarchy *QueryRoot() const = 0;
111 
116  virtual UID GetRootUID() const = 0;
117 
123  virtual void SetRootUID(UID newRoot) = 0;
124 
130  virtual void Add(IHierarchy *newChild, int32 pos = kAtTheEnd) = 0;
131 
136  virtual void Move(IHierarchy *childToMove, int32 to) = 0;
137 
141  virtual void Remove(IHierarchy *childToRemove) = 0;
142 
146  virtual void Remove(UID childToRemove) = 0;
147 
154  virtual bool16 IsLessThan(IHierarchy * item) = 0;
155 
161  virtual void GetDescendents(UIDList *resultList, const PMIID& interfaceID, int32 flags = 0) const = 0;
162 
168  virtual void GetAncestors(UIDList *resultList, const PMIID& interfaceID) const = 0;
169 
174  virtual UID GetLayerUID() const = 0;
175 
180  virtual UID GetSpreadUID() const = 0;
181 
182 #ifdef DEBUG
183 
188  virtual bool16 IsValid() = 0;
189 #endif
190 };
191 
192 #endif