19 return Renderer(component, [name, component] {
34 const std::vector<std::string> menu_entries = {
40 int menu_selected = 0;
41 auto menu =
Menu(&menu_entries, &menu_selected);
42 menu =
Wrap(
"Menu", menu);
45 int toggle_selected = 0;
46 std::vector<std::string> toggle_entries = {
50 auto toggle =
Toggle(&toggle_entries, &toggle_selected);
51 toggle =
Wrap(
"Toggle", toggle);
54 bool checkbox_1_selected =
false;
55 bool checkbox_2_selected =
false;
56 bool checkbox_3_selected =
false;
57 bool checkbox_4_selected =
false;
59 auto checkboxes = Container::Vertical({
60 Checkbox(
"case_a_cocher_1", &checkbox_1_selected),
61 Checkbox(
"case_a_cocher_2", &checkbox_2_selected),
62 Checkbox(
"case_a_cocher_3", &checkbox_3_selected),
63 Checkbox(
"case_a_cocher_4", &checkbox_4_selected),
65 checkboxes =
Wrap(
"Checkbox", checkboxes);
68 int radiobox_selected = 0;
69 std::vector<std::string> radiobox_entries = {
75 auto radiobox =
Radiobox(&radiobox_entries, &radiobox_selected);
76 radiobox =
Wrap(
"Radiobox", radiobox);
79 std::string input_label;
80 auto input =
Input(&input_label,
"texte indicatif");
81 input =
Wrap(
"Input", input);
84 std::string button_label =
"Quitter";
85 std::function<void()> on_button_clicked_;
86 auto button =
Button(&button_label,
screen.ExitLoopClosure());
87 button =
Wrap(
"Button", button);
90 int slider_value_1 = 12;
91 int slider_value_2 = 56;
92 int slider_value_3 = 128;
93 auto sliders = Container::Vertical({
94 Slider(
"R:", &slider_value_1, 0, 256, 1),
95 Slider(
"G:", &slider_value_2, 0, 256, 1),
96 Slider(
"B:", &slider_value_3, 0, 256, 1),
98 sliders =
Wrap(
"Slider", sliders);
103 text(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. "),
104 text(
"Sed do eiusmod tempor incididunt ut labore et dolore magna "
106 text(
"Ut enim ad minim veniam, quis nostrud exercitation ullamco "
107 "laboris nisi ut aliquip ex ea commodo consequat. "),
108 text(
"Duis aute irure dolor in reprehenderit in voluptate velit esse "
109 "cillum dolore eu fugiat nulla pariatur. "),
110 text(
"Excepteur sint occaecat cupidatat non proident, sunt in culpa "
111 "qui officia deserunt mollit anim id est laborum. "),
115 lorel_ipsum =
Wrap(
"Lorel Ipsum", lorel_ipsum);
119 auto layout = Container::Vertical({
130 auto component =
Renderer(layout, [&] {
136 checkboxes->Render(),
146 lorel_ipsum->Render(),
Component Wrap(std::string name, Component component)
Element Render()
Dessine le composant. Construit un ftxui::Element à dessiner sur l'écran ftxui::Screen représentant c...
static ScreenInteractive FitComponent()
Component Menu(MenuOption options)
Une liste de texte. L'élément sélectionné est mis en évidence.
Component Toggle(ConstStringListRef entries, int *selected)
Une liste horizontale d'éléments. L'utilisateur peut naviguer à travers eux.
Component Radiobox(RadioboxOption options)
Une liste d'éléments, où un seul peut être sélectionné.
Component Button(ButtonOption options)
Dessine un bouton. Exécute une fonction lors d'un clic.
Component Renderer(Component child, std::function< Element()>)
Renvoie un nouveau composant, similaire à |child|, mais utilisant |render| comme événement Component:...
Component Input(InputOption options={})
Une zone de saisie pour éditer du texte.
Component Checkbox(CheckboxOption options)
Dessine un élément à cocher.
virtual void Render(Screen &screen)
Element xflex(Element)
Développer/Réduire si possible/nécessaire sur l'axe X.
Decorator size(WidthOrHeight, Constraint, int value)
Applique une contrainte sur la taille d'un élément.
Element text(std::wstring text)
Affiche un morceau de texte unicode.
Element separator()
Dessine une séparation verticale ou horizontale entre deux autres éléments.
Element border(Element)
Dessine une bordure autour de l'élément.
Element vbox(Elements)
Un conteneur affichant les éléments verticalement un par un.
L'espace de noms FTXUI ftxui::
Element hbox(Elements)
Un conteneur affichant les éléments horizontalement un par un.
Component Slider(SliderOption< T > options)
Un curseur dans n'importe quelle direction.
std::shared_ptr< ComponentBase > Component