Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

GLUI_Node Class Reference

#include <glui.h>

Inheritance diagram for GLUI_Node:

GLUI_Control GLUI_Glut_Window GLUI_List_Item GLUI_Listbox_Item GLUI_Main GLUI_Button GLUI_Checkbox GLUI_Column GLUI_EditText GLUI_List GLUI_Listbox GLUI_Mouse_Interaction GLUI_Panel GLUI_RadioButton GLUI_RadioGroup GLUI_Scrollbar GLUI_Separator GLUI_Spinner GLUI_StaticText GLUI_TextBox GLUI List of all members.

Detailed Description

GLUI_Node is a node in a sort of tree of GLUI controls. Each GLUI_Node has a list of siblings (in a circular list) and a linked list of children.

Everything onscreen is a GLUI_Node--windows, buttons, etc. The nodes are traversed for event processing, sizing, redraws, etc.


Public Member Functions

 GLUI_Node ()
virtual ~GLUI_Node ()
GLUI_Nodefirst_sibling ()
GLUI_Nodelast_sibling ()
GLUI_Nodeprev ()
GLUI_Nodenext ()
GLUI_Nodefirst_child ()
GLUI_Nodelast_child ()
GLUI_Nodeparent ()
virtual int add_control (GLUI_Control *control)
void link_this_to_parent_last (GLUI_Node *parent)
void link_this_to_parent_first (GLUI_Node *parent)
void link_this_to_sibling_next (GLUI_Node *sibling)
void link_this_to_sibling_prev (GLUI_Node *sibling)
void unlink ()
void dump (FILE *out, const char *name)

Static Protected Member Functions

void add_child_to_control (GLUI_Node *parent, GLUI_Control *child)

Protected Attributes

GLUI_Nodeparent_node
GLUI_Nodechild_head
GLUI_Nodechild_tail
GLUI_Nodenext_sibling
GLUI_Nodeprev_sibling


Constructor & Destructor Documentation

GLUI_Node::GLUI_Node  ) 
 

virtual GLUI_Node::~GLUI_Node  )  [inline, virtual]
 


Member Function Documentation

void GLUI_Node::add_child_to_control GLUI_Node parent,
GLUI_Control child
[static, protected]
 

Note: moving this routine here from glui_add_controls.cpp prevents the linker from touching glui_add_controls.o in non-deprecated programs, which descreases the linked size of small GLUI programs substantially (100K+). (OSL 2006/06)

Swap in the original first and last children *

Swap the children back out **

Now set the 'hidden' var based on the parent *

int GLUI_Node::add_control GLUI_Control control  )  [virtual]
 

Link in a new child control

Reimplemented in GLUI.

void GLUI_Node::dump FILE *  out,
const char *  name
 

Reimplemented in GLUI_EditText, GLUI_CommandLine, and GLUI_List.

GLUI_Node* GLUI_Node::first_child  )  [inline]
 

GLUI_Node * GLUI_Node::first_sibling  ) 
 

GLUI_Node* GLUI_Node::last_child  )  [inline]
 

GLUI_Node * GLUI_Node::last_sibling  ) 
 

void GLUI_Node::link_this_to_parent_first GLUI_Node parent  ) 
 

void GLUI_Node::link_this_to_parent_last GLUI_Node parent  ) 
 

void GLUI_Node::link_this_to_sibling_next GLUI_Node sibling  ) 
 

void GLUI_Node::link_this_to_sibling_prev GLUI_Node sibling  ) 
 

GLUI_Node * GLUI_Node::next  ) 
 

Reimplemented in GLUI_TreePanel.

GLUI_Node* GLUI_Node::parent  )  [inline]
 

GLUI_Node * GLUI_Node::prev  ) 
 

void GLUI_Node::unlink  ) 
 


Member Data Documentation

GLUI_Node* GLUI_Node::child_head [protected]
 

GLUI_Node* GLUI_Node::child_tail [protected]
 

GLUI_Node* GLUI_Node::next_sibling [protected]
 

GLUI_Node* GLUI_Node::parent_node [protected]
 

GLUI_Node* GLUI_Node::prev_sibling [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Sep 15 17:51:57 2006 for GLUI by doxygen 1.3.6