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 { READONLY , READONLY }
enum class  Flag { READONLY , READONLY }
 Runtime boolean flags. More...
enum class  State {
  IDLE , FOCUSED , ERROR , IDLE ,
  FOCUSED , ERROR
}
enum class  State {
  IDLE , FOCUSED , ERROR , IDLE ,
  FOCUSED , 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
READONLY 
READONLY 

Definition at line 31 of file TextInput.h.

◆ Flag [2/2]

enum class ml::TextInputManifest::Flag
strong

Runtime boolean flags.

Flag Effect
READONLY Field can be focused but not edited
Note
There is no DISABLED flag — the disabled state derives from the framework-wide ml::Flag::ENABLED (set via setEnabled), so hit-testing and the field's own visuals can never disagree.
Enumerator
READONLY 
READONLY 

Definition at line 42 of file TextInputBase.h.

◆ State [1/2]

enum class ml::TextInputManifest::State
strong
Enumerator
IDLE 
FOCUSED 
ERROR 
IDLE 
FOCUSED 
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
ERROR Field is in an error / invalid state
Enumerator
IDLE 
FOCUSED 
ERROR 
IDLE 
FOCUSED 
ERROR 

Definition at line 53 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: