17 #include "utils/Stopwatch.h" 18 #include "utils/StringValidation.h" 19 #include "utils/Variant.h" 30 INPUT_TYPE_READONLY = -1,
38 INPUT_TYPE_PASSWORD_MD5,
41 INPUT_TYPE_PASSWORD_NUMBER_VERIFY_NEW
46 const CLabelInfo& labelInfo,
const std::string &text);
53 bool OnAction(
const CAction &action)
override;
56 void SetLabel(
const std::string &text)
override;
57 void SetLabel2(
const std::string &text)
override;
60 std::string GetLabel2()
const override;
62 unsigned int GetCursorPosition()
const;
63 void SetCursorPosition(
unsigned int iPosition);
67 void SetTextChangeActions(
const CGUIAction& textChangeActions)
69 m_textChangeActions = textChangeActions;
74 virtual bool HasInvalidInput()
const {
return m_invalidInput; }
75 virtual void SetInputValidation(StringValidation::Validator inputValidator,
void *data = NULL);
78 void SetFocus(
bool focus)
override;
79 void ProcessText(
unsigned int currentTime)
override;
80 void RenderText()
override;
82 std::wstring GetDisplayedText()
const;
83 std::string GetDescriptionByIndex(
int index)
const override;
84 bool SetStyledText(
const std::wstring &text);
92 void ValidateCursor();
93 void UpdateText(
bool sendUpdate =
true);
94 void OnPasteClipboard();
95 void OnSMSCharacter(
unsigned int key);
96 void DefaultConstructor();
98 virtual bool ValidateInput(
const std::wstring &data)
const;
122 std::wstring m_text2;
128 unsigned int m_cursorPos;
129 bool m_cursorBlinkEnabled{
true};
130 unsigned int m_cursorBlink;
132 std::vector<std::uint32_t> m_cursorChars{
'|'};
134 std::vector<std::uint32_t> m_cursorCharsBuffer{};
136 std::string m_inputHeading;
137 INPUT_TYPE m_inputType;
143 StringValidation::Validator m_inputValidator;
144 void *m_inputValidatorData;
146 unsigned int m_smsKeyIndex;
147 unsigned int m_smsLastKey;
Definition: Stopwatch.h:14
Definition: GUIEditControl.h:26
bool HasActionsMeetingCondition() const
Check if there is any action that meet its condition.
Definition: GUIAction.cpp:136
Definition: GUIInfoLabel.h:31
bool IsComposingKey() const
Check if the control is composing a key.
Definition: GUIEditControl.cpp:862
void ResetCursor()
Reset the cursor aspect to normal input (i.e. not composing a key)
Definition: GUIEditControl.cpp:855
void RecalcRightLabelPosition()
Recalculate the text offset position for the right label by updating m_textOffset and validate the cu...
Definition: GUIEditControl.cpp:426
CRect m_clipRect
clipping rect for the second label
Definition: GUIEditControl.h:126
Class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:21
void ComposingCursorAppendChar(std::uint32_t deadUnicodeKey)
Append a given char to the composing cursor.
Definition: GUIEditControl.cpp:808
void CancelKeyComposition(std::uint32_t deadUnicodeKey)
Cancel the key composition.
Definition: GUIEditControl.cpp:834
void SetInputType(INPUT_TYPE type, const CVariant &heading)
Definition: GUIEditControl.cpp:416
Definition: GUITexture.h:51
bool ClearMD5()
Clear out the current text input if it's an MD5 password.
Definition: GUIEditControl.cpp:678
Definition: GUIMessage.h:365
Definition: GUILabel.h:22
void OnClick() override
Definition: GUIEditControl.cpp:319
COLOR
allowed color categories for labels, as defined by the skin
Definition: GUILabel.h:74
Class containing vector of condition->(action/navigation route) and handling its execution.
Definition: GUIAction.h:21