InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
PnlTrvDataNode.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Adobe Developer Technologies
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 __PnlTrvDataNode_H_DEFINED__
25 #define __PnlTrvDataNode_H_DEFINED__
26 
35 {
36 public:
39 
41  virtual ~PnlTrvDataNode();
42 
43  // +K2Vector support
44 
49  PnlTrvDataNode(const PnlTrvDataNode& rhs);
50 
56 
60  // -K2Vector support
61 
66  bool operator==(const PnlTrvDataNode& rhs) const;
67 
68 
73  const PnlTrvDataNode& GetNthChild(int32 indexInParent) const;
74 
78  PnlTrvDataNode* GetParent() const;
79 
83  int32 ChildCount() const;
84 
88  PMString GetData() const;
89 
93  void AddChild(const PnlTrvDataNode& o);
94 
98  void RemoveChild(const PnlTrvDataNode& o);
99 
103  void SetParent(const PnlTrvDataNode* p);
104 
108  void SetData(const PMString& data);
109 
110 private:
111  K2Vector<PnlTrvDataNode> fChildren;
112  PMString fPathData;
113  PnlTrvDataNode* fParent;
114  void deepcopy(const PnlTrvDataNode& rhs);
115 };
116 
117 #endif // __PnlTrvDataNode_H_DEFINED__
118