GLUI_Control Class Reference

#include <glui.h>

Inheritance diagram for GLUI_Control:

Inheritance graph
[legend]
Collaboration diagram for GLUI_Control:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void set_name (const char *string)
virtual void set_int_val (int new_int)
virtual void set_float_val (float new_float)
virtual void set_ptr_val (void *new_ptr)
virtual void set_float_array_val (float *array_ptr)
virtual float get_float_val (void)
virtual int get_int_val (void)
virtual void get_float_array_val (float *array_ptr)
virtual int get_id (void) const
virtual void set_id (int obj_id)
virtual int mouse_down_handler (int local_x, int local_y)
virtual int mouse_up_handler (int local_x, int local_y, bool inside)
virtual int mouse_held_down_handler (int local_x, int local_y, bool inside)
virtual int key_handler (unsigned char key, int modifiers)
virtual int special_handler (int key, int modifiers)
virtual void update_size (void)
virtual void idle (void)
virtual int mouse_over (int state, int x, int y)
virtual void enable (void)
virtual void disable (void)
virtual void activate (int how)
virtual void deactivate (void)
void hide_internal (int recurse)
void unhide_internal (int recurse)
int can_draw (void)
void redraw (void)
void redraw_window (void)
virtual void align (void)
void pack (int x, int y)
void pack_old (int x, int y)
void draw_recursive (int x, int y)
int set_to_glut_window (void)
void restore_window (int orig)
void translate_and_draw_front (void)
void translate_to_origin (void)
virtual void draw (int x, int y)=0
void set_font (void *new_font)
void * get_font (void)
int string_width (const char *text)
int string_width (const GLUI_String &str)
int char_width (char c)
void draw_name (int x, int y)
void draw_box_inwards_outline (int x_min, int x_max, int y_min, int y_max)
void draw_box (int x_min, int x_max, int y_min, int y_max, float r, float g, float b)
void draw_bkgd_box (int x_min, int x_max, int y_min, int y_max)
void draw_emboss_box (int x_min, int x_max, int y_min, int y_max)
void draw_string (const char *text)
void draw_string (const GLUI_String &s)
void draw_char (char c)
void draw_active_box (int x_min, int x_max, int y_min, int y_max)
void set_to_bkgd_color (void)
void set_w (int new_w)
void set_h (int new_w)
void set_alignment (int new_align)
void sync_live (int recurse, int draw)
void init_live (void)
void output_live (int update_main_gfx)
virtual void set_text (const char *t)
void execute_callback (void)
void get_this_column_dims (int *col_x, int *col_y, int *col_w, int *col_h, int *col_x_off, int *col_y_off)
virtual bool needs_idle (void) const
virtual bool wants_tabs () const
 GLUI_Control (void)
virtual ~GLUI_Control ()

Public Attributes

int w
int h
int x_abs
int y_abs
int x_off
int y_off_top
int y_off_bot
int contain_x
int contain_y
int contain_w
int contain_h
int active_type
 "GLUI_CONTROL_ACTIVE_..."
bool active
 If true, we've got the focus.
bool can_activate
 If false, remove from tab order.
bool spacebar_mouse_click
 Spacebar simulates click.
long user_id
 Integer to pass to callback function.
GLUI_CB callback
 User callback function, or NULL.
float float_val
int int_val
float float_array_val [GLUI_DEF_MAX_ARRAY]
int float_array_size
GLUI_String text
void * ptr_val
int live_type
bool live_inited
int last_live_int
float last_live_float
GLUI_String last_live_text
float last_live_float_array [GLUI_DEF_MAX_ARRAY]
GLUIglui
bool is_container
int alignment
bool enabled
GLUI_String name
void * font
bool collapsible
bool is_open
GLUI_Node collapsed_node
bool hidden
int char_widths [CHAR_WIDTH_HASH_SIZE][2]


Detailed Description

All the GUI objects inherit from GLUI_Control: buttons, checkboxes, labels, edit boxes, scrollbars, etc. Most of the work of this class is in routing events, like keystrokes, mouseclicks, redraws, and sizing events.

Yes, this is a huge and hideous class. It needs to be split up into simpler subobjects. None of the data members should be directly accessed by users (they should be protected, not public); only subclasses.

Definition at line 759 of file glui.h.


Constructor & Destructor Documentation

GLUI_Control::GLUI_Control ( void   )  [inline]

Definition at line 905 of file glui.h.

virtual GLUI_Control::~GLUI_Control (  )  [virtual]


