main_window Class Reference

#include <main_window.hpp>

Inheritance diagram for main_window:

Inheritance graph
[legend]
Collaboration diagram for main_window:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 63 of file main_window.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  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 *)
virtual void draw ()
virtual bool handle_event (const SDL_Event &)
 main_window (const gsgl::string &title, const int x, const int y)
void remove_child (widget *)
void set_status (const gsgl::string &message)
virtual ~main_window ()
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::color & get_background ()
data::simple_stack< widget * > & get_children ()
gsgl::flags_tget_flags ()
platform::color & get_foreground ()
int & get_h ()
widget *& get_next_tab ()
widget * get_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)

Static Public Member Functions

static T * global_instance ()

Static Public Attributes

static
gsgl::data::config_variable
< gsgl::platform::color
BACKGROUND
static
gsgl::data::config_variable
< gsgl::string
FONT_FACE
static
gsgl::data::config_variable
< int > 
FONT_SIZE
static
gsgl::data::config_variable
< gsgl::platform::color
FOREGROUND
static
gsgl::data::config_variable
< int > 
HEIGHT
static
gsgl::data::config_variable
< int > 
QUIT_BUTTON_WIDTH
static
gsgl::data::config_variable
< int > 
STATUS_BAR_HEIGHT
static
gsgl::data::config_variable
< int > 
TAB_BOX_SPACE
static
gsgl::data::config_variable
< int > 
TITLE_BOX_HEIGHT
static
gsgl::data::config_variable
< int > 
WIDTH

Private Attributes

load_scenery_threadloading_thread
bool need_to_load_scenery
gsgl::framework::buttonquit_button
settings_tabset_tab
simulation_tabsim_tab
gsgl::framework::textboxstatus_bar
gsgl::framework::tabboxtab_box
gsgl::framework::textboxtitle_box

Member Typedef Documentation

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


Member Enumeration Documentation

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

main_window ( const gsgl::string title,
const int  x,
const int  y 
)

~main_window (  )  [virtual]

Definition at line 156 of file main_window.cpp.

References main_window::loading_thread.


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().

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.

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]

static T* global_instance (  )  [inline, static, inherited]

bool handle_event ( const SDL_Event &  e  )  [virtual, inherited]

Reimplemented in button, tabbox, treebox_plus, and treebox_node.

Definition at line 117 of file widget.cpp.

Referenced by application::handle_ui_event().

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_status ( const gsgl::string message  ) 

Definition at line 163 of file main_window.cpp.

References textbox::get_text(), and main_window::status_bar.

Referenced by main_window::draw().


Member Data Documentation

config_variable< color > BACKGROUND [static]

config_variable< string > FONT_FACE [static]

config_variable< int > FONT_SIZE [static]

config_variable< color > FOREGROUND [static]

config_variable< int > HEIGHT [static]

Definition at line 88 of file main_window.hpp.

Referenced by periapsis_app::init(), and main_window::main_window().

Definition at line 73 of file main_window.hpp.

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

bool need_to_load_scenery [private]

Definition at line 72 of file main_window.hpp.

Referenced by main_window::draw().

Definition at line 67 of file main_window.hpp.

Referenced by main_window::main_window().

config_variable< int > QUIT_BUTTON_WIDTH [static]

Definition at line 97 of file main_window.hpp.

Referenced by main_window::main_window().

settings_tab* set_tab [private]

Definition at line 70 of file main_window.hpp.

Referenced by main_window::main_window().

simulation_tab* sim_tab [private]

Definition at line 69 of file main_window.hpp.

Referenced by main_window::main_window().

Definition at line 66 of file main_window.hpp.

Referenced by main_window::main_window(), and main_window::set_status().

config_variable< int > STATUS_BAR_HEIGHT [static]

Definition at line 95 of file main_window.hpp.

Referenced by main_window::main_window().

Definition at line 68 of file main_window.hpp.

Referenced by main_window::main_window().

config_variable< int > TAB_BOX_SPACE [static]

Definition at line 96 of file main_window.hpp.

Referenced by main_window::main_window().

Definition at line 66 of file main_window.hpp.

Referenced by main_window::main_window().

config_variable< int > TITLE_BOX_HEIGHT [static]

Definition at line 94 of file main_window.hpp.

Referenced by main_window::main_window().

config_variable< int > WIDTH [static]

Definition at line 87 of file main_window.hpp.

Referenced by periapsis_app::init(), and main_window::main_window().


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

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