FTXUI 6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
button_in_frame.cpp
Aller à la documentation de ce fichier.
1// Copyright 2022 Arthur Sonzogni. Tous droits réservés.
2// L'utilisation de ce code source est régie par la licence MIT qui peut être trouvée dans
3// le fichier LICENSE.
4#include <memory> // pour allocator, __shared_ptr_access, shared_ptr
5#include <string> // pour to_string, operator+
6
7#include "ftxui/component/captured_mouse.hpp" // pour ftxui
8#include "ftxui/component/component.hpp" // pour Button, Renderer, Vertical
9#include "ftxui/component/component_base.hpp" // pour ComponentBase
10#include "ftxui/component/component_options.hpp" // pour ButtonOption
11#include "ftxui/component/screen_interactive.hpp" // pour ScreenInteractive
12#include "ftxui/dom/elements.hpp" // pour operator|, text, Element, hbox, separator, size, vbox, border, frame, vscroll_indicator, HEIGHT, LESS_THAN
13#include "ftxui/screen/color.hpp" // pour Color, Color::Default, Color::GrayDark, Color::White
14
15using namespace ftxui;
16
17int main() {
18 int counter = 0;
19 auto on_click = [&] { counter++; };
20
23
24 auto container = Container::Vertical({});
25 for (int i = 0; i < 30; ++i) {
26 auto button = Button("Button " + std::to_string(i), on_click, style);
27 container->Add(button);
28 }
29
30 auto renderer = Renderer(container, [&] {
31 return vbox({
32 hbox({
33 text("Counter:"),
34 text(std::to_string(counter)),
35 }),
36 separator(),
37 container->Render() | vscroll_indicator | frame |
38 size(HEIGHT, LESS_THAN, 20),
39 }) |
40 border;
41 });
42
44 screen.Loop(renderer);
45
46 return 0;
47}
int main()
auto screen
static ButtonOption Animated()
Crée une ButtonOption, utilisant des couleurs animées.
static ScreenInteractive FitComponent()
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:...
virtual void Render(Screen &screen)
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.
Definition text.cpp:160
Element separator()
Dessine une séparation verticale ou horizontale entre deux autres éléments.
Element vbox(Elements)
Un conteneur affichant les éléments verticalement un par un.
Definition vbox.cpp:96
L'espace de noms FTXUI ftxui::
Definition animation.hpp:10
Element hbox(Elements)
Un conteneur affichant les éléments horizontalement un par un.
Definition hbox.cpp:94
@ LESS_THAN
Definition elements.hpp:161