Member Function Documentation

virtual void GLUI_Control::set_name ( const char *  string  )  [virtual]

Reimplemented in GLUI_Panel, and GLUI_RadioGroup.

virtual void GLUI_Control::set_int_val ( int  new_int  )  [inline, virtual]

Reimplemented in GLUI_Checkbox, GLUI_EditText, GLUI_RadioGroup, GLUI_Spinner, GLUI_Scrollbar, and GLUI_Listbox.

Definition at line 816 of file glui.h.

virtual void GLUI_Control::set_float_val ( float  new_float  )  [inline, virtual]

Reimplemented in GLUI_EditText, GLUI_Spinner, and GLUI_Scrollbar.

Definition at line 817 of file glui.h.

virtual void GLUI_Control::set_ptr_val ( void *  new_ptr  )  [inline, virtual]

Definition at line 818 of file glui.h.

virtual void GLUI_Control::set_float_array_val ( float *  array_ptr  )  [virtual]

virtual float GLUI_Control::get_float_val ( void   )  [inline, virtual]

Reimplemented in GLUI_Spinner.

Definition at line 821 of file glui.h.

virtual int GLUI_Control::get_int_val ( void   )  [inline, virtual]

Reimplemented in GLUI_Spinner.

Definition at line 822 of file glui.h.

virtual void GLUI_Control::get_float_array_val ( float *  array_ptr  )  [virtual]

virtual int GLUI_Control::get_id ( void   )  const [inline, virtual]

Reimplemented in GLUI_Tree.

Definition at line 824 of file glui.h.

virtual void GLUI_Control::set_id ( int  obj_id  )  [inline, virtual]

Reimplemented in GLUI_Tree.

Definition at line 825 of file glui.h.

virtual int GLUI_Control::mouse_down_handler ( int  local_x,
int  local_y 
) [inline, virtual]

Reimplemented in GLUI_Button, GLUI_Checkbox, GLUI_Rollout, GLUI_Tree, GLUI_EditText, GLUI_RadioButton, GLUI_Spinner, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

Definition at line 827 of file glui.h.

virtual int GLUI_Control::mouse_up_handler ( int  local_x,
int  local_y,
bool  inside 
) [inline, virtual]

Reimplemented in GLUI_Button, GLUI_Checkbox, GLUI_Rollout, GLUI_Tree, GLUI_EditText, GLUI_RadioButton, GLUI_Spinner, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

Definition at line 828 of file glui.h.

virtual int GLUI_Control::mouse_held_down_handler ( int  local_x,
int  local_y,
bool  inside 
) [inline, virtual]

Reimplemented in GLUI_Button, GLUI_Checkbox, GLUI_Rollout, GLUI_Tree, GLUI_EditText, GLUI_RadioButton, GLUI_Spinner, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

Definition at line 829 of file glui.h.

virtual int GLUI_Control::key_handler ( unsigned char  key,
int  modifiers 
) [inline, virtual]

Reimplemented in GLUI_Button, GLUI_Checkbox, GLUI_EditText, GLUI_CommandLine, GLUI_Spinner, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, and GLUI_Listbox.

Definition at line 830 of file glui.h.

virtual int GLUI_Control::special_handler ( int  key,
int  modifiers 
) [inline, virtual]

Reimplemented in GLUI_EditText, GLUI_CommandLine, GLUI_Spinner, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

Definition at line 831 of file glui.h.

virtual void GLUI_Control::update_size ( void   )  [inline, virtual]

Reimplemented in GLUI_Button, GLUI_Checkbox, GLUI_Panel, GLUI_Rollout, GLUI_Tree, GLUI_EditText, GLUI_RadioButton, GLUI_Spinner, GLUI_StaticText, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

Definition at line 833 of file glui.h.

virtual void GLUI_Control::idle ( void   )  [inline, virtual]

Reimplemented in GLUI_Spinner, GLUI_Scrollbar, and GLUI_Rotation.

Definition at line 834 of file glui.h.

virtual int GLUI_Control::mouse_over ( int  state,
int  x,
int  y 
) [inline, virtual]

Reimplemented in GLUI_EditText, GLUI_TextBox, GLUI_List, and GLUI_Listbox.

Definition at line 835 of file glui.h.

virtual void GLUI_Control::enable ( void   )  [virtual]

Reimplemented in GLUI_TextBox.

virtual void GLUI_Control::disable ( void   )  [virtual]

Reimplemented in GLUI_TextBox.

