KTech 1.1.0
C++ 2D terminal game engine library
Loading...
Searching...
No Matches
IntField Class Reference

Widget for entering a number. More...

#include <intfield.hpp>

Inheritance diagram for IntField:
KTech::Widget

Public Member Functions

 IntField (KTech::Engine &engine, KTech::ID< KTech::UI > ui, std::function< void()> OnInsert, size_t min, size_t max, const std::string &defaultNum="0", KTech::Point position={0, 0}, const std::string &text="Value = ", bool withFrame=false, KTech::RGBA unselected=KTech::RGBAColors::gray, KTech::RGBA selected=KTech::RGBAColors::white)
 Construct an IntField.
 
void SetText (const std::string &text, bool withFrame)
 Change the displayed text.
 
void SetValue (const std::string &number)
 Change the entered number.
 
- Public Member Functions inherited from KTech::Widget
 Widget (Engine &engine, Point position=Point(0, 0), std::string name="")
 Construct a Widget.
 
 Widget (Engine &engine, const ID< UI > &parentUI, Point position=Point(0, 0), std::string name="")
 Construct a Widget and immediately enter a UI.
 
virtual ~Widget ()
 Leave parent UI (if in one) and remove itself from Memory.
 
auto AddWidget (const ID< Widget > &widget) -> bool
 Undocumented due to planned changes (see GitHub issue #106).
 
auto RemoveWidget (const ID< Widget > &widget) -> bool
 Undocumented due to planned changes (see GitHub issue #106).
 
auto RemoveAllWidgets () -> bool
 Undocumented due to planned changes (see GitHub issue #106).
 
auto EnterWidget (const ID< Widget > &widget) -> bool
 Undocumented due to planned changes (see GitHub issue #106).
 
auto EnterUI (const ID< UI > &ui) -> bool
 Enter a UI.
 
auto LeaveWidget () -> bool
 Undocumented due to planned changes (see GitHub issue #106).
 
auto LeaveUI () -> bool
 Leave the parent UI.
 
void Select ()
 Enable input callbacks, and call Widget::OnSelect().
 
void Deselect ()
 Disable input callbacks, and call Widget::OnDisable().
 
void Show ()
 Let UI render this Widget, and call Widget::OnShow().
 
void Hide ()
 Don't let UI render this Widget, and call Widget::OnHide().
 

Public Attributes

size_t m_number = 0
 The entered number adjusted to given maximum and minimum limits.
 
std::function< void()> m_OnInsert
 Function to call when the user inserts or removes a digit.
 
- Public Attributes inherited from KTech::Widget
Engineengine
 Parent Engine.
 
const ID< Widgetm_id {ID<Widget>::Unique()}
 Personal ID.
 
std::string m_name
 String name.
 
ID< UIm_parentUI
 The UI containing this Widget.
 
ID< Widgetm_parentWidget = nullID<Widget>
 Undocumented because it's planned to change (see GitHub issue #106).
 
std::vector< ChildWidget > m_childWidgets
 Undocumented because it's planned to change (see GitHub issue #106).
 
bool m_selected = false
 true: player input reaches the Widget. false: player input doesn't.
 
bool m_shown = true
 true: will be rendered by UI. false: will be ignored by UI.
 
Point m_pos
 World position.
 
std::vector< Texturem_textures = {}
 Comprising Textures.
 
Input::CallbackGroup m_callbackGroup
 Group of all input callbacks, which are enabled and disabled in correspondence to Widget::m_selected.
 

Additional Inherited Members

- Protected Member Functions inherited from KTech::Widget
virtual auto OnTick () -> bool
 Virtual function called once each tick.
 
virtual void OnShow ()
 Virtual function called by Widget::Show().
 
virtual void OnHide ()
 Virtual function called by Widget::Hide().
 

Detailed Description

Widget for entering a number.

Constructor & Destructor Documentation

◆ IntField()

IntField::IntField ( KTech::Engine & engine,
KTech::ID< KTech::UI > ui,
std::function< void()> OnInsert,
size_t min,
size_t max,
const std::string & defaultNum = "0",
KTech::Point position = {0, 0},
const std::string & text = "Value = ",
bool withFrame = false,
KTech::RGBA unselected = KTech::RGBAColors::gray,
KTech::RGBA selected = KTech::RGBAColors::white )
inline

Construct an IntField.

Parameters
[in]engineParent Engine.
[in]uiKTech::UI to immediately enter.
[in]OnInsertFunction to call when the user inserts or removes a digit.
[in]minMinimum number allowed.
[in]maxMaximum number allowed.
[in]defaultNumString representing the default number (e.g. "255", "001", or "1"; meaningless 0s remain).
[in]positionWorld position.
[in]textText to the left of the entered number.
[in]withFrameWhether to add a frame around the text and entered number.
[in]unselectedForeground (text and frame) color set when IntField is unselected.
[in]selectedForeground color set when IntField is selected.

Member Function Documentation

◆ SetText()

void IntField::SetText ( const std::string & text,
bool withFrame )
inline

Change the displayed text.

Parameters
[in]textText to the left of the entered number.
[in]withFrameWhether to add a frame around the text and entered number.

◆ SetValue()

void IntField::SetValue ( const std::string & number)
inline

Change the entered number.

Parameters
[in]numberString representing the new number (e.g. "255", "001", or "1"; meaningless 0s remain).

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