button Class Reference

#include <button.hpp>

Inheritance diagram for button:

Inheritance graph
[legend]
Collaboration diagram for button:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 47 of file button.hpp.


Event callbacks

event_handlerget_event_handler ()
 The event handler pointer is provided to override the default event handler of a particular widget object without needing to go to the trouble of creating a whole new derived class.
typedef bool(* event_handler )(widget *this_widget, const SDL_Event &)

Public Types

enum  text_align { ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER, ALIGN_JUSTIFY }
enum  textbox_flags { NO_FLAGS = 0, TEXT_WRAP = (1 << 0), TEXT_SCROLL = (1 << 1) }
enum  widget_flags { NO_FLAGS = 0, WIDGET_INVISIBLE = (1 << 0), WIDGET_INACTIVE = (1 << 1), WIDGET_CAN_FOCUS = (1 << 2) }

Public Member Functions

void add_child (widget *)
 button (widget *parent, const int x, const int y, const int w, const int h, const platform::color &fg, const platform::color &bg, const gsgl::string &font_face, int font_size, const gsgl::string &text)
virtual void draw ()
text_alignget_align ()
gsgl::stringget_text ()
gsgl::flags_tget_text_flags ()
virtual bool handle_event (const SDL_Event &)
void remove_child (widget *)
void set_on_click_handler (void(*handler)(button *))
virtual ~button ()
Utilities
bool button_down_here (int button)
 Determines whether or not the latest mouse-down was in this widget.
void draw_box (int x, int y, int w, int h)
 Draws a box (in local coordinates).
void draw_line (int x0, int y0, int x1, int y1)
 Draws a line (in local coordinates).
void get_abs (int &x, int &y)
 Transforms the given local coordinates to absolute window coordinates.
void get_local (int &x, int &y)
 Transforms the given absolute window coordinates into local widget coordinates.
Accessors
platform::colorget_background ()
data::simple_stack< widget * > & get_children ()
gsgl::flags_tget_flags ()
platform::colorget_foreground ()
int & get_h ()
widget *& get_next_tab ()
widgetget_parent ()
widget *& get_prev_tab ()
platform::texture *& get_texture ()
int & get_w ()
int & get_x ()
int & get_y ()
void set_flags (const gsgl::flags_t f, bool flag_on)

Private Attributes

unsigned int down_tick
void(* on_click_handler )(button *)

Member Typedef Documentation

typedef bool(* event_handler)(widget *this_widget, const SDL_Event &) [inherited]


Member Enumeration Documentation

enum text_align [inherited]

Enumerator:
ALIGN_LEFT 
ALIGN_RIGHT 
ALIGN_CENTER 
ALIGN_JUSTIFY 

Definition at line 60 of file textbox.hpp.

enum textbox_flags [inherited]

Enumerator:
NO_FLAGS 
TEXT_WRAP 
TEXT_SCROLL 

Definition at line 68 of file textbox.hpp.

enum widget_flags [inherited]

Enumerator:
NO_FLAGS 
WIDGET_INVISIBLE  The widget is invisible but still active.
WIDGET_INACTIVE  The widget is neither visible nor active.
WIDGET_CAN_FOCUS  The widget is capable of handling keyboard events.

Definition at line 66 of file widget.hpp.


Constructor & Destructor Documentation

button ( widget parent,
const int  x,
const int  y,
const int  w,
const int  h,
const platform::color fg,
const platform::color bg,
const gsgl::string font_face,
int  font_size,
const gsgl::string text 
)

Definition at line 46 of file button.cpp.

References textbox::get_text().

~button (  )  [virtual]

Definition at line 64 of file button.cpp.


Member Function Documentation

void add_child ( widget child  )  [inherited]

Definition at line 73 of file widget.cpp.

References widget::children, and widget::parent.

Referenced by tabbox::add_tab(), and widget::widget().

bool button_down_here ( int  button  )  [inherited]

Determines whether or not the latest mouse-down was in this widget.

