4#ifndef FTXUI_DOM_NODE_HPP
5#define FTXUI_DOM_NODE_HPP
21using Element = std::shared_ptr<Node>;
22using Elements = std::vector<Element>;
37class FTXUI_EXPORT(DOM) Node {
40 explicit Node(Elements children);
41 Node(
const Node&) =
delete;
42 Node(
const Node&&) =
delete;
43 Node& operator=(
const Node&) =
delete;
44 Node& operator=(
const Node&&) =
delete;
51 virtual void ComputeRequirement();
52 Requirement requirement() {
return requirement_; }
56 virtual void SetBox(Box box);
60 virtual void Select(Selection& selection);
63 virtual void Render(Screen& screen);
65 virtual std::string GetSelectedContent(Selection& selection);
72 bool need_iteration =
false;
74 virtual void Check(Status* status);
77 virtual void Reserved1();
78 virtual void Reserved2();
79 virtual void Reserved3();
80 virtual void Reserved4();
81 virtual void Reserved5();
82 virtual void Reserved6();
83 virtual void Reserved7();
84 virtual void Reserved8();
86 friend FTXUI_EXPORT(DOM)
void Render(Screen& screen, Node* node, Selection& selection);
90 Requirement requirement_;
97void Render(Screen& screen, Node* node, Selection& selection);
99std::string GetNodeSelectedContent(Screen& screen,
101 Selection& selection);
#define FTXUI_EXPORT(component)
L'espace de noms FTXUI ftxui::
std::shared_ptr< Node > Element
std::vector< Element > Elements