Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
vgui_wx_dialog_impl Class Reference

wxWidgets implementation of vgui_dialog_impl. More...

#include <vgui_wx_dialog_impl.h>

Inheritance diagram for vgui_wx_dialog_impl:
Inheritance graph
[legend]

List of all members.

Public Types

enum  element_type {
  bool_elem, int_elem, long_elem, float_elem,
  double_elem, string_elem, choice_elem, text_msg,
  file_bsr, color_csr, inline_file_bsr, inline_color_csr,
  inline_tabl, dir_bsr, line_br, button_elem,
  unknown
}
 Enum of possible element types. More...

Public Member Functions

 vgui_wx_dialog_impl (const char *name)
 Constructor - create an empty dialog with the given title.
void bool_field (const char *, bool &)
 Add a boolean field to the dialog box.
void int_field (const char *, int &)
 Add an integer field to the dialog box.
void long_field (const char *, long &)
 Add a long integer field to the dialog box.
void float_field (const char *, float &)
 Add a float field to the dialog box.
void double_field (const char *, double &)
 Add a double field to the dialog box.
void string_field (const char *, vcl_string &)
 Add a vcl_string field to the dialog box.
void choice_field (const char *, const vcl_vector< vcl_string > &, int &)
 Add a choice (selection box) to the dialog box.
void text_message (const char *)
 Add a text message to the dialog box.
void file_browser (const char *, vcl_string &, vcl_string &)
 Add a popup file browser to the dialog box.
void inline_file_browser (const char *, vcl_string &, vcl_string &)
 Add an inline file browser to the dialog box.
void color_chooser (const char *, vcl_string &)
 Add a popup colour chooser to the dialog box.
void inline_color_chooser (const char *, vcl_string &)
 Add an inline colour chooser to the dialog box.
void inline_tab (const vgui_tableau_sptr tab, unsigned width, unsigned height)
 Add a tableau (OpenGL area) to the dialog box.
void line_break ()
 Add a line break to the dialog box.
void pushbutton_field (vgui_command_sptr cmnd, const char *label, const void *icon)
 Add a push button field to the dialog box.
virtual void * bool_field_widget (const char *, bool &)
 Pointer to a GUI widget for a bool field.
virtual void * int_field_widget (const char *, int &)
 Pointer to a GUI widget for an integer field.
virtual void * long_field_widget (const char *, long &)
 Pointer to a GUI widget for a long integer field.
virtual void * float_field_widget (const char *, float &)
 Pointer to a GUI widget for a float field.
virtual void * double_field_widget (const char *, double &)
 Pointer to a GUI widget for a double field.
virtual void * string_field_widget (const char *, vcl_string &)
 Pointer to a GUI widget for a string field.
virtual void * text_message_widget (const char *)
 Pointer to a GUI widget for a text message.
virtual void * file_browser_widget (const char *, vcl_string &, vcl_string &)
 Pointer to a GUI widget for a file browser.
virtual void * inline_file_browser_widget (const char *, vcl_string &, vcl_string &)
 Pointer to a GUI widget for an inline file browser.
virtual void * color_chooser_widget (const char *, vcl_string &)
 Pointer to a GUI widget for a colour chooser.
virtual void * inline_color_chooser_widget (const char *, vcl_string &)
 Pointer to a GUI widget for an inline colour chooser.
virtual void * inline_tableau_widget (const vgui_tableau_sptr tab, unsigned width, unsigned height)
 Pointer to a GUI widget for a tableau (OpenGL area).
virtual void * pushbutton_field_widget (const char *, const void *)
 Pointer to a GUI widget for a push button.
virtual void set_cancel_button (const char *msg)
 Set the text on the cancel button.
virtual void set_ok_button (const char *msg)
 Set the text on the OK button.

Protected Member Functions

virtual ~vgui_wx_dialog_impl ()
 Destructor.
virtual bool ask ()
 Display the dialog box form and collect data from the user.
virtual void * choice_field_widget (const char *txt, const vcl_vector< vcl_string > &labels, int &val)
 Create a choice widget.
virtual void * inline_tableau_widget (const vgui_tableau_sptr tab, unsigned int width, unsigned int height)
 Create the inline_tableau_widget (OpenGL area).
