A centered overlay dialog with optional title, content, and action buttons. More...
#include <Malena/Graphics/Controls/Modal.h>
Public Types | |
| using | Flag = ModalManifest::Flag |
| using | State = ModalManifest::State |
Public Member Functions | |
| Modal (const sf::Font &font=FontManager<>::getDefault()) | |
| ModalTheme & | applyFrom (const Theme &t) override |
Populate all fields from the global Theme token set. | |
| template<typename S> | |
| void | applySettings (const S &s) |
| template<typename St> | |
| void | applyStyle (const St &s) |
| template<typename T> | |
| void | applyTheme (const T &t) |
| sf::Color | getDisabledColor () const |
| sf::Color | getDisabledTextColor () const |
| sf::Color | getErrorColor () const |
| sf::Color | getFillColor () const |
| sf::Color | getFocusColor () const |
| const sf::Font * | getFont () const |
| unsigned int | getFontSize () const |
| unsigned int | getFontSizeSmall () const |
| sf::FloatRect | getGlobalBounds () const override |
| sf::Color | getHoverColor () const |
| sf::Color | getMutedColor () const |
| sf::Color | getOutlineColor () const |
| float | getOutlineThickness () const |
| float | getPadding () const |
| sf::Vector2f | getPosition () const override |
| float | getRadius () const |
| sf::Color | getTextColor () const |
| void | hide () |
| bool | isSettingsLocked () const |
Return true if applySettings() is currently blocked. | |
| bool | isThemeLocked () const |
Return true if this component ignores theme changes. | |
| bool | isVisible () const |
| void | lockSettings () |
Prevent applySettings() from taking effect. | |
| void | lockTheme () |
| Prevent automatic re-styling when the global theme changes. | |
| void | onConfirm (std::function< void()> cb) |
| Fired when the confirm button is clicked. | |
| void | onDismiss (std::function< void()> cb) |
| Fired when dismissed — cancel button, close button, or backdrop tap. | |
| void | setBackdropColor (const sf::Color &c) |
| void | setBodyTextColor (const sf::Color &c) |
| void | setBtnTextColor (const sf::Color &c) |
| void | setButtonBarHeight (float h) |
| void | setCancelColor (const sf::Color &c) |
| void | setCancelLabel (const std::string &label) |
| Label for the cancel button. Pass empty to show only the confirm button. | |
| void | setCloseBtnColor (const sf::Color &c) |
| void | setConfirmColor (const sf::Color &c) |
| void | setConfirmLabel (const std::string &label) |
| Label for the confirm button. Pass empty to hide the button bar. | |
| void | setContent (ml::Core &content) |
| Component drawn in the content area. The Modal positions it. | |
| void | setCornerRadius (float r) |
| void | setDisabledColor (const sf::Color &c) |
| void | setDisabledTextColor (const sf::Color &c) |
| void | setDismissOnBackdrop (bool v) |
| void | setErrorColor (const sf::Color &c) |
| void | setFillColor (const sf::Color &c) |
| void | setFocusColor (const sf::Color &c) |
| void | setFont (const sf::Font &&)=delete |
| void | setFont (const sf::Font &f) |
| void | setFontSize (unsigned int s) |
| void | setFontSizeSmall (unsigned int s) |
| void | setHoverColor (const sf::Color &c) |
| void | setModalSize (const sf::Vector2f &s) |
| void | setMutedColor (const sf::Color &c) |
| void | setOutlineColor (const sf::Color &c) |
| void | setOutlineThickness (float t) |
| void | setPadding (float p) |
| void | setPanelColor (const sf::Color &c) |
| void | setPosition (const sf::Vector2f &pos) override |
| void | setRadius (float r) |
| void | setSeparatorColor (const sf::Color &c) |
| void | setShowCloseButton (bool v) |
| void | setTextColor (const sf::Color &c) |
| void | setTitle (const std::string &title) |
| Text displayed in the title bar. Pass an empty string to hide it. | |
| void | setTitleBarHeight (float h) |
| void | setTitleTextColor (const sf::Color &c) |
| void | show () |
| void | showImmediate () |
| void | toggle () |
| void | unlockSettings () |
Allow applySettings() to take effect again. | |
| void | unlockTheme () |
| Resume reacting to global theme changes. | |
Protected Member Functions | |
| void | draw (sf::RenderTarget &target, sf::RenderStates states) const override |
| void | onThemeApplied (const Theme &theme) override |
Called by ThemeManager when the active theme changes. | |
A centered overlay dialog with optional title, content, and action buttons.
Modal renders a backdrop over the full window and a centered panel with an optional title bar, custom content area, and confirm/cancel buttons.
The panel is always centered in the window. All interaction — backdrop dismiss, close button, confirm, cancel — is handled internally and exposed via callbacks.
| using ml::Modal::Flag = ModalManifest::Flag |
| using ml::Modal::State = ModalManifest::State |
|
explicit |
|
inlineoverridevirtualinherited |
Populate all fields from the global Theme token set.
Subclasses call GraphicTheme::applyFrom(t) first, then apply their own token mappings.
Reimplemented from ml::ControlTheme.
Definition at line 23 of file ModalTheme.h.
|
inline |
|
inline |
|
inline |
|
overrideprotected |
|
inlinenodiscardinherited |
Definition at line 75 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 76 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 74 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 67 of file GraphicTheme.h.
|
inlinenodiscardinherited |
Definition at line 73 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 80 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 81 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 82 of file ControlTheme.h.
|
override |
|
inlinenodiscardinherited |
Definition at line 72 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 78 of file ControlTheme.h.
|
inlinenodiscardinherited |
Definition at line 68 of file GraphicTheme.h.
|
inlinenodiscardinherited |
Definition at line 69 of file GraphicTheme.h.
|
inlinenodiscardinherited |
Definition at line 79 of file ControlTheme.h.
|
override |
|
inlinenodiscardinherited |
Definition at line 70 of file GraphicTheme.h.
|
inlinenodiscardinherited |
Definition at line 77 of file ControlTheme.h.
| void ml::Modal::hide | ( | ) |
|
inlinenodiscardinherited |
Return true if applySettings() is currently blocked.
Definition at line 115 of file Themeable.h.
|
inlinenodiscardinherited |
Return true if this component ignores theme changes.
Definition at line 97 of file Themeable.h.
|
nodiscard |
|
inlineinherited |
Prevent applySettings() from taking effect.
Explicit individual setter calls still work normally. Only blocks the batch applySettings() path.
Definition at line 107 of file Themeable.h.
|
inlineinherited |
Prevent automatic re-styling when the global theme changes.
The component keeps its current visual state. Explicit individual setter calls still work normally.
Definition at line 85 of file Themeable.h.
| void ml::Modal::onConfirm | ( | std::function< void()> | cb | ) |
Fired when the confirm button is clicked.
| void ml::Modal::onDismiss | ( | std::function< void()> | cb | ) |
Fired when dismissed — cancel button, close button, or backdrop tap.
|
overrideprotectedvirtual |
Called by ThemeManager when the active theme changes.
Override in your component to re-style from the new theme. Always check isThemeLocked() first:
| theme | The newly active theme. |
Implements ml::Themeable.
|
inlineinherited |
Definition at line 42 of file ModalTheme.h.
|
inlineinherited |
Definition at line 45 of file ModalTheme.h.
|
inlineinherited |
Definition at line 49 of file ModalTheme.h.
|
inlineinherited |
Definition at line 26 of file ModalSettings.h.
|
inlineinherited |
Definition at line 48 of file ModalTheme.h.
| void ml::Modal::setCancelLabel | ( | const std::string & | label | ) |
Label for the cancel button. Pass empty to show only the confirm button.
|
inlineinherited |
Definition at line 50 of file ModalTheme.h.
|
inlineinherited |
Definition at line 47 of file ModalTheme.h.
| void ml::Modal::setConfirmLabel | ( | const std::string & | label | ) |
Label for the confirm button. Pass empty to hide the button bar.
| void ml::Modal::setContent | ( | ml::Core & | content | ) |
|
inlineinherited |
Definition at line 24 of file ModalSettings.h.
|
inlineinherited |
Definition at line 87 of file ControlTheme.h.
|
inlineinherited |
Definition at line 88 of file ControlTheme.h.
|
inlineinherited |
Definition at line 27 of file ModalSettings.h.
|
inlineinherited |
Definition at line 86 of file ControlTheme.h.
|
inlineinherited |
Definition at line 72 of file GraphicTheme.h.
|
inlineinherited |
Definition at line 85 of file ControlTheme.h.
|
deleteinherited |
|
inlineinherited |
Definition at line 92 of file ControlTheme.h.
|
inlineinherited |
Definition at line 94 of file ControlTheme.h.
|
inlineinherited |
Definition at line 95 of file ControlTheme.h.
|
inlineinherited |
Definition at line 84 of file ControlTheme.h.
|
inlineinherited |
Definition at line 23 of file ModalSettings.h.
|
inlineinherited |
Definition at line 90 of file ControlTheme.h.
|
inlineinherited |
Definition at line 73 of file GraphicTheme.h.
|
inlineinherited |
Definition at line 74 of file GraphicTheme.h.
|
inlineinherited |
Definition at line 91 of file ControlTheme.h.
|
inlineinherited |
Definition at line 43 of file ModalTheme.h.
|
override |
|
inlineinherited |
Definition at line 75 of file GraphicTheme.h.
|
inlineinherited |
Definition at line 46 of file ModalTheme.h.
|
inlineinherited |
Definition at line 28 of file ModalSettings.h.
|
inlineinherited |
Definition at line 89 of file ControlTheme.h.
| void ml::Modal::setTitle | ( | const std::string & | title | ) |
Text displayed in the title bar. Pass an empty string to hide it.
|
inlineinherited |
Definition at line 25 of file ModalSettings.h.
|
inlineinherited |
Definition at line 44 of file ModalTheme.h.
| void ml::Modal::show | ( | ) |
| void ml::Modal::showImmediate | ( | ) |
| void ml::Modal::toggle | ( | ) |
|
inlineinherited |
Allow applySettings() to take effect again.
Definition at line 112 of file Themeable.h.
|
inlineinherited |
Resume reacting to global theme changes.
Does NOT immediately re-apply the current theme — call ThemeManager::get() and pass it to onThemeApplied() manually if you want to re-sync immediately after unlocking.
Definition at line 94 of file Themeable.h.
Definition at line 13 of file ModalTheme.h.
Definition at line 16 of file ModalTheme.h.
|
inherited |
Definition at line 20 of file ModalTheme.h.
|
inherited |
Definition at line 16 of file ModalSettings.h.
Definition at line 19 of file ModalTheme.h.
Definition at line 21 of file ModalTheme.h.
Definition at line 18 of file ModalTheme.h.
|
inherited |
Definition at line 14 of file ModalSettings.h.
Definition at line 33 of file ControlTheme.h.
Definition at line 34 of file ControlTheme.h.
|
inherited |
Definition at line 17 of file ModalSettings.h.
Definition at line 32 of file ControlTheme.h.
Definition at line 43 of file GraphicTheme.h.
Definition at line 31 of file ControlTheme.h.
|
inherited |
Definition at line 39 of file ControlTheme.h.
|
inherited |
Definition at line 40 of file ControlTheme.h.
|
inherited |
Definition at line 41 of file ControlTheme.h.
Definition at line 30 of file ControlTheme.h.
|
inherited |
Definition at line 13 of file ModalSettings.h.
Definition at line 36 of file ControlTheme.h.
Definition at line 44 of file GraphicTheme.h.
|
inherited |
Definition at line 45 of file GraphicTheme.h.
|
inherited |
Definition at line 37 of file ControlTheme.h.
Definition at line 14 of file ModalTheme.h.
|
inherited |
Definition at line 46 of file GraphicTheme.h.
Definition at line 17 of file ModalTheme.h.
|
inherited |
Definition at line 18 of file ModalSettings.h.
|
inherited |
Definition at line 35 of file ControlTheme.h.
|
inherited |
Definition at line 15 of file ModalSettings.h.
|
inherited |
Definition at line 15 of file ModalTheme.h.