wxWidgets implementation of vgui_dialog_impl. More...
#include <vgui_wx_dialog_impl.h>
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< element > | elements |
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_adaptor * | adaptor_ |
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.
enum vgui_dialog_impl::element_type [inherited] |
Enum of possible element types.
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.
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.
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.
vgui_wx_adaptor* vgui_wx_dialog_impl::adaptor_ [private] |
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.
bool vgui_wx_dialog_impl::is_modal_ [private] |
True if the dialog box is modal (true by default).
Definition at line 90 of file vgui_wx_dialog_impl.h.
vcl_size_t vgui_wx_dialog_impl::last_element_count_ [private] |
Element count at the last dialog construction (i.e., ask()).
Definition at line 84 of file vgui_wx_dialog_impl.h.
int vgui_wx_dialog_impl::max_label_width_ [private] |
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.