NOCL  v0.1.0-2524
Modern C++ Class Library for GUI Projects
nocl::GUIComponent Class Reference

Base class for all GUI components. More...

#include <GUIComponent.hpp>

Inheritance diagram for nocl::GUIComponent:
Collaboration diagram for nocl::GUIComponent:

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 GUIComponentmove_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 GUIComponentminimum_size (const Size &s)
 Set the minimum size of a widget. More...
 
virtual GUIComponentminimum_size (const int width, const int height)
 Set the minimum size of a widget. More...
 
virtual GUIComponentshow (const bool toggle=true)
 Make the immediate component visible. More...
 
virtual GUIComponentshow_all (const bool toggle=true)
 Make the component and all child components visible. More...
 
virtual GUIComponenthide (void)
 Hide a single component. More...
 
virtual bool is_visible (void) const
 Determine if the widget is shown. More...
 

Static Public Member Functions

static WidgetToGUIComponentMapwidget_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

Containerparent
 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...
 

Detailed Description

Base class for all GUI components.

This corresponds to GtkWidget.

See also
https://developer.gnome.org/gtk3/stable/GtkWidget.html

Constructor & Destructor Documentation

◆ ~GUIComponent()

nocl::GUIComponent::~GUIComponent ( void  )
virtual

Destructor.

References gtk_widget, parent, nocl::Container::remove_child(), and widget_to_gui_component_map().

Here is the call graph for this function:

◆ GUIComponent()

nocl::GUIComponent::GUIComponent ( void  )

Constructor.

Member Function Documentation

◆ operator GtkWidget *()

nocl::GUIComponent::operator GtkWidget * ( void  ) const
virtual

Convert an instance of GUIComponent to GtkWidget*.

References gtk_widget.

◆ move_to()

nocl::GUIComponent & nocl::GUIComponent::move_to ( const Point p)
virtual

Move to the specified coordinates.

Todo:

◆ natural_size()

nocl::Size nocl::GUIComponent::natural_size ( void  )
virtual

Get the natural size of a widget.

References minimum_size().

Referenced by minimum_size().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minimum_size() [1/3]

nocl::Size nocl::GUIComponent::minimum_size ( void  )
virtual

Get the minimum size of a widget.

References natural_size().

Referenced by minimum_size(), and natural_size().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minimum_size() [2/3]

nocl::GUIComponent & nocl::GUIComponent::minimum_size ( const Size s)
virtual

Set the minimum size of a widget.

References nocl::Size::height, minimum_size(), and nocl::Size::width.

Here is the call graph for this function:

◆ minimum_size() [3/3]

nocl::GUIComponent & nocl::GUIComponent::minimum_size ( const int  width,
const int  height 
)
virtual

Set the minimum size of a widget.

◆ show()

nocl::GUIComponent & nocl::GUIComponent::show ( const bool  toggle = true)
virtual

Make the immediate component visible.

Parameters
[in]toggleSet to true to show the widget, or to false to hide the widget.
See also
hide()
show_all()
is_visible()

References gtk_widget, and hide().

Here is the call graph for this function:

◆ show_all()

nocl::GUIComponent & nocl::GUIComponent::show_all ( const bool  toggle = true)
virtual

Make the component and all child components visible.

Parameters
[in]toggleSet to true to show the widget and all children, or to false to hide the widget.
See also
show()
hide()
is_visible()

References gtk_widget, and hide().

Here is the call graph for this function:

◆ hide()

nocl::GUIComponent & nocl::GUIComponent::hide ( void  )
virtual

Hide a single component.

See also
show()
show_all()
is_visible()

References gtk_widget.

Referenced by show(), and show_all().

Here is the caller graph for this function:

◆ is_visible()

bool nocl::GUIComponent::is_visible ( void  ) const
virtual

Determine if the widget is shown.

See also
show()
show_all()
hide()

References gtk_widget.

◆ widget_to_gui_component_map()

nocl::WidgetToGUIComponentMap & nocl::GUIComponent::widget_to_gui_component_map ( void  )
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.

Note
This is not intended for end-users to access directly!

Referenced by nocl::ButtonHandler::handle_button_events_for(), and ~GUIComponent().

Here is the caller graph for this function:

Member Data Documentation

◆ parent

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

◆ gtk_widget


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