slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
TextInputNode.h
浏览该文件的文档.
1#pragma once
2
5
6#include <functional>
7#include <string>
8
9namespace z8::ui {
10
14private:
15 size_t CaretOffset = 0;
16 bool ChangePending = false;
17
18public:
20 RectNode *CaretNode = nullptr;
21 std::string Text;
22 std::string Placeholder;
23 bool Enabled = true;
24 std::function<void(const std::string &)> TextChanged;
25 std::function<void(const std::string &)> Submitted;
26
28
29 bool ConsumeChanged();
30 const char *TypeName() const override { return "TextInput"; }
34 EventReply OnTextInput(wchar_t character) override;
35 void SetEnabled(bool enabled);
36 void SetPlaceholder(const std::string &placeholder);
37 bool SetProperty(const std::string &name, const std::string &value) override;
38 bool SetText(const std::string &text, bool notify = true);
39 void Synchronize() override;
40
41private:
42 void NotifyChanged();
43 void OnVisualStateChanged() override;
44 void RefreshTextVisual();
45};
46
47} // namespace z8::ui
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition RectNode.h:10
Definition TextInputNode.h:13
EventReply OnKeyDown(KeyArgs args) override
Definition TextInputNode.cpp:103
bool ChangePending
Definition TextInputNode.h:16
bool SetText(const std::string &text, bool notify=true)
Definition TextInputNode.cpp:229
TextInputNode()
Definition TextInputNode.cpp:54
bool ConsumeChanged()
Definition TextInputNode.cpp:90
void SetEnabled(bool enabled)
Definition TextInputNode.cpp:201
bool SetProperty(const std::string &name, const std::string &value) override
Definition TextInputNode.cpp:211
const char * TypeName() const override
Definition TextInputNode.h:30
EventReply OnTextInput(wchar_t character) override
Definition TextInputNode.cpp:163
void OnVisualStateChanged() override
Definition TextInputNode.cpp:175
TextNode * DisplayNode
Definition TextInputNode.h:19
std::string Text
Definition TextInputNode.h:21
void Synchronize() override
Definition TextInputNode.cpp:241
EventReply OnMouseDown(MouseMovArgs args) override
Definition TextInputNode.cpp:150
std::function< void(const std::string &) Submitted)
Definition TextInputNode.h:25
size_t CaretOffset
Definition TextInputNode.h:15
void NotifyChanged()
Definition TextInputNode.cpp:96
std::function< void(const std::string &) TextChanged)
Definition TextInputNode.h:24
void SetPlaceholder(const std::string &placeholder)
Definition TextInputNode.cpp:206
EventReply OnMouseUp(MouseMovArgs args) override
Definition TextInputNode.cpp:159
void RefreshTextVisual()
Definition TextInputNode.cpp:187
bool Enabled
Definition TextInputNode.h:23
std::string Placeholder
Definition TextInputNode.h:22
RectNode * CaretNode
Definition TextInputNode.h:20
Definition TextNode.h:20
Definition Application.h:18
EventReply
Definition Event.h:13
Definition Event.h:67
Definition Event.h:41