This widget has a special relationship with WDS_HierarchyForm.
Together they allow dynamic building of hierarchial lists.
This is a base class from which useful list node widgets can be derived.
For a trivial example, see WDS_HierTest.
Generally, an application instantiates a single object derived from
WDS_HierarchyNode.
When placed in the interface, the object produces lists by placing a
WDS_HierarchyForm above itself and creating new such derived
WDS_HierarchyNode's as children.
The application generally only interacts with the root
WDS_HierarchyNode.
void SetShowable(long set)
long GetShowable(void)
Set/Get showing mode. If non-zero, the node can be opened,
presumably because it contains more nodes.
void SetShow(long show)
long GetShow(void)
Set/Get showing mode. If non-zero, the WDS_HierarchyNode
places it's own WDS_HierarchyForm
between the node itself and it's parent.
If once again not showing or upon destruction,
it will clear out that form's children,
remove the form from the hierarchy,
and reattach itself to the original parent.
virtual void ShowEntry(void)
Called from SetShow(TRUE) when not already showing.
This function should interpret whatever hierarchial data it is representing,
add widgets, set names, and change various attributes.
WDS_String *GetHierString(void)
Get the semi-unique string identifier that is used to reuse
entries when a list is re-read.
This string is separate from the label inherited from WDS_Widget.
WDS_HierarchyForm *GetHierForm(void)
Returns a pointer to the nodes own WDS_HierarchyForm.
WDS_HierarchyNode *MatchChild(long margin,char *text)
Searches margin number of entries at the beginning of the
child widget list for a WDS_HierarchyNode
widget with a hier-string with a buffer the matches text.
Intended for internal use only.