Base class for all GUI components. More...
#include <GUIComponent.hpp>
Public Member Functions | |
virtual | ~GUIComponent (void) |
Destructor. More... | |
GUIComponent (void) | |
Constructor. More... | |
virtual | operator GtkWidget * (void) const |
Convert an instance of GUIComponent to GtkWidget* . More... | |
virtual GUIComponent & | move_to (const Point &p) |
Move to the specified coordinates. More... | |
virtual Size | natural_size (void) |
Get the natural size of a widget. More... | |
virtual Size | minimum_size (void) |
Get the minimum size of a widget. More... | |
virtual GUIComponent & | minimum_size (const Size &s) |
Set the minimum size of a widget. More... | |
virtual GUIComponent & | minimum_size (const int width, const int height) |
Set the minimum size of a widget. More... | |
virtual GUIComponent & | show (const bool toggle=true) |
Make the immediate component visible. More... | |
virtual GUIComponent & | show_all (const bool toggle=true) |
Make the component and all child components visible. More... | |
virtual GUIComponent & | hide (void) |
Hide a single component. More... | |
virtual bool | is_visible (void) const |
Determine if the widget is shown. More... | |
Static Public Member Functions | |
static WidgetToGUIComponentMap & | widget_to_gui_component_map (void) |
There are times when we have a pointer to a Gtk+ widget, and we need to map it back to the corresponding NOCL GUI component. More... | |
Public Attributes | |
Container * | parent |
Pointer to the parent to which we've been added. Will be nullptr if this object hasn't been added to a parent container. More... | |
GtkWidget * | gtk_widget |
Pointer to the underlying GTK framework. More... | |
Base class for all GUI components.
This corresponds to GtkWidget
.
|
virtual |
Destructor.
References gtk_widget, parent, nocl::Container::remove_child(), and widget_to_gui_component_map().
nocl::GUIComponent::GUIComponent | ( | void | ) |
Constructor.
|
virtual |
Convert an instance of GUIComponent to GtkWidget*
.
References gtk_widget.
|
virtual |
Move to the specified coordinates.
|
virtual |
Get the natural size of a widget.
References minimum_size().
Referenced by minimum_size().
|
virtual |
Get the minimum size of a widget.
References natural_size().
Referenced by minimum_size(), and natural_size().
|
virtual |
Set the minimum size of a widget.
References nocl::Size::height, minimum_size(), and nocl::Size::width.
|
virtual |
Set the minimum size of a widget.
|
virtual |
Make the immediate component visible.
[in] | toggle | Set to true to show the widget, or to false to hide the widget. |
References gtk_widget, and hide().
|
virtual |
Make the component and all child components visible.
[in] | toggle | Set to true to show the widget and all children, or to false to hide the widget. |
References gtk_widget, and hide().
|
virtual |
Hide a single component.
References gtk_widget.
Referenced by show(), and show_all().
|
virtual |
|
static |
There are times when we have a pointer to a Gtk+ widget, and we need to map it back to the corresponding NOCL GUI component.
For example, during event handling, Gtk+ tells us which Gtk+ widget generated the event, but we need the corresponding NOCL object so we can call the event handler with a reference to the correct object.
Referenced by nocl::ButtonHandler::handle_button_events_for(), and ~GUIComponent().
Container* nocl::GUIComponent::parent |
Pointer to the parent to which we've been added. Will be nullptr
if this object hasn't been added to a parent container.
Referenced by nocl::Container::add_child(), nocl::Grid::add_child(), nocl::Container::remove_child(), and ~GUIComponent().
GtkWidget* nocl::GUIComponent::gtk_widget |
Pointer to the underlying GTK framework.
Referenced by nocl::Box::Box(), nocl::ButtonBox::ButtonBox(), nocl::Grid::Grid(), nocl::ButtonHandler::handle_button_events_for(), hide(), nocl::FrameWindow::initialize(), nocl::Window::is_resizable(), is_visible(), nocl::Label::Label(), nocl::FrameWindow::operator GtkApplicationWindow *(), nocl::Box::operator GtkBox *(), nocl::Button::operator GtkButton *(), nocl::ButtonBox::operator GtkButtonBox *(), nocl::Container::operator GtkContainer *(), nocl::TextField::operator GtkEntry *(), nocl::Fixed::operator GtkFixed *(), nocl::Grid::operator GtkGrid *(), nocl::Label::operator GtkLabel *(), nocl::Layout::operator GtkLayout *(), nocl::SpinButton::operator GtkSpinButton *(), nocl::ToggleSwitch::operator GtkSwitch *(), nocl::TextEditor::operator GtkTextView *(), operator GtkWidget *(), nocl::Window::operator GtkWindow *(), nocl::Window::resizable(), show(), show_all(), nocl::SpinButton::SpinButton(), nocl::TextButton::TextButton(), nocl::TextEditor::TextEditor(), nocl::TextField::TextField(), nocl::ToggleSwitch::ToggleSwitch(), and ~GUIComponent().