Definition at line 156 of file widget.cpp.

References widget::get_h(), widget::get_local(), widget::get_w(), and singleton::global_instance().

Referenced by treebox_node::handle_event(), and button::handle_event().

void draw (  )  [virtual]

void draw_box ( int  x,
int  y,
int  w,
int  h 
) [inherited]

Draws a box (in local coordinates).

Definition at line 179 of file widget.cpp.

References display::draw_rectangle(), and widget::get_abs().

void draw_line ( int  x0,
int  y0,
int  x1,
int  y1 
) [inherited]

Draws a line (in local coordinates).

Definition at line 167 of file widget.cpp.

References widget::get_abs().

void get_abs ( int &  x,
int &  y 
) [inherited]

Transforms the given local coordinates to absolute window coordinates.

Definition at line 124 of file widget.cpp.

References widget::parent, and widget::w.

Referenced by widget::draw_box(), and widget::draw_line().

text_align& get_align (  )  [inline, inherited]

Definition at line 82 of file textbox.hpp.

platform::color& get_background (  )  [inline, inherited]

Definition at line 96 of file widget.hpp.

Referenced by tabbox::add_tab(), and button::draw().

data::simple_stack<widget *>& get_children (  )  [inline, inherited]

event_handler& get_event_handler (  )  [inline, inherited]

The event handler pointer is provided to override the default event handler of a particular widget object without needing to go to the trouble of creating a whole new derived class.

If the event handler is non-null, it will be called instead of handle_event(); if it returns false, then handle_event() will be called as well.

Definition at line 114 of file widget.hpp.

Referenced by application::handle_ui_event().

gsgl::flags_t& get_flags (  )  [inline, inherited]

Definition at line 81 of file widget.hpp.

Referenced by textbox::draw(), application::draw_ui(), and application::handle_ui_event().

platform::color& get_foreground (  )  [inline, inherited]

int& get_h (  )  [inline, inherited]

void get_local ( int &  x,
int &  y 
) [inherited]

Transforms the given absolute window coordinates into local widget coordinates.

Definition at line 140 of file widget.cpp.

References widget::w.

Referenced by widget::button_down_here(), and tabbox::handle_event().

widget* & get_next_tab (  )  [inline, inherited]

Definition at line 84 of file widget.hpp.

widget* get_parent (  )  [inline, inherited]

Definition at line 87 of file widget.hpp.

widget* & get_prev_tab (  )  [inline, inherited]

Definition at line 85 of file widget.hpp.

gsgl::string& get_text (  )  [inline, inherited]

gsgl::flags_t& get_text_flags (  )  [inline, inherited]

Definition at line 83 of file textbox.hpp.

platform::texture* & get_texture (  )  [inline, inherited]

Definition at line 97 of file widget.hpp.

int& get_w (  )  [inline, inherited]

int& get_x (  )  [inline, inherited]

int& get_y (  )  [inline, inherited]

bool handle_event ( const SDL_Event &  e  )  [virtual]

Reimplemented from widget.

Definition at line 115 of file button.cpp.

References widget::button_down_here(), button::down_tick, and button::on_click_handler.

void remove_child ( widget child  )  [inherited]

Definition at line 80 of file widget.cpp.

References widget::children, and widget::parent.

Referenced by treebox::clear_tree_nodes(), and treebox_node::clear_tree_nodes().

void set_flags ( const gsgl::flags_t  f,
bool  flag_on 
) [inherited]

void set_on_click_handler ( void(*)(button *)  handler  ) 

Definition at line 70 of file button.cpp.

References widget::handler, and button::on_click_handler.

Referenced by simulation_tab::draw(), and main_window::main_window().


Member Data Documentation

unsigned int down_tick [private]

Definition at line 50 of file button.hpp.

Referenced by button::draw(), and button::handle_event().

void(* on_click_handler)(button *) [private]


The documentation for this class was generated from the following files:

Generated on Sat Mar 1 13:50:06 2008 for Periapsis Project by  doxygen 1.5.5