Trait that provides system-level boolean flag management.
More...
#include <Malena/Traits/State/Flaggable.h>
|
| using | State |
| | The enum type this manager stores flags for.
|
Trait that provides system-level boolean flag management.
Flaggable layers FlagManager<ml::Flag> onto the Trait base, giving any inheriting class the ability to read and write the framework's built-in ml::Flag values.
It is one of the three core traits automatically included in every ml::Core object (Subscribable, Flaggable, Positionable). Framework dispatchers check ml::Flag values to gate built-in behavior:
Usage
@ FOCUSED
Component has keyboard focus (set by ClickableDispatcher).
@ HOVERED
Mouse is currently over this component (set by HoverableDispatcher).
@ DRAGGABLE
Enables drag handling in ComponentCore.
For custom (manifest-declared) flags, see CustomFlaggable and MultiCustomFlaggable, which are composed into components separately.
- See also
- FlagManager, ml::Flag, Core, CustomFlaggable
Definition at line 53 of file Flaggable.h.
◆ State
The enum type this manager stores flags for.
Definition at line 63 of file FlagManager.h.
◆ checkFlag()
Return the current value of a flag.
Returns false for any flag that has never been explicitly set.
- Parameters
-
- Returns
true if the flag is enabled; false otherwise.
◆ disableFlag()
Set a flag to false.
- Parameters
-
| state | The flag to disable. |
◆ enableFlag()
Set a flag to true.
- Parameters
-
◆ setFlag()
Set a flag to an explicit value.
- Parameters
-
| state | The flag to modify. |
| status | true to enable, false to disable. |
◆ toggleFlag()
Flip a flag between true and false.
- Parameters
-
The documentation for this class was generated from the following file: