InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IStyleGroupHierarchy.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Sanjay Kumar
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 __IStyleGroupHierarchy__
25 #define __IStyleGroupHierarchy__
26 
27 #include "IPMUnknown.h"
28 #include "GenericID.h"
29 #include "TextID.h"
30 class UIDList;
31 
37 {
38 public:
39  enum { kDefaultIID = IID_ISTYLEGROUPHIERARCHY };
40 
44  enum
45  {
47  kAtTheEnd = -1
48  };
49 
54  {
57 
60 
63 
66  };
67 
70  enum SortFlag
71  {
73  kSortAscending = 0x00000001,
74 
76  kSortDescending = 0x00000002,
77 
79  kSortImmediateChildren = 0x00000004,
80 
82  kSortHierarchy = 0x00000008,
83 
86  };
87 
92  virtual IStyleGroupHierarchy *QueryChild(int32 n) const = 0;
93 
98  virtual UID GetChildUID(int32 n) const = 0;
99 
104  virtual int32 GetChildIndex(const IStyleGroupHierarchy * p) const = 0;
105 
109  virtual int32 GetChildCount() const = 0;
110 
114  virtual IStyleGroupHierarchy *QueryParent() const = 0;
115 
119  virtual UID GetParentUID() const = 0;
120 
121 
125  virtual IStyleGroupHierarchy *QueryRoot() const = 0;
126 
130  virtual UID GetRootUID() const = 0;
131 
132 
138  virtual void Add(IStyleGroupHierarchy *newChild, int32 pos = kAtTheEnd) = 0;
139 
145  virtual void Move(IStyleGroupHierarchy *childToMove, int32 to) = 0;
146 
150  virtual void Remove(IStyleGroupHierarchy *childToRemove) = 0;
151 
155  virtual void Remove(UID childToRemove) = 0;
156 
163  virtual bool16 IsLessThan(IStyleGroupHierarchy * item) const = 0;
164 
169  virtual void GetDescendents(UIDList *resultList, const PMIID& interfaceID) const = 0;
170 
176  virtual void GetAncestors(UIDList *resultList, const PMIID& interfaceID) const = 0;
177 
182  virtual UID FindByName(const PMString& nodeName) const = 0;
183 
187  virtual void Sort(SortFlag flag = kSortAscendingHierarchy) = 0;
188 
191  virtual PMString GetName(bool16 translated = kFalse) const = 0;
192 
196  virtual PMString GetLocation(bool16 translated = kFalse) const = 0;
197 
202  virtual PMString GetFullPath(bool16 translated = kFalse) const = 0;
203 
206  virtual HierarchyTypeEnum GetHierarchyType() const = 0;
207 
208 #ifdef DEBUG
209 
214  virtual bool16 IsValid() const = 0;
215 #endif
216 
224  virtual void SetParent(IStyleGroupHierarchy *newParent) = 0;
225 
231  virtual void SetRootUID(UID newRoot) = 0;
232 
233 };
234 
235 #endif