virtual void GLUI_Control::activate ( int  how  )  [inline, virtual]

Reimplemented in GLUI_EditText, GLUI_TextBox, and GLUI_List.

Definition at line 839 of file glui.h.

virtual void GLUI_Control::deactivate ( void   )  [inline, virtual]

Reimplemented in GLUI_EditText, GLUI_CommandLine, GLUI_TextBox, and GLUI_List.

Definition at line 840 of file glui.h.

void GLUI_Control::hide_internal ( int  recurse  ) 

Hide (shrink into a rollout) and unhide (expose from a rollout)

void GLUI_Control::unhide_internal ( int  recurse  ) 

int GLUI_Control::can_draw ( void   )  [inline]

Return true if it currently makes sense to draw this class.

Definition at line 847 of file glui.h.

void GLUI_Control::redraw ( void   ) 

Redraw this control. In single-buffering mode (drawing to GL_FRONT), this is just a call to translate_and_draw_front (after a can_draw() check). In double-buffering mode (drawing to GL_BACK), this queues up a redraw and returns false, since you shouldn't draw yet.

void GLUI_Control::redraw_window ( void   ) 

Redraw everybody in our window.

virtual void GLUI_Control::align ( void   )  [virtual]

void GLUI_Control::pack ( int  x,
int  y 
)

void GLUI_Control::pack_old ( int  x,
int  y 
)

void GLUI_Control::draw_recursive ( int  x,
int  y 
)

int GLUI_Control::set_to_glut_window ( void   ) 

void GLUI_Control::restore_window ( int  orig  ) 

void GLUI_Control::translate_and_draw_front ( void   ) 

void GLUI_Control::translate_to_origin ( void   )  [inline]

Definition at line 867 of file glui.h.

virtual void GLUI_Control::draw ( int  x,
int  y 
) [pure virtual]

Implemented in GLUI_Button, GLUI_Checkbox, GLUI_Column, GLUI_Panel, GLUI_Rollout, GLUI_Tree, GLUI_EditText, GLUI_RadioGroup, GLUI_RadioButton, GLUI_Separator, GLUI_Spinner, GLUI_StaticText, GLUI_TextBox, GLUI_List, GLUI_Scrollbar, GLUI_Listbox, and GLUI_Mouse_Interaction.

void GLUI_Control::set_font ( void *  new_font  ) 

void* GLUI_Control::get_font ( void   ) 

int GLUI_Control::string_width ( const char *  text  ) 

int GLUI_Control::string_width ( const GLUI_String str  )  [inline]

Definition at line 873 of file glui.h.

int GLUI_Control::char_width ( char  c  ) 

void GLUI_Control::draw_name ( int  x,
int  y 
)

void GLUI_Control::draw_box_inwards_outline ( int  x_min,
int  x_max,
int  y_min,
int  y_max 
)

void GLUI_Control::draw_box ( int  x_min,
int  x_max,
int  y_min,
int  y_max,
float  r,
float  g,
float  b 
)

void GLUI_Control::draw_bkgd_box ( int  x_min,
int  x_max,
int  y_min,
int  y_max 
)

void GLUI_Control::draw_emboss_box ( int  x_min,
int  x_max,
int  y_min,
int  y_max 
)

void GLUI_Control::draw_string ( const char *  text  ) 

void GLUI_Control::draw_string ( const GLUI_String s  )  [inline]

Definition at line 885 of file glui.h.

void GLUI_Control::draw_char ( char  c  ) 

void GLUI_Control::draw_active_box ( int  x_min,
int  x_max,
int  y_min,
int  y_max 
)

void GLUI_Control::set_to_bkgd_color ( void   ) 

void GLUI_Control::set_w ( int  new_w  ) 

Reimplemented in GLUI_FileBrowser.

void GLUI_Control::set_h ( int  new_w  ) 

Reimplemented in GLUI_FileBrowser.

void GLUI_Control::set_alignment ( int  new_align  ) 

void GLUI_Control::sync_live ( int  recurse,
int  draw 
)

void GLUI_Control::init_live ( void   ) 

void GLUI_Control::output_live ( int  update_main_gfx  ) 

virtual void GLUI_Control::set_text ( const char *  t  )  [inline, virtual]

Writes live variable

Reimplemented in GLUI_EditText, GLUI_StaticText, and GLUI_TextBox.

Definition at line 897 of file glui.h.

void GLUI_Control::execute_callback ( void   ) 

void GLUI_Control::get_this_column_dims ( int *  col_x,
int *  col_y,
int *  col_w,
int *  col_h,
int *  col_x_off,
int *  col_y_off 
)

virtual bool GLUI_Control::needs_idle ( void   )  const [virtual]

Reimplemented in GLUI_Spinner, GLUI_Scrollbar, and GLUI_Rotation.

virtual bool GLUI_Control::wants_tabs ( void   )  const [inline, virtual]

Reimplemented in GLUI_TextBox.

Definition at line 903 of file glui.h.


Member Data Documentation

int GLUI_Control::w

Onscreen coordinates

Definition at line 764 of file glui.h.

int GLUI_Control::h

Definition at line 764 of file glui.h.

int GLUI_Control::x_abs

Definition at line 765 of file glui.h.

int GLUI_Control::y_abs

Definition at line 765 of file glui.h.

int GLUI_Control::x_off

Definition at line 766 of file glui.h.

int GLUI_Control::y_off_top

Definition at line 766 of file glui.h.

int GLUI_Control::y_off_bot

Definition at line 766 of file glui.h.

int GLUI_Control::contain_x

Definition at line 768 of file glui.h.

int GLUI_Control::contain_y

Definition at line 768 of file glui.h.

int GLUI_Control::contain_w

Definition at line 769 of file glui.h.

int GLUI_Control::contain_h

Definition at line 769 of file glui.h.

int GLUI_Control::active_type

"GLUI_CONTROL_ACTIVE_..."

"activation" for tabbing between controls.

Definition at line 775 of file glui.h.

bool GLUI_Control::active

If true, we've got the focus.

Definition at line 776 of file glui.h.

bool GLUI_Control::can_activate

If false, remove from tab order.

Definition at line 777 of file glui.h.

bool GLUI_Control::spacebar_mouse_click

Spacebar simulates click.

Definition at line 778 of file glui.h.

long GLUI_Control::user_id

Integer to pass to callback function.

Callbacks

Definition at line 781 of file glui.h.

GLUI_CB GLUI_Control::callback

User callback function, or NULL.

Definition at line 782 of file glui.h.

float GLUI_Control::float_val

Variable value storage Our float value

Definition at line 785 of file glui.h.

int GLUI_Control::int_val

Our integer value

Definition at line 786 of file glui.h.

float GLUI_Control::float_array_val[GLUI_DEF_MAX_ARRAY]

Definition at line 787 of file glui.h.

int GLUI_Control::float_array_size

Definition at line 788 of file glui.h.

GLUI_String GLUI_Control::text

The text inside this control

Definition at line 789 of file glui.h.

void* GLUI_Control::ptr_val

"Live variable" updating A pointer to the user's live variable value

Definition at line 792 of file glui.h.

int GLUI_Control::live_type

Definition at line 793 of file glui.h.

bool GLUI_Control::live_inited

Definition at line 794 of file glui.h.

int GLUI_Control::last_live_int

Definition at line 796 of file glui.h.

float GLUI_Control::last_live_float

Definition at line 797 of file glui.h.

GLUI_String GLUI_Control::last_live_text

Definition at line 798 of file glui.h.

float GLUI_Control::last_live_float_array[GLUI_DEF_MAX_ARRAY]

Definition at line 799 of file glui.h.

GLUI* GLUI_Control::glui

Properties of our control Our containing event handler (NEVER NULL during event processing!)

Definition at line 802 of file glui.h.

bool GLUI_Control::is_container

Is this a container class (e.g., panel)

Definition at line 803 of file glui.h.

int GLUI_Control::alignment

Definition at line 804 of file glui.h.

bool GLUI_Control::enabled

Is this control grayed out?

Definition at line 805 of file glui.h.

GLUI_String GLUI_Control::name

The name of this control

Definition at line 806 of file glui.h.

void* GLUI_Control::font

Our glutbitmap font

Definition at line 807 of file glui.h.

bool GLUI_Control::collapsible

Definition at line 808 of file glui.h.

bool GLUI_Control::is_open

Definition at line 808 of file glui.h.

GLUI_Node GLUI_Control::collapsed_node

Definition at line 809 of file glui.h.

bool GLUI_Control::hidden

Definition at line 810 of file glui.h.

int GLUI_Control::char_widths[CHAR_WIDTH_HASH_SIZE][2]

Definition at line 811 of file glui.h.


The documentation for this class was generated from the following file:
Generated on Thu Aug 30 11:04:41 2007 for SPRING Mac by  doxygen 1.5.3