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

#include <ModuleSelector.hpp>

Inheritance diagram for AlgAudio::ModuleSelector:
AlgAudio::UIHBox AlgAudio::UIBox AlgAudio::UIContainerMultiple AlgAudio::UIWidget AlgAudio::UIMouseEventsBase AlgAudio::SubscriptionsManager AlgAudio::UIVisibilityBase

Public Member Functions

void Expose ()
 
void Hide ()
 
bool IsExposed ()
 
void Populate ()
 
- Public Member Functions inherited from AlgAudio::UIBox
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)
 

Static Public Member Functions

static std::shared_ptr
< ModuleSelector
Create (std::weak_ptr< Window > parent_window)
 
- Static Public Member Functions inherited from AlgAudio::UIHBox
static std::shared_ptr< UIHBoxCreate (std::weak_ptr< Window > parent_window)
 

Public Attributes

Signal< std::string > on_complete
 
- 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::UIHBox
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
 
 UIHBox (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
 

Detailed Description

A UI element that displays all available modules grouped by collections, lets the user navigate through hierarchy, and select one of them.

Member Function Documentation

static std::shared_ptr<ModuleSelector> AlgAudio::ModuleSelector::Create ( std::weak_ptr< Window parent_window)
static
void AlgAudio::ModuleSelector::Expose ( )

Shows the menu with an animation.

void AlgAudio::ModuleSelector::Hide ( )

Hides the menu with an animation.

bool AlgAudio::ModuleSelector::IsExposed ( )
inline
void AlgAudio::ModuleSelector::Populate ( )
inline

Member Data Documentation

Signal<std::string> AlgAudio::ModuleSelector::on_complete

Subscriver param: selected template full ID, or empty string if none. The event happens both when user selects a module, or when resigns by clicking outside the menu.


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