InDesign SDK
20.5
InDesign SDK
Documentation
Bosses
Sample plug-ins
Class Index
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
CHierarchyNode.h
1
//========================================================================================
2
//
3
// $File$
4
//
5
// Owner: Lonnie Millett
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 __CHIERARCHYNODE__
25
#define __CHIERARCHYNODE__
26
27
#include "IHierarchy.h"
28
29
#ifndef __PTRCOLLECTION__
30
#include "K2Vector.h"
31
#endif
32
33
#include "HelperInterface.h"
34
35
//----------------------------------------------------------------------------------------
36
// Forward declarations
37
//----------------------------------------------------------------------------------------
38
class
PersistUIDList
;
39
40
//----------------------------------------------------------------------------------------
41
// Class Info
42
//----------------------------------------------------------------------------------------
43
44
class
CHierarchyNode
:
public
IHierarchy
45
{
46
public
:
47
CHierarchyNode
(
IPMUnknown
*boss);
48
virtual
~
CHierarchyNode
();
49
50
virtual
IHierarchy
*
QueryChild
(int32 n)
const
;
51
virtual
UID
GetChildUID
(int32 n)
const
;
52
virtual
int32
GetChildIndex
(
const
IHierarchy
* p)
const
;
53
virtual
int32
GetChildCount
()
const
;
54
virtual
IHierarchy
*
QueryParent
()
const
;
55
virtual
void
SetParent
(
IHierarchy
*newParent);
56
virtual
UID
GetParentUID
()
const
;
57
virtual
IHierarchy
*
QueryRoot
()
const
;
58
virtual
UID
GetRootUID
()
const
;
59
virtual
void
SetRootUID
(
UID
newRoot);
60
virtual
void
Add
(
IHierarchy
*newChild, int32 pos);
61
virtual
void
Move
(
IHierarchy
*childToMove, int32 to);
62
virtual
void
Remove
(
IHierarchy
*childToRemove);
63
virtual
void
Remove
(
UID
childToRemove);
64
65
virtual
bool16
IsLessThan
(
IHierarchy
* item);
66
virtual
void
GetDescendents
(
UIDList
*resultList,
const
PMIID
& interfaceID, int32 flags = 0)
const
;
67
virtual
void
GetAncestors
(
UIDList
*resultList,
const
PMIID
& interfaceID)
const
;
68
virtual
UID
GetLayerUID
()
const
;
69
virtual
UID
GetSpreadUID
()
const
;
70
71
void
ReadWrite(
IPMStream
*s,
ImplementationID
prop);
72
73
#ifdef DEBUG
74
virtual
bool16 IsValid();
75
// Checks that all internally held pointers and UIDs are reasonable
76
// AND calls IsValid() for all children.
77
#endif
78
79
protected
:
80
void
AttachToRoot();
81
void
DetachFromRoot();
82
83
virtual
void
PreDirtySetParent(
IHierarchy
*)
84
{ PreDirtyNoMessage(); }
85
virtual
void
PreDirtySetRootUID(
UID
)
86
{ PreDirtyNoMessage(); }
87
virtual
void
PreDirtyAddingChild(
IHierarchy
* child, int32 pos);
88
virtual
void
PreDirtyMovingChild(
IHierarchy
* child, int32 from, int32 to);
89
virtual
void
PreDirtyRemovingChild(
IHierarchy
* child, int32 pos);
90
91
UID
fRootUID;
92
UID
fParentUID;
93
PersistUIDList
* fChildrenUIDs;
94
95
96
};
97
98
99
#endif
tmpdoxygeninput
CHierarchyNode.h
Generated on Sat Jul 19 2025 02:54:11 for InDesign SDK by
1.8.3.1