template<typename StateEnum>
class ml::FlagManager< StateEnum >
Enum-keyed boolean flag store.
FlagManager<StateEnum> maintains a std::map from StateEnum values to bool and exposes the standard five-method flag API. It is the backing store for the Flaggable trait (ml::Flag) and is used directly by CustomFlaggable for manifest-declared flags.
All flags default to false on first access.
Typical use via Flaggable (system flags)
@ FOCUSED
Component has keyboard focus (set by ClickableDispatcher).
@ HOVERED
Mouse is currently over this component (set by HoverableDispatcher).
@ DRAGGABLE
Enables drag handling in ComponentCore.
Typical use via ComponentWith (custom flags)
struct MyManifest {
enum class Flag { Selected, Disabled };
};
MyWidget w;
w.enableFlag(MyManifest::Flag::Selected);
if (w.checkFlag(MyManifest::Flag::Selected)) { ... }
Component< M, Traits... > ComponentWith
Alias for Component<M, Traits...>.
Flag
System-level boolean flags available on every ml::Core object.
- Template Parameters
-
| StateEnum | An enum class type used as flag keys. Typically ml::Flag for system flags, or a manifest Flag enum for custom flags. |
- See also
- Flaggable, CustomFlaggable, MultiCustomFlaggable, ml::Flag
FlagManager.
Definition at line 58 of file FlagManager.h.