FTXUI 6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
tab_vertical.cpp
Aller à la documentation de ce fichier.
1// Copyright 2020 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 string, basic_string
6#include <vector> // pour vector
7
8#include "ftxui/component/captured_mouse.hpp" // pour ftxui
9#include "ftxui/component/component.hpp" // pour Radiobox, Horizontal, Menu, Renderer, Tab
10#include "ftxui/component/component_base.hpp" // pour ComponentBase
11#include "ftxui/component/screen_interactive.hpp" // pour ScreenInteractive
12#include "ftxui/dom/elements.hpp" // pour Element, separator, hbox, operator|, border
13
14using namespace ftxui;
15
16int main() {
17 std::vector<std::string> tab_values{
18 "tab_1",
19 "tab_2",
20 "tab_3",
21 };
22 int tab_selected = 0;
23 auto tab_menu = Menu(&tab_values, &tab_selected);
24
25 std::vector<std::string> tab_1_entries{
26 "Forest",
27 "Water",
28 "I don't know",
29 };
30 int tab_1_selected = 0;
31
32 std::vector<std::string> tab_2_entries{
33 "Hello",
34 "Hi",
35 "Hay",
36 };
37 int tab_2_selected = 0;
38
39 std::vector<std::string> tab_3_entries{
40 "Table",
41 "Nothing",
42 "Is",
43 "Empty",
44 };
45 int tab_3_selected = 0;
46 auto tab_container = Container::Tab(
47 {
48 Radiobox(&tab_1_entries, &tab_1_selected),
49 Radiobox(&tab_2_entries, &tab_2_selected),
50 Radiobox(&tab_3_entries, &tab_3_selected),
51 },
52 &tab_selected);
53
54 auto container = Container::Horizontal({
55 tab_menu,
56 tab_container,
57 });
58
59 auto renderer = Renderer(container, [&] {
60 return hbox({
61 tab_menu->Render(),
62 separator(),
63 tab_container->Render(),
64 }) |
65 border;
66 });
67
69 screen.Loop(renderer);
70}
auto screen
static ScreenInteractive TerminalOutput()
Component Menu(MenuOption options)
Une liste de texte. L'élément sélectionné est mis en évidence.
Component Radiobox(RadioboxOption options)
Une liste d'éléments, où un seul peut être sélectionné.
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)
Element separator()
Dessine une séparation verticale ou horizontale entre deux autres éléments.
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
int main()