Loading...
Searching...
No Matches
ml::TextInputManifest Class Reference

Shared manifest for TextInput and TextArea. More...

#include <Malena/Graphics/Text/TextInput.h>

Inheritance diagram for ml::TextInputManifest:
[legend]

Public Types

enum class  Flag { DISABLED , READONLY , DISABLED , READONLY }
enum class  Flag { DISABLED , READONLY , DISABLED , READONLY }
 Runtime boolean flags. More...
enum class  State {
  IDLE , FOCUSED , DISABLED , ERROR ,
  IDLE , FOCUSED , DISABLED , ERROR
}
enum class  State {
  IDLE , FOCUSED , DISABLED , ERROR ,
  IDLE , FOCUSED , DISABLED , ERROR
}
 Visual interaction states. More...

Static Public Member Functions

template<typename ConfigType, typename ValueType>
static const ValueType & getConfig (ConfigType config)
template<typename Asset>
static const std::string & getFilepath (const Asset &asset)
template<typename EnumType>
static const ThemeTaggetTheme (EnumType key)
 Retrieve a theme stored via set(key, ThemeDerived{}).

Static Protected Member Functions

template<typename E, typename V, typename... Args>
static void set (E key, V &&value, Args &&... args)
 Register multiple key-value pairs in one call.
template<typename EnumType>
static void set (EnumType key, const char *filepath)
 Register an asset file path.
template<typename EnumType>
static void set (EnumType key, std::string value)
 Register a string configuration value.
template<typename EnumType, typename T>
static std::enable_if_t< std::is_base_of_v< ThemeTag, std::decay_t< T > > > set (EnumType key, T &&value)
 Register a Theme-derived value.
template<typename EnumType, typename ValueType>
static std::enable_if_t< !std::is_same_v< std::decay_t< ValueType >, const char * > &&!std::is_same_v< std::decay_t< ValueType >, std::string > &&!std::is_base_of_v< ThemeTag, std::decay_t< ValueType > > > set (EnumType key, ValueType &&value)
 Register a typed configuration value (int, float, struct, etc.).

Detailed Description

Shared manifest for TextInput and TextArea.

Definition at line 28 of file TextInput.h.

Member Enumeration Documentation

◆ Flag [1/2]

enum class ml::TextInputManifest::Flag
strong
Enumerator
DISABLED 
READONLY 
DISABLED 
READONLY 

Definition at line 31 of file TextInput.h.

◆ Flag [2/2]

enum class ml::TextInputManifest::Flag
strong

Runtime boolean flags.

Flag Effect
DISABLED Field cannot be interacted with
READONLY Field can be focused but not edited
Enumerator
DISABLED 
READONLY 
DISABLED 
READONLY 

Definition at line 39 of file TextInputBase.h.

◆ State [1/2]

enum class ml::TextInputManifest::State
strong
Enumerator
IDLE 
FOCUSED 
DISABLED 
ERROR 
IDLE 
FOCUSED 
DISABLED 
ERROR 

Definition at line 32 of file TextInput.h.

◆ State [2/2]

enum class ml::TextInputManifest::State
strong

Visual interaction states.

State Meaning
IDLE Default resting state
FOCUSED Field has keyboard focus
DISABLED Field cannot be interacted with
ERROR Field is in an error / invalid state
Enumerator
IDLE 
FOCUSED 
DISABLED 
ERROR 
IDLE 
FOCUSED 
DISABLED 
ERROR 

Definition at line 51 of file TextInputBase.h.

Member Function Documentation

◆ getConfig()

template<typename ConfigType, typename ValueType>
const ValueType & ml::Manifest::getConfig ( ConfigType config)
staticinherited

◆ getFilepath()

template<typename Asset>
const std::string & ml::Manifest::getFilepath ( const Asset & asset)
staticinherited

◆ getTheme()

template<typename EnumType>
const ThemeTag & ml::Manifest::getTheme ( EnumType key)
staticinherited

Retrieve a theme stored via set(key, ThemeDerived{}).

Called internally by ThemeManager::apply(). Returns a reference to the stored theme cast to ThemeTagThemeManager casts to Theme& from there.

◆ set() [1/5]

template<typename E, typename V, typename... Args>
void ml::Manifest::set ( E key,
V && value,
Args &&... args )
staticprotectedinherited

Register multiple key-value pairs in one call.

◆ set() [2/5]

template<typename EnumType>
void ml::Manifest::set ( EnumType key,
const char * filepath )
staticprotectedinherited

Register an asset file path.

◆ set() [3/5]

template<typename EnumType>
void ml::Manifest::set ( EnumType key,
std::string value )
staticprotectedinherited

Register a string configuration value.

◆ set() [4/5]

template<typename EnumType, typename T>
std::enable_if_t< std::is_base_of_v< ThemeTag, std::decay_t< T > > > ml::Manifest::set ( EnumType key,
T && value )
staticprotectedinherited

Register a Theme-derived value.

Stored as shared_ptr<ThemeTag> so Theme.h is not needed in Manifest.tpp. ThemeManager::apply() casts back to Theme&.

◆ set() [5/5]

template<typename EnumType, typename ValueType>
std::enable_if_t< !std::is_same_v< std::decay_t< ValueType >, const char * > &&!std::is_same_v< std::decay_t< ValueType >, std::string > &&!std::is_base_of_v< ThemeTag, std::decay_t< ValueType > > > ml::Manifest::set ( EnumType key,
ValueType && value )
staticprotectedinherited

Register a typed configuration value (int, float, struct, etc.).

Excludes const char*, std::string, and ThemeTag-derived types — those are handled by their own overloads.


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