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