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::UIList Class Reference

#include <UIList.hpp>

Inheritance diagram for AlgAudio::UIList:
AlgAudio::UIVBox AlgAudio::UIBox AlgAudio::UIContainerMultiple AlgAudio::UIWidget AlgAudio::UIMouseEventsBase AlgAudio::SubscriptionsManager AlgAudio::UIVisibilityBase

Public Member Functions

void AddItem (std::string id, std::string text)
 
void Clear ()
 
void SetColors (Color standard, Color highlight)
 
void SetHighlight (std::string id)
 
- Public Member Functions inherited from AlgAudio::UIBox
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)
 

Static Public Member Functions

static std::shared_ptr< UIListCreate (std::weak_ptr< Window > parent_window)
 
- Static Public Member Functions inherited from AlgAudio::UIVBox
static std::shared_ptr< UIVBoxCreate (std::weak_ptr< Window > parent_window)
 

Public Attributes

Signal< std::string > on_clicked
 
Signal< std::string > on_pointed
 
- 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
 

Additional Inherited Members

- Public Types inherited from AlgAudio::UIBox
enum  PackMode { TIGHT, WIDE }
 
- Public Types inherited from AlgAudio::UIVisibilityBase
enum  DisplayMode { DisplayMode::Visible, DisplayMode::EmptySpace, DisplayMode::Invisible }
 
- Protected Member Functions inherited from AlgAudio::UIVBox
virtual int ContradirectionalDimension (Size2D s) const override
 
virtual int ContradirectionalDimension (Point2D s) const override
 
virtual int DirectionalDimension (Size2D s) const override
 
virtual int DirectionalDimension (Point2D s) const override
 
virtual Point2D DirectionalPoint2D (int direction, int contra) const override
 
virtual Size2D DirectionalSize2D (int direction, int contra) const override
 
 UIVBox (std::weak_ptr< Window > parent_window)
 
- Protected Member Functions inherited from AlgAudio::UIBox
 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 ()
 
- 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 Function Documentation

void AlgAudio::UIList::AddItem ( std::string  id,
std::string  text 
)
void AlgAudio::UIList::Clear ( )
virtual

Reimplemented from AlgAudio::UIBox.

static std::shared_ptr<UIList> AlgAudio::UIList::Create ( std::weak_ptr< Window parent_window)
static
void AlgAudio::UIList::SetColors ( Color  standard,
Color  highlight 
)
void AlgAudio::UIList::SetHighlight ( std::string  id)

Member Data Documentation

Signal<std::string> AlgAudio::UIList::on_clicked
Signal<std::string> AlgAudio::UIList::on_pointed

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