virtual void modal (bool m)
 Set the modality of the dialog box.

Protected Attributes

vcl_string name
vcl_vector< elementelements
vcl_string cancel_button_text_
vcl_string ok_button_text_
bool use_line_break

Private Member Functions

void build_wx_dialog ()
void destroy_wx_dialog ()
bool has_changed () const
 Determine if dialog has changed since last construction (i.e., ask()).
int probe_for_max_label_width ()
wxSizer * separator_element (int min_width)
wxSizer * bool_element (vgui_dialog_field *field)
wxSizer * choice_element (vgui_dialog_field *field, vgui_wx_dialog_choice *choices)
wxSizer * text_element (vgui_dialog_field *field)
wxSizer * text_with_button_element (vgui_dialog_field *field, wxTextCtrl *&text_control, const vcl_string &button, int event_id)
wxSizer * exit_buttons_element ()

Private Attributes

vcl_string title_
 Title of the dialog widget.
wxDialog * dialog_
 Pointer to wxWidgets dialog widget.
vcl_size_t last_element_count_
 Element count at the last dialog construction (i.e., ask()).
int max_label_width_
 The width of the largest label; used for graphical alignment.
bool is_modal_
 True if the dialog box is modal (true by default).
vgui_wx_adaptoradaptor_

Detailed Description

wxWidgets implementation of vgui_dialog_impl.

Creates a dialog box in wxWidgets and provides methods for its customization.

Definition at line 32 of file vgui_wx_dialog_impl.h.


Member Enumeration Documentation

Enum of possible element types.

Enumerator:
bool_elem 
int_elem 
long_elem 
float_elem 
double_elem 
string_elem 
choice_elem 
text_msg 
file_bsr 
color_csr 
inline_file_bsr 
inline_color_csr 
inline_tabl 
dir_bsr 
line_br 
button_elem 
unknown 

Definition at line 152 of file vgui_dialog_impl.h.


Constructor & Destructor Documentation

vgui_wx_dialog_impl::vgui_wx_dialog_impl ( const char *  name)

Constructor - create an empty dialog with the given title.

Definition at line 192 of file vgui_wx_dialog_impl.cxx.

vgui_wx_dialog_impl::~vgui_wx_dialog_impl ( void  ) [protected, virtual]

Destructor.

Definition at line 205 of file vgui_wx_dialog_impl.cxx.


Member Function Documentation

bool vgui_wx_dialog_impl::ask ( void  ) [protected, virtual]

Display the dialog box form and collect data from the user.

In modal mode, it returns true if ok was pressed and false otherwise. In modeless mode, it returns false if the dialog was already displayed and true if it wasn't.

The vgui_dialog API doesn't really support modeless dialogs for data collection nor data monitoring. For example, for data monitoring we would need some sort of update() function to allow the user to periodically refresh the dialog values.

Implements vgui_dialog_impl.

Definition at line 224 of file vgui_wx_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::bool_element ( vgui_dialog_field field) [private]

Definition at line 490 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::bool_field ( const char *  txt,
bool &  val 
) [inherited]

Add a boolean field to the dialog box.

Definition at line 41 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::bool_field_widget ( const char *  ,
bool &   
) [virtual, inherited]

Pointer to a GUI widget for a bool field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 239 of file vgui_dialog_impl.cxx.

void vgui_wx_dialog_impl::build_wx_dialog ( void  ) [private]

Definition at line 281 of file vgui_wx_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::choice_element ( vgui_dialog_field field,
vgui_wx_dialog_choice choices 
) [private]

Definition at line 507 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::choice_field ( const char *  txt,
const vcl_vector< vcl_string > &  labels,
int &  val 
) [inherited]

Add a choice (selection box) to the dialog box.

Add a choice field to the dialog box.

Definition at line 139 of file vgui_dialog_impl.cxx.

virtual void* vgui_wx_dialog_impl::choice_field_widget ( const char *  txt,
const vcl_vector< vcl_string > &  labels,
int &  val 
) [protected, virtual]

Create a choice widget.

Reimplemented from vgui_dialog_impl.

void vgui_dialog_impl::color_chooser ( const char *  txt,
vcl_string &  val 
) [inherited]

Add a popup colour chooser to the dialog box.

Definition at line 177 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::color_chooser_widget ( const char *  txt,
vcl_string &  val 
) [virtual, inherited]

Pointer to a GUI widget for a colour chooser.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 249 of file vgui_dialog_impl.cxx.

void vgui_wx_dialog_impl::destroy_wx_dialog ( void  ) [private]

Definition at line 429 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::double_field ( const char *  txt,
double &  val 
) [inherited]

Add a double field to the dialog box.

Definition at line 111 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::double_field_widget ( const char *  ,
double &   
) [virtual, inherited]

Pointer to a GUI widget for a double field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 243 of file vgui_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::exit_buttons_element ( void  ) [private]

Definition at line 597 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::file_browser ( const char *  txt,
vcl_string &  regexp,
vcl_string &  val 
) [inherited]

Add a popup file browser to the dialog box.

Definition at line 152 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::file_browser_widget ( const char *  ,
vcl_string &  ,
vcl_string &   
) [virtual, inherited]

Pointer to a GUI widget for a file browser.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 247 of file vgui_dialog_impl.cxx.

void vgui_dialog_impl::float_field ( const char *  txt,
float &  val 
) [inherited]

Add a float field to the dialog box.

Definition at line 97 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::float_field_widget ( const char *  ,
float &   
) [virtual, inherited]

Pointer to a GUI widget for a float field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 242 of file vgui_dialog_impl.cxx.

bool vgui_wx_dialog_impl::has_changed ( void  ) const [private]

Determine if dialog has changed since last construction (i.e., ask()).

Note that we assume that the only change that can occur is that more fields are added.

Definition at line 449 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::inline_color_chooser ( const char *  txt,
vcl_string &  val 
) [inherited]

Add an inline colour chooser to the dialog box.

Definition at line 189 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::inline_color_chooser_widget ( const char *  txt,
vcl_string &  val 
) [virtual, inherited]

Pointer to a GUI widget for an inline colour chooser.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 250 of file vgui_dialog_impl.cxx.

void vgui_dialog_impl::inline_file_browser ( const char *  txt,
vcl_string &  regexp,
vcl_string &  val 
) [inherited]

Add an inline file browser to the dialog box.

Definition at line 164 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::inline_file_browser_widget ( const char *  ,
vcl_string &  ,
vcl_string &   
) [virtual, inherited]

Pointer to a GUI widget for an inline file browser.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 248 of file vgui_dialog_impl.cxx.

void vgui_dialog_impl::inline_tab ( const vgui_tableau_sptr  tab,
unsigned  width,
unsigned  height 
) [inherited]

Add a tableau (OpenGL area) to the dialog box.

Definition at line 201 of file vgui_dialog_impl.cxx.

virtual void* vgui_wx_dialog_impl::inline_tableau_widget ( const vgui_tableau_sptr  tab,
unsigned int  width,
unsigned int  height 
) [protected, virtual]

Create the inline_tableau_widget (OpenGL area).

void * vgui_dialog_impl::inline_tableau_widget ( const vgui_tableau_sptr  tab,
unsigned  width,
unsigned  height 
) [virtual, inherited]

Pointer to a GUI widget for a tableau (OpenGL area).

Create the inline_tableau_widget (OpenGL area).

Reimplemented in vgui_mfc_dialog_impl, vgui_win32_dialog_impl, vgui_mfc_dialog_extensions_impl, vgui_gtk2_dialog_impl, and vgui_gtk_dialog_impl.

Definition at line 267 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::int_field ( const char *  txt,
int &  val 
) [inherited]

Add an integer field to the dialog box.

Definition at line 69 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::int_field_widget ( const char *  ,
int &   
) [virtual, inherited]

Pointer to a GUI widget for an integer field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 240 of file vgui_dialog_impl.cxx.

void vgui_dialog_impl::line_break ( ) [inherited]

Add a line break to the dialog box.

Reimplemented in vgui_dialog_extensions_impl.

Definition at line 231 of file vgui_dialog_impl.cxx.

void vgui_dialog_impl::long_field ( const char *  txt,
long &  val 
) [inherited]

Add a long integer field to the dialog box.

Add a long field to the dialog box.

Definition at line 83 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::long_field_widget ( const char *  ,
long &   
) [virtual, inherited]

