gltk 0.3
a C++ widget library built on GLUT
Public Member Functions | Protected Member Functions
gltk::Widget Class Reference

A visual component. More...

#include <widget.hh>

Inheritance diagram for gltk::Widget:
gltk::Container gltk::Entry gltk::Focusable gltk::glArea gltk::Label gltk::ListView gltk::Popup gltk::Shape gltk::Slider

List of all members.

Public Member Functions

void size_allocate (int x, int y, int width, int height)
 allocate a size in parent's coordinates
void move_allocate (int x, int y)
 change position of the widget within parent
bool contains (int x, int y) const
 check if the widget area contains the point
void draw ()
 draw the widget
void show ()
 mark the widget visible
void hide ()
 mark the widget hidden
void make_focus ()
 make this widget the receiver of keyboard input
void button_event (int button, int state, int x, int y)
 notify Widget of button action
void motion_event (int x, int y)
 notify Widget of button grabbed mouse motion
bool keyboard_event (unsigned char key)
 notify Widget of key press, return whether the key is processed
bool special_event (int key)
 notify Widget of special key
void passive_event (int x, int y)
 notify of ungrabbed mouse motion
void entry_event (bool enterred)
 mouse enter or leave the Widget
void set_grabbing (bool v=true)
 grab the mouse button hold
bool get_realized () const
 if the Widget is realized
int get_shown () const
 whether the Widget is marked visible
int get_width () const
 width of allocated area
int get_height () const
 height of allocated area
void get_absolute (int &x, int &y) const
 get absolute coordinates in glutWindow
void queue_draw ()
 mark for re-draw
void queue_resize ()
 mark to renegotiate size
Geometry & Focus

used by Container to manage children

virtual void get_preferred_height (int &min, int &nat) const
 obtain minimum & natural heights
virtual void get_preferred_height_for_width (int width, int &min, int &nat) const
 obtain minimum & natural heights for given width
virtual void get_preferred_width (int &min, int &nat) const
 obtain minimum & natural widths
virtual void get_preferred_width_for_height (int height, int &min, int &nat) const
 obtain minimum & natural widths for given height
virtual bool focus_make ()
 make this Widget the focus
virtual bool focus_next ()
 shift to next focus, if N/A, return false and starts over
virtual void focus_end ()
 end the focus

Protected Member Functions

virtual void on_set_parent (Container *p)
 parent is changed
virtual void on_set_window (Window *window)
 window root is set
virtual void on_realize ()
 called when Widget is realized
virtual void on_unrealize ()
 called when Widget is unrealized
virtual void on_draw ()
 called to implement draw
virtual void on_size_allocate (int width, int height)
 called when size is given
virtual void on_configure_event ()
 called when the window configuration is changed
virtual void on_button_event (int button, int state, int x, int y)
 called for mouse button
virtual void on_motion_event (int x, int y)
 called for grabbed movement
virtual void on_passive_event (int x, int y)
 called for non-grabbed movement
virtual bool on_key_event (unsigned char key)
 called for key press
virtual bool on_special_event (int key)
 called for special key
virtual void on_entry_event (bool entered)
 called when pointer enter/leave
virtual void on_show ()
 called when shown
virtual void on_hide ()
 called when hidden
virtual bool get_focus ()
 get focus from parent, overriden by Window

Detailed Description

A visual component.

Widgets can be put in a Container which manages their layout. The states of a Widget is a combination of:

realized: has an actual window with associated context

configured: assigned a position and size within its parent's coodinate system

shown: additional visibility control

A Widget can be shown or hidden.

 All Classes Namespaces Files Functions Variables Enumerations Enumerator