VkNode(3x)
VkNode - Base node class used by VkGraph
As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.
NAME VkNode - Base node class used by VkGraph INHERITS FROM VkComponent HEADER FILE #include <Vk/VkNode.h> PUBLIC PROTOCOL SUMMARY Constructor/Destructor VkNode(void); VkNode(const char *name,const char *label); VkNode(const char *name, VkNode *parent, const char *label); virtual void ~VkNode(void); Sorting static void setSortFunction(VkNodeSortFunction f); void sortChildren(void); Access Functions virtual char* label(void); int nChildren(void); int nParents(void); Finding Parent/Children VkNode* findChild(char* name); VkNode* findParent(char* name); VkNode* child(int index); VkNode* parent(int index); PROTECTED PROTOCOL SUMMARY Building widgets virtual void build(Widget parent); _label char* _label; CLASS DESCRIPTION The VkNode class is used by the VkGraph class as a node in an abstract graph that can create a widget for display on demand. By default, this class creates an XmIconGadget as the widget displayed. VkNode is often subclassed to alter the widgets used to display nodes, as well as to maintain other data associated with a node. DERIVING SUBCLASSES Subclasses of VkNode can be created to provide a place to maintain additional data, or to change the way the node displays itself in a graph. The VkGraph widget calls the VkNode::build() function when it needs a widget. Derived classes can override this virtual function if desired. This function is expected to create a widget, or widgets, assigning the widget or root of a widget hierarchy to the _baseWidget member. Derived classes should call installDestroyHandler() after creating the _baseWidget. See VkComponent for details. The VkNode class supports a _label member which may be used to specify a label for a node. If this makes sense for the nodes created by a subclass, this member is available. Derived classes must be prepared for widgets to be created and destroyed dynamically, under the control of the graph widget. FUNCTION DESCRIPTIONS build() virtual void build(Widget parent); Create a widget as a child of the specified parent to be displayed in a graph. VkNode() VkNode(void); Initialize a VkNode object. A unique name for the object is generated automatically. VkNode() VkNode(const char *name, const char *label); Create a VkNode object with the given name and a label to be used when the node is displayed. VkNode() VkNode(const char *name, VkNode *parent, const char *label); Create a VkNode object with a specified parent in a graph. The widget has the given name and a label to be used when the node is displayed. setSortFunction() static void setSortFunction(VkNodeSortFunction f); Install a sort function to be used when sorting the graph. The form of the sort function is int (*VkNodeSortFunction)(VkNode *child1, VkNode *child2); The function is expected to conform to qsort conventions: the function must return an integer less than, equal to, or greater than zero according to whether the first argument is to be considered be less than, equal to, or greater than the second. ~VkNode() virtual void ~VkNode(void); Free all memory associated with a VkNode object. The widget is destroyed, and all connections to other nodes are removed. The object is also automatically removed from the VkGraph abstract graph. label() virtual char* label(void); Returns any label associated with this node. nChildren() int nChildren(void); Returns the number of children connected to this node. nParents() int nParents(void); Returns the number of parents connected to this node. findChild() VkNode* findChild(char *name); Return the VkNode object for the named child. This function searches only immediate children. findParent() VkNode* findParent(char* name); Return the VkNode object for the named parent. This function searches only immediate parents. child() VkNode* child(int index); Returns a child VkNode object by index. parent() VkNode* parent(int index); Returns a parent VkNode object by index. sortChildren() void sortChildren(void); Apply the installed sort function to this node's immediate children. DATA MEMBER DESCRIPTIONS _label char* _label; A character string that can be used to label node, distinct from the node's name. INHERITED MEMBER FUNCTIONS Inherited from VkComponent installDestroyHandler(), removeDestroyHandler(), widgetDestroyed(), setDefaultResources(), getResources(), manage(), unmanage(), baseWidget(), okToQuit(), _name, _baseWidget, _w, deleteCallback Inherited from VkCallbackObject callCallbacks(), addCallback(), removeCallback(), removeAllCallbacks() KNOWN CLASSES THAT USE THIS CLASS VkGraph SEE ALSO VkComponent, VkGraph, VkNode ViewKit Programmer's Guide The X Window System, DEC Press, Bob Sheifler and Jim Gettys The X Window System Toolkit, DEC Press, Paul Asente and Ralph Swick The OSF/Motif Programmers Reference, Prentice Hall, OSF