Pointer to a GUI widget for a long integer field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 241 of file vgui_dialog_impl.cxx.

virtual void vgui_wx_dialog_impl::modal ( bool  m) [inline, protected, virtual]

Set the modality of the dialog box.

Reimplemented from vgui_dialog_impl.

Definition at line 56 of file vgui_wx_dialog_impl.h.

int vgui_wx_dialog_impl::probe_for_max_label_width ( void  ) [private]

Definition at line 454 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::pushbutton_field ( vgui_command_sptr  cmnd,
const char *  label,
const void *  icon 
) [inherited]

Add a push button field to the dialog box.

Definition at line 55 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::pushbutton_field_widget ( const char *  ,
const void *   
) [virtual, inherited]

Pointer to a GUI widget for a push button.

Reimplemented in vgui_win32_dialog_impl, and vgui_gtk2_dialog_impl.

Definition at line 252 of file vgui_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::separator_element ( int  min_width) [private]

Definition at line 480 of file vgui_wx_dialog_impl.cxx.

virtual void vgui_dialog_impl::set_cancel_button ( const char *  msg) [inline, virtual, inherited]

Set the text on the cancel button.

Reimplemented in vgui_gtk2_dialog_impl, and vgui_gtk_dialog_impl.

Definition at line 143 of file vgui_dialog_impl.h.

virtual void vgui_dialog_impl::set_ok_button ( const char *  msg) [inline, virtual, inherited]

Set the text on the OK button.

Reimplemented in vgui_gtk2_dialog_impl, and vgui_gtk_dialog_impl.

Definition at line 146 of file vgui_dialog_impl.h.

void vgui_dialog_impl::string_field ( const char *  txt,
vcl_string &  val 
) [inherited]

Add a vcl_string field to the dialog box.

Definition at line 125 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::string_field_widget ( const char *  ,
vcl_string &   
) [virtual, inherited]

Pointer to a GUI widget for a string field.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 244 of file vgui_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::text_element ( vgui_dialog_field field) [private]

Definition at line 543 of file vgui_wx_dialog_impl.cxx.

void vgui_dialog_impl::text_message ( const char *  txt) [inherited]

Add a text message to the dialog box.

Definition at line 218 of file vgui_dialog_impl.cxx.

void * vgui_dialog_impl::text_message_widget ( const char *  ) [virtual, inherited]

Pointer to a GUI widget for a text message.

Reimplemented in vgui_qt_dialog_impl, and vgui_qt_dialog_impl.

Definition at line 246 of file vgui_dialog_impl.cxx.

wxSizer * vgui_wx_dialog_impl::text_with_button_element ( vgui_dialog_field field,
wxTextCtrl *&  text_control,
const vcl_string &  button,
int  event_id 
) [private]

Definition at line 571 of file vgui_wx_dialog_impl.cxx.


Member Data Documentation

Definition at line 92 of file vgui_wx_dialog_impl.h.

vcl_string vgui_dialog_impl::cancel_button_text_ [protected, inherited]

Definition at line 182 of file vgui_dialog_impl.h.

wxDialog* vgui_wx_dialog_impl::dialog_ [private]

Pointer to wxWidgets dialog widget.

Definition at line 81 of file vgui_wx_dialog_impl.h.

vcl_vector<element> vgui_dialog_impl::elements [protected, inherited]

Definition at line 181 of file vgui_dialog_impl.h.

True if the dialog box is modal (true by default).

Definition at line 90 of file vgui_wx_dialog_impl.h.

Element count at the last dialog construction (i.e., ask()).

Definition at line 84 of file vgui_wx_dialog_impl.h.

The width of the largest label; used for graphical alignment.

Definition at line 87 of file vgui_wx_dialog_impl.h.

vcl_string vgui_dialog_impl::name [protected, inherited]

Definition at line 180 of file vgui_dialog_impl.h.

vcl_string vgui_dialog_impl::ok_button_text_ [protected, inherited]

Definition at line 183 of file vgui_dialog_impl.h.

vcl_string vgui_wx_dialog_impl::title_ [private]

Title of the dialog widget.

Definition at line 78 of file vgui_wx_dialog_impl.h.

bool vgui_dialog_impl::use_line_break [protected, inherited]

Definition at line 185 of file vgui_dialog_impl.h.


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