libAlgAudio  v1.99-440-g08538e5-dirty
The development library for AlgAudio framework.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AlgAudio::UIBox Class Referenceabstract

#include <UIBox.hpp>

Inheritance diagram for AlgAudio::UIBox:
AlgAudio::UIContainerMultiple AlgAudio::UIWidget AlgAudio::UIMouseEventsBase AlgAudio::SubscriptionsManager AlgAudio::UIVisibilityBase AlgAudio::UIHBox AlgAudio::UIVBox AlgAudio::ModuleSelector AlgAudio::UIPathSelector AlgAudio::UISpinEntry AlgAudio::UIList

Public Types

enum  PackMode { TIGHT, WIDE }
 
- Public Types inherited from AlgAudio::UIVisibilityBase
enum  DisplayMode { DisplayMode::Visible, DisplayMode::EmptySpace, DisplayMode::Invisible }
 

Public Member Functions

virtual void Clear () override
 
virtual void CustomDraw (DrawContext &c) override __attribute__((hot))
 
virtual std::shared_ptr< UIWidgetCustomFindChild (ID id) const override
 
virtual void CustomMouseEnter (Point2D) override
 
virtual void CustomMouseLeave (Point2D) override
 
virtual void CustomMouseMotion (Point2D p1, Point2D p2) override
 
virtual bool CustomMousePress (bool down, MouseButton b, Point2D) override
 
virtual void CustomResize (Size2D) override
 
virtual Point2D GetChildPos (std::shared_ptr< UIWidget >) const override
 
void Insert (std::shared_ptr< UIWidget > w, PackMode m)
 
virtual void OnChildRequestedSizeChanged () override
 
virtual void OnChildVisibilityChanged () override
 
void SetPadding (unsigned int padding)
 
- Public Member Functions inherited from AlgAudio::UIContainerMultiple
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
void Draw (DrawContext &c)
 
std::shared_ptr< UIWidgetFindChild (ID search_id)
 
Size2D GetCurrentSize () const
 
Point2D GetPosInParent (std::shared_ptr< UIWidget > ancestor)
 
Size2D GetRequestedSize () const
 
std::shared_ptr< WindowGetWindow ()
 
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
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

virtual int ContradirectionalDimension (Size2D s) const =0
 
virtual int ContradirectionalDimension (Point2D s) const =0
 
virtual int DirectionalDimension (Size2D s) const =0
 
virtual int DirectionalDimension (Point2D s) const =0
 
virtual Point2D DirectionalPoint2D (int direction, int contra) const =0
 
virtual Size2D DirectionalSize2D (int direction, int contra) const =0
 
 UIBox (std::weak_ptr< Window > parent_window)
 
- Protected Member Functions inherited from AlgAudio::UIContainerMultiple
 UIContainerMultiple (std::weak_ptr< Window > parent_window)
 
- Protected Member Functions inherited from AlgAudio::UIWidget
bool IsFocused () const
 
bool IsRoot () const
 
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 ()
 

Additional Inherited Members

- Public Attributes inherited from AlgAudio::UIWidget
bool debug_this_widget = false
 
std::weak_ptr< UIWidgetparent
 
ID widget_id
 
- Public Attributes inherited from AlgAudio::UIMouseEventsBase
Point2D last_mouse_pos
 
Signal on_clicked
 
Signal< Point2Don_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
 
- Protected Attributes inherited from AlgAudio::UIContainerMultiple
std::shared_ptr< UIWidgetfocused_child = nullptr
 
- Protected Attributes inherited from AlgAudio::UIWidget
Size2D current_size = Size2D(0,0)
 
std::weak_ptr< Windowwindow
 
- 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
 

Member Enumeration Documentation

Enumerator
TIGHT 
WIDE 

Constructor & Destructor Documentation

AlgAudio::UIBox::UIBox ( std::weak_ptr< Window parent_window)
protected

Member Function Documentation

virtual void AlgAudio::UIBox::Clear ( )
overridevirtual

Implements AlgAudio::UIContainerMultiple.

Reimplemented in AlgAudio::UIList.

virtual int AlgAudio::UIBox::ContradirectionalDimension ( Size2D  s) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual int AlgAudio::UIBox::ContradirectionalDimension ( Point2D  s) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual void AlgAudio::UIBox::CustomDraw ( DrawContext c)
overridevirtual

Implements AlgAudio::UIWidget.

virtual std::shared_ptr<UIWidget> AlgAudio::UIBox::CustomFindChild ( ID  id) const
overridevirtual

Reimplemented from AlgAudio::UIWidget.

virtual void AlgAudio::UIBox::CustomMouseEnter ( Point2D  )
overridevirtual

Reimplemented from AlgAudio::UIMouseEventsBase.

virtual void AlgAudio::UIBox::CustomMouseLeave ( Point2D  )
overridevirtual

Reimplemented from AlgAudio::UIMouseEventsBase.

virtual void AlgAudio::UIBox::CustomMouseMotion ( Point2D  p1,
Point2D  p2 
)
overridevirtual

Reimplemented from AlgAudio::UIMouseEventsBase.

virtual bool AlgAudio::UIBox::CustomMousePress ( bool  ,
MouseButton  ,
Point2D   
)
overridevirtual

This call is supposed to return TRUE iff it's the end of the click chain, i.e. the event was NOT passed to another widget. It must return FALSE if the event was passed to any child widget.

Reimplemented from AlgAudio::UIMouseEventsBase.

virtual void AlgAudio::UIBox::CustomResize ( Size2D  )
overridevirtual

Reimplemented from AlgAudio::UIWidget.

virtual int AlgAudio::UIBox::DirectionalDimension ( Size2D  s) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual int AlgAudio::UIBox::DirectionalDimension ( Point2D  s) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual Point2D AlgAudio::UIBox::DirectionalPoint2D ( int  direction,
int  contra 
) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual Size2D AlgAudio::UIBox::DirectionalSize2D ( int  direction,
int  contra 
) const
protectedpure virtual

Implemented in AlgAudio::UIHBox, and AlgAudio::UIVBox.

virtual Point2D AlgAudio::UIBox::GetChildPos ( std::shared_ptr< UIWidget ) const
overridevirtual
void AlgAudio::UIBox::Insert ( std::shared_ptr< UIWidget w,
PackMode  m 
)
virtual void AlgAudio::UIBox::OnChildRequestedSizeChanged ( )
overridevirtual

This method will be called by a child when it changes the desired size.

Reimplemented from AlgAudio::UIWidget.

virtual void AlgAudio::UIBox::OnChildVisibilityChanged ( )
overridevirtual

This method will be called by a child when it changes its visibility.

Reimplemented from AlgAudio::UIWidget.

void AlgAudio::UIBox::SetPadding ( unsigned int  padding)

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