#include <omgui/panel.h>
Inherits omgui::Widget.
Inherited by omgui::Notebook, and omgui::TableLayout.
Panels can have two states, orphaned or not orphaned. An orphaned panel is defined to be a Panel with no parent. Orphaned Panels will always be hidden and calls to show() on an orphaned panel will be ignored.
Public Types | |
typedef omgui::api::Panel | api_type |
typedef omgui::event_traits < Widget > | event_traits |
Public Member Functions | |
void | add_ref () |
Increments the reference count for this Widget. | |
omgui::Connection | connect (event_id event, SlotBase *slot, int priority=SIGNAL_PRIORITY_NORMAL) |
Connects an event using this Widget's object_id. Calls omgui::Manager::connect with supplied arguments. | |
void | destroy () |
Destroys this widget freeing all resources. | |
void | disable () |
void | enable (bool e) |
Enables or disables the widget. Disabled widgets cannot recieve user input. | |
void * | get_handle () const |
object_id | get_id () const |
api_type * | get_impl () const |
omgui::Size | get_max_size () const |
Returns the maximum size of the Widget. A value of 0 for width or height indicates that there is no maximum size in that direction. | |
omgui::Size | get_min_size () const |
Returns the minimum size of the Widget. A value of 0 for width or height indicates that there is no minimum size in that direction. | |
omgui::Size | get_natural_size () const |
Pointer< Panel > | get_parent () const |
Pointer< Window > | get_parent_window () const |
omgui::Point | get_position () const |
omgui::Rect | get_rect () const |
omgui::Size | get_size () const |
void | hide () |
void | invalidate_cached_child_values () |
Invalidates any cached child widget values which include minimum, maximum and natural sizes. These values can be cached by layout manager implementations for improved performance but must be invalidated when the value in the child widget changes so that the cached value can be updated. | |
bool | is_enabled () const |
Determines whether or not the widget is enabled. If any of a widget's parents are disabled, the widget is considered disabled. | |
bool | is_hidden () const |
Returns whether or not this Widget has been hidden. | |
bool | is_orphaned () const |
bool | is_shown () const |
Returns whether or not the Widget is visible on the screen. If the Widget and all of its parent Widgets are not hidden then the Widget is shown. | |
void | release () |
Decrements the reference count for this Widget. Once the count reaches 0 the Widget will be deleted. | |
void | remove_child (Widget *child) |
void | set_max_size (const omgui::Size &s) |
Sets the maximum size of the widget. A value of 0 for width or height indicates that there is no maximum size in that direction. | |
void | set_min_size (const omgui::Size &s) |
Sets the minimum size of the Widget. A value of 0 for width or height indicates that there is no minimum size in that direction. If the Widget's current size is less than the newly specified minimum size, the object will be resized so that its size is equal to the newly specified minimum size. | |
void | set_natural_size (const omgui::Size &s) |
void | set_position (const omgui::Point &p) |
Sets the position of a widget. If the widget is a TopLevel widget, the position value is in screen coordinates, otherwise it is client coordinates. | |
void | set_rect (const omgui::Rect &r) |
Sets both the position and the size of the widget. If the widget is a TopLevel widget, the value is in screen coordinates, otherwise it is client coordinates. | |
void | set_size (const omgui::Size &s) |
Sets the absolute size of this widget. If the widget is a TopLevel widget, the value is in screen coordinates, otherwise it is client coordinates. | |
void | show (bool show=true, bool focus=false) |
Shows or hides a widget. | |
void | update_layout () |
Refreshes the layout by recalculating widget sizes and positions. Call after the visibility, layout information, mininum or maximum size of a child widget has changed, or if child widgets have been removed or added. | |
Protected Member Functions | |
Panel (object_id id, api_type *impl) | |
Private Attributes | |
api_type * | m_impl |
typedef omgui::event_traits<Widget> omgui::Widget::event_traits [inherited] |
Reimplemented in omgui::Button, omgui::Notebook, omgui::TextWidget, and omgui::Window.
void Widget::add_ref | ( | ) | [virtual, inherited] |
omgui::Connection Widget::connect | ( | event_id | event, | |
SlotBase * | slot, | |||
int | priority = SIGNAL_PRIORITY_NORMAL | |||
) | [inherited] |
Connects an event using this Widget's object_id. Calls omgui::Manager::connect with supplied arguments.
void Widget::destroy | ( | ) | [inherited] |
Destroys this widget freeing all resources.
void Widget::disable | ( | ) | [inherited] |
void Widget::enable | ( | bool | e | ) | [inherited] |
Enables or disables the widget. Disabled widgets cannot recieve user input.
void * Widget::get_handle | ( | ) | const [inherited] |
object_id omgui::Object::get_id | ( | ) | const [inherited] |
Panel::api_type * omgui::Panel::get_impl | ( | ) | const |
omgui::Size Widget::get_max_size | ( | ) | const [inherited] |
Returns the maximum size of the Widget. A value of 0 for width or height indicates that there is no maximum size in that direction.
omgui::Size Widget::get_min_size | ( | ) | const [inherited] |
Returns the minimum size of the Widget. A value of 0 for width or height indicates that there is no minimum size in that direction.
omgui::Size Widget::get_natural_size | ( | ) | const [inherited] |
omgui::Point Widget::get_position | ( | ) | const [inherited] |
omgui::Rect Widget::get_rect | ( | ) | const [inherited] |
omgui::Size Widget::get_size | ( | ) | const [inherited] |
void Widget::hide | ( | ) | [inherited] |
void omgui::Panel::invalidate_cached_child_values | ( | ) |
Invalidates any cached child widget values which include minimum, maximum and natural sizes. These values can be cached by layout manager implementations for improved performance but must be invalidated when the value in the child widget changes so that the cached value can be updated.
bool Widget::is_enabled | ( | ) | const [inherited] |
Determines whether or not the widget is enabled. If any of a widget's parents are disabled, the widget is considered disabled.
bool Widget::is_hidden | ( | ) | const [inherited] |
Returns whether or not this Widget has been hidden.
If show(true) has been called the Widget is considered not to be hidden. If show(false) or hide() have been called the Widget is considered hidden. A Widget is also considered hidden if it was created without specifying show in its initializer. The hidden state of the parent Widget has no effect on the hidden state of this Widget.
bool omgui::Panel::is_orphaned | ( | ) | const |
bool Widget::is_shown | ( | ) | const [inherited] |
void Widget::release | ( | ) | [virtual, inherited] |
Decrements the reference count for this Widget. Once the count reaches 0 the Widget will be deleted.
Implements omgui::RefCountable.
void omgui::Panel::remove_child | ( | Widget * | child | ) |
Removes a child window from this panel. This function will automatically be called by the library when needed. You should never have to call it yourself.
void Widget::set_max_size | ( | const omgui::Size & | s | ) | [inherited] |
Sets the maximum size of the widget. A value of 0 for width or height indicates that there is no maximum size in that direction.
If the Widget's current size is greater than the newly specified maximum size, the object will be resized so that its size is equal to the newly specified maximum size.
void Widget::set_min_size | ( | const omgui::Size & | s | ) | [inherited] |
Sets the minimum size of the Widget. A value of 0 for width or height indicates that there is no minimum size in that direction. If the Widget's current size is less than the newly specified minimum size, the object will be resized so that its size is equal to the newly specified minimum size.
If a child of this Widget has a minimum size larger than the minimum size of this Widget, the minimum size of this Widget will be effectively equal to the minimum size of that child Widget. This has an important implication for Windows and their content panels. If a Window has a minimum size of X, and a Panel A with minimum size Y > X is specified as the Window's content panel, the minimum content size of the Window is effectively Y. If a new Panel B with minimum size Z < Y is specified as the Window's content panel, the effective minimum content size for the window will be Y.
If an Widget is specified with a minimum size that is larger than the Widgets maximum size, or if a maximum size is later specified which is smaller than an existing minimum size, the minimum size will always take precedence over the maximal size. A minimum size of (100,100) and a maximal size of (50,50) results in a minimum size of (100,100) and a maximum size of (100,100). If the minimum size is later changed to (25,25), the maximum size is again (50,50) and the minimum size is (25,25). This case also applies to Window's and their content panels. A content panel's minimum size always takes precedence over a Window's maximum content size.
void Widget::set_natural_size | ( | const omgui::Size & | s | ) | [inherited] |
Sets the natural size for this widget. The natural size is used by layout managers to determine how large to make widgets which are not expanded. The default natural size has a width and height of 0, which means that an acceptible natural size will be calculated for the width and height. You can override the calculated value by specifying your own value for the width and or height.
void Widget::set_position | ( | const omgui::Point & | p | ) | [inherited] |
Sets the position of a widget. If the widget is a TopLevel widget, the position value is in screen coordinates, otherwise it is client coordinates.
void Widget::set_rect | ( | const omgui::Rect & | r | ) | [inherited] |
Sets both the position and the size of the widget. If the widget is a TopLevel widget, the value is in screen coordinates, otherwise it is client coordinates.
void Widget::set_size | ( | const omgui::Size & | s | ) | [inherited] |
Sets the absolute size of this widget. If the widget is a TopLevel widget, the value is in screen coordinates, otherwise it is client coordinates.
If the size value specified is smaller than the minimum size or larger than the maximum size, the size value actually set will be equal to the minimum size or maximum size respectively.
void Widget::show | ( | bool | show = true , |
|
bool | focus = false | |||
) | [inherited] |
Shows or hides a widget.
Reimplemented in omgui::TopLevel.
void omgui::Panel::update_layout | ( | ) |
Refreshes the layout by recalculating widget sizes and positions. Call after the visibility, layout information, mininum or maximum size of a child widget has changed, or if child widgets have been removed or added.
api_type* omgui::Panel::m_impl [private] |