libAlgAudio
v1.99-440-g08538e5-dirty
The development library for AlgAudio framework.
|
#include <UIContainer.hpp>
Public Member Functions | |
virtual void | Clear ()=0 |
virtual Point2D | GetChildPos (std::shared_ptr< UIWidget >) const =0 |
virtual void | OnChildFocusRequested (std::shared_ptr< UIWidget > w) override |
virtual bool | OnChildFocusTested (std::shared_ptr< const UIWidget > w) override |
virtual void | OnFocusChanged (bool has_focus) override |
virtual void | OnKeyboard (KeyData k) override |
virtual void | RequestFocus () override |
Public Member Functions inherited from AlgAudio::UIWidget | |
virtual void | CustomDraw (DrawContext &c)=0 |
virtual std::shared_ptr< UIWidget > | CustomFindChild (ID) const |
virtual void | CustomResize (Size2D) |
void | Draw (DrawContext &c) |
std::shared_ptr< UIWidget > | FindChild (ID search_id) |
Size2D | GetCurrentSize () const |
Point2D | GetPosInParent (std::shared_ptr< UIWidget > ancestor) |
Size2D | GetRequestedSize () const |
std::shared_ptr< Window > | GetWindow () |
bool | HasParent () |
bool | HasZeroArea () const |
void | Resize (Size2D s) |
void | SetBackColor (const Color &c) |
void | SetCustomSize (Size2D size) |
void | SetFrontColor (const Color &c) |
void | TriggerFakeResize () |
virtual | ~UIWidget () |
Public Member Functions inherited from AlgAudio::UIMouseEventsBase | |
virtual void | CustomMouseEnter (Point2D) |
virtual void | CustomMouseLeave (Point2D) |
virtual void | CustomMouseMotion (Point2D, Point2D) |
virtual bool | CustomMousePress (bool, MouseButton, Point2D) |
void | OnMouseEnter (Point2D) |
void | OnMouseLeave (Point2D) |
void | OnMouseMotion (Point2D, Point2D) |
bool | OnMousePress (bool, MouseButton, Point2D) |
void | SetFocusable (bool f) |
Public Member Functions inherited from AlgAudio::UIVisibilityBase | |
bool | IsDrawn () const |
bool | IsInvisible () const |
void | SetDisplayMode (DisplayMode m) |
Protected Member Functions | |
UIContainerMultiple (std::weak_ptr< Window > parent_window) | |
Protected Member Functions inherited from AlgAudio::UIWidget | |
bool | IsFocused () const |
bool | IsRoot () const |
virtual void | OnChildRequestedSizeChanged () |
virtual void | OnChildVisibilityChanged () |
void | SetMinimalSize (Size2D) |
void | SetNeedsRedrawing () |
UIWidget (std::weak_ptr< Window > parent_window) | |
Protected Member Functions inherited from AlgAudio::UIMouseEventsBase | |
UIMouseEventsBase () | |
Protected Member Functions inherited from AlgAudio::UIVisibilityBase | |
UIVisibilityBase () | |
Protected Attributes | |
std::shared_ptr< UIWidget > | focused_child = nullptr |
Protected Attributes inherited from AlgAudio::UIWidget | |
Size2D | current_size = Size2D(0,0) |
std::weak_ptr< Window > | window |
Protected Attributes inherited from AlgAudio::UIMouseEventsBase | |
bool | focusable = true |
bool | pointed = false |
bool | pressed = false |
Protected Attributes inherited from AlgAudio::UIVisibilityBase | |
DisplayMode | display_mode = DisplayMode::Visible |
Additional Inherited Members | |
Public Types inherited from AlgAudio::UIVisibilityBase | |
enum | DisplayMode { DisplayMode::Visible, DisplayMode::EmptySpace, DisplayMode::Invisible } |
Public Attributes inherited from AlgAudio::UIWidget | |
bool | debug_this_widget = false |
std::weak_ptr< UIWidget > | parent |
ID | widget_id |
Public Attributes inherited from AlgAudio::UIMouseEventsBase | |
Point2D | last_mouse_pos |
Signal | on_clicked |
Signal< Point2D > | on_motion |
Signal< bool > | on_pointed |
Signal< bool > | on_pressed |
Public Attributes inherited from AlgAudio::UIVisibilityBase | |
Signal | on_display_mode_changed |
Public Attributes inherited from AlgAudio::SubscriptionsManager | |
SubscriptionList | subscriptions |
This is an interface for widgets which act as a container for multiple children, like UIBox or UILayered.
|
inlineprotected |
|
pure virtual |
Implemented in AlgAudio::CanvasView, AlgAudio::UIBox, AlgAudio::UIList, and AlgAudio::UILayered.
|
pure virtual |
Implemented in AlgAudio::CanvasView, AlgAudio::UIBox, and AlgAudio::UILayered.
|
inlineoverridevirtual |
This method gets called when a child widget tries to catch focus. Multiple container widgets should react on it by remembering which widget is the focused one, and passing keyboard events to it. Single container widgets can ignore this signal, as they have no choice as to whom they shall pass such events to.
Argument: the child that is requesting focus.
Reimplemented from AlgAudio::UIWidget.
|
inlineoverridevirtual |
This method is called by a child when it has to ask the parent whether it is the focused child. This is necessary for performing IsFocused() test. Containers should override this method.
Reimplemented from AlgAudio::UIWidget.
|
inlineoverridevirtual |
This method is called when the widget focus state has changed. The only param states whether this widget has now the focus
Reimplemented from AlgAudio::UIWidget.
|
inlineoverridevirtual |
Reimplemented from AlgAudio::UIWidget.
Reimplemented in AlgAudio::CanvasView.
|
inlineoverridevirtual |
This method is called by the widget when it wishes to grab focus, for example a text entry field should call this method when it's clicked.
Reimplemented from AlgAudio::UIWidget.
|
protected |