4#ifndef FTXUI_COMPONENT_HPP
5#define FTXUI_COMPONENT_HPP
24struct MenuEntryOption;
26template <
class T,
class... Args>
27std::shared_ptr<T>
Make(Args&&... args) {
28 return std::make_shared<T>(std::forward<Args>(args)...);
50 std::function<
void()> on_click,
61 StringRef placeholder,
62 InputOption options = {});
74 RadioboxOption options = {});
88 ConstRef<int> min = 0,
89 ConstRef<int> max = 100,
90 ConstRef<int> increment = 5);
93 ConstRef<float> min = 0.f,
94 ConstRef<float> max = 100.f,
95 ConstRef<float> increment = 5.f);
98 ConstRef<long> min = 0L,
99 ConstRef<long> max = 100L,
100 ConstRef<long> increment = 5L);
130 std::function<
void()> on_enter,
131 std::function<
void()> on_leave);
133 std::function<
void(
bool)> on_change);
136 std::function<
void()> on_leave);
Un adaptador. Posee o referencia una cadena constante. Para mayor comodidad, esta clase convierte múl...
Un adaptador. Posee o referencia un objeto mutable.
static CheckboxOption Simple()
Opción para Checkbox estándar.
static ButtonOption Simple()
Crea una ButtonOption, invertida cuando está enfocada.
static MenuOption Vertical()
Opciones estándar para un menú vertical. Esto puede ser útil para implementar una lista de elementos ...
Component Horizontal(Components children)
Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las ...
Component Maybe(Component, const bool *show)
Decora un componente |child|. Se muestra solo cuando |show| es verdadero.
Component ResizableSplitTop(Component main, Component back, int *main_size)
Una división vertical entre dos componentes, configurable usando el ratón.
Component Menu(MenuOption options)
Una lista de texto. El elemento enfocado es seleccionado.
Component MenuEntry(MenuEntryOption options)
Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.
Component Toggle(ConstStringListRef entries, int *selected)
Una lista horizontal de elementos. El usuario puede navegar a través de ellos.
Component Radiobox(RadioboxOption options)
Una lista de elementos, donde solo uno puede ser seleccionado.
Component Button(ButtonOption options)
Dibuja un botón. Ejecuta una función al hacer clic.
Component Modal(Component main, Component modal, const bool *show_modal)
Component Renderer(Component child, std::function< Element()>)
Retorna un nuevo Componente, similar a |child|, pero usando |render| como el evento Component::Render...
Component Hoverable(Component component, bool *hover)
Envuelve un componente. Permite saber si el ratón lo está "hovering".
Component Window(WindowOptions option)
Una ventana arrastrable y redimensionable. Para usar varias, deben apilarse usando el componente Cont...
Component Vertical(Components children)
Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las tecl...
Component Input(InputOption options={})
Un cuadro de entrada para editar texto.
Component ResizableSplitRight(Component main, Component back, int *main_size)
Una división horizontal entre dos componentes, configurable usando el ratón.
Component Dropdown(ConstStringListRef entries, int *selected)
Un menú desplegable.
Component Stacked(Components children)
Una lista de componentes que se apilan uno encima del otro. Los eventos se propagan al primer compone...
Component ResizableSplitBottom(Component main, Component back, int *main_size)
Una división vertical entre dos componentes, configurable usando el ratón.
Component Checkbox(CheckboxOption options)
Dibuja un elemento seleccionable.
Component ResizableSplitLeft(Component main, Component back, int *main_size)
Una división horizontal entre dos componentes, configurable usando el ratón.
Component Tab(Components children, int *selector)
Una lista de componentes, donde solo uno se dibuja e interactúa a la vez. El |selector| da el índice ...
Opción para el componente Checkbox.
Representa un evento. Puede ser un evento de pulsación de tecla, un redimensionamiento de terminal,...
El espacio de nombres ftxui::Container:: de FTXUI.
El espacio de nombres ftxui:: de FTXUI.
std::shared_ptr< T > Make(Args &&... args)
std::shared_ptr< Node > Element
std::function< Element(Element)> ElementDecorator
std::vector< Component > Components
Component ResizableSplit(ResizableSplitOption options)
Una división entre dos componentes.
Component operator|(Component component, ComponentDecorator decorator)
Component Collapsible(ConstStringRef label, Component child, Ref< bool > show=false)
Un componente plegable. Muestra una casilla de verificación con una flecha. Una vez activado,...
Component Slider(SliderOption< T > options)
Un deslizador en cualquier dirección.
Component & operator|=(Component &component, ComponentDecorator decorator)
std::function< Component(Component)> ComponentDecorator
std::shared_ptr< ComponentBase > Component
Component CatchEvent(Component child, std::function< bool(Event)>)