Lysa UI  0.0
Lysa UI —UI components for the Lysa Engine
ModalDialog Class Reference

Detailed Description

A DialogBox displayed in its own modal Window centered on the screen.

+ Inheritance diagram for ModalDialog:

Public Member Functions

 ModalDialog (const std::string &title, const std::vector< std::string > &buttons={}, float width=DialogBox::DEFAULT_WIDTH, float height=DialogBox::DEFAULT_HEIGHT, const std::string &resource="")
 
void add (const Window &parent)
 
void add (const Widget &parent)
 
DialogBoxgetDialog () const
 
void setButtonSize (const float width, const float height)
 
- Public Member Functions inherited from Window
 Window (const Rect &rect)
 
 ~Window () override = default
 
bool isAttached () const
 
void setResizeableBorders (const uint32 borders)
 
auto getResizeableBorders () const
 
auto isModal () const
 
void setModal (const bool modal)
 
StylegetStyle () const
 
void setStyle (const std::shared_ptr< Style > &style)
 
WidgetgetWidget () const
 
void setWidget (std::shared_ptr< Widget > child=nullptr, const std::string &resources="", float padding=0)
 
template<typename T , typename... Args>
std::shared_ptr< T > create (const std::string &resource, const Alignment alignment, Args &&...args)
 
template<typename T , typename... Args>
std::shared_ptr< T > create (const Alignment alignment, Args &&...args)
 
template<typename T >
std::shared_ptr< T > add (const std::shared_ptr< T > &child, const Alignment alignment, const std::string &resource="", const bool overlap=false) const
 
void remove (const std::shared_ptr< Widget > &child) const
 
void setFocusedWidget (const std::shared_ptr< Widget > &widget)
 
auto getWidth () const
 
auto getHeight () const
 
void setRect (const Rect &newRect)
 
void setWidth (float width)
 
void setHeight (float height)
 
void setPos (float x, float y)
 
void setPos (const float2 &pos)
 
float getX () const
 
float getY () const
 
void setX (float x)
 
void setY (float y)
 
const auto & getRect () const
 
float getAspectRatio () const
 
auto isVisible () const
 
void setVisible (bool isVisible)
 
void hide ()
 
void show ()
 
void setTransparency (float alpha)
 
virtual void onAttach ()
 
virtual void onDetach ()
 
virtual void onShow ()
 
virtual void onHide ()
 
virtual void onResize ()
 
virtual void onMove ()
 
virtual bool onKeyDown (Key key)
 
virtual bool onTextInput (const std::string &text)
 
virtual bool onKeyUp (Key key)
 
virtual bool onMouseDown (MouseButton button, float x, float y)
 
virtual bool onMouseUp (MouseButton button, float x, float y)
 
virtual bool onMouseMove (uint32 buttonsState, float x, float y)
 
virtual void onGotFocus ()
 
virtual void onLostFocus ()
 
void setMinimumSize (float width, float height)
 
void setMaximumSize (float width, float height)
 
auto getMinimumWidth () const
 
auto getMinimumHeight () const
 
auto getMaximumWidth () const
 
auto getMaximumHeight () const
 
std::shared_ptr< Font > getFont () const
 
void setFont (const std::shared_ptr< Font > &font)
 
float getFontScale () const
 
void setFontScale (float fontScale)
 
void refresh () const
 
void attach (WindowManager *windowManager)
 
void close ()
 
Vector2DRenderer & getRenderer () const
 
RenderingWindow & getRenderingWindow () const
 
WindowManagergetWindowManager () const
 
void subscribe (const event_type &type, unique_id id, EventHandlerCallback callback)
 
void subscribe (const event_type &type, EventHandlerCallback callback)
 
void unsubscribe (unique_id id)
 

Additional Inherited Members

- Public Types inherited from Window
enum  ResizeableBorder {
  RESIZEABLE_NONE = 0b0000, RESIZEABLE_LEFT = 0b0001, RESIZEABLE_RIGHT = 0b0010, RESIZEABLE_TOP = 0b0100,
  RESIZEABLE_BOTTOM = 0b1000
}
 

Constructor & Destructor Documentation

ModalDialog ( const std::string &  title,
const std::vector< std::string > &  buttons = {},
float  width = DialogBox::DEFAULT_WIDTH,
float  height = DialogBox::DEFAULT_HEIGHT,
const std::string &  resource = "" 
)

Creates a dialog centered on the screen, displayed by open().

Parameters
titleText displayed at the top of the dialog.
buttonsLabels of the buttons, displayed left to right.
widthWidth of the dialog, in screen units.
heightHeight of the dialog, in screen units.
resourceResource string for the box drawn around the dialog.

Member Function Documentation

void add ( const Widget parent)

Attach the dialog (a parent is needed to find the current WindowManager)

void add ( const Window parent)

Attach the dialog (a parent is needed to find the current WindowManager)

DialogBox& getDialog ( ) const

Returns the dialog box displayed by the popup.

void setButtonSize ( const float  width,
const float  height 
)
inline

Changes the size of the buttons.