FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
ftxui/component

Detailed Description

Por favor, consulta el tutorial del módulo ftxui/component

Classes

class  ComponentBase
 Implementa el renderizado de sí mismo como ftxui::Element. Implementa la navegación por teclado respondiendo a ftxui::Event. More...
 
struct  UnderlineOption
 Opción para el efecto de subrayado. More...
 
struct  AnimatedColorOption
 Opción sobre un color potencialmente animado. More...
 
struct  MenuEntryOption
 Opción para el componente MenuEntry. More...
 
struct  MenuOption
 Opción para el componente Menu. More...
 
struct  ButtonOption
 Opción para el componente AnimatedButton. More...
 
struct  CheckboxOption
 Opción para el componente Checkbox. More...
 
struct  InputOption
 Opción para el componente Input. More...
 
struct  RadioboxOption
 Opción para el componente Radiobox. More...
 
struct  WindowRenderState
 Estado pasado a la función de renderizado del componente Window. More...
 
struct  DropdownOption
 Opción para el componente Dropdown.Un menú desplegable es un checkbox que abre/cierra un radiobox. More...
 
struct  Event
 Representa un evento. Puede ser un evento de pulsación de tecla, un redimensionamiento de terminal, o más... More...
 
class  Loop
 Loop es una clase que gestiona el bucle de eventos de un componente. More...
 
struct  Mouse
 Un evento del ratón. Contiene las coordenadas del ratón, el botón presionado y el modificador (shift, ctrl, meta). More...
 
class  ScreenInteractive
 ScreenInteractive es una Screen que puede manejar eventos, ejecutar un bucle principal y administrar componentes. More...
 

Functions

void RequestAnimationFrame ()
 RequestAnimationFrame es una función que solicita que se dibuje un nuevo fotograma en el siguiente ciclo de animación.
 
Component Button (ButtonOption option)
 Dibuja un botón. Ejecuta una función al hacer clic.
 
Component Button (ConstStringRef label, std::function< void()> on_click, ButtonOption option)
 Dibuja un botón. Ejecuta una función al hacer clic.
 
Component CatchEvent (Component child, std::function< bool(Event event)> on_event)
 Retorna un componente, usando |on_event| para capturar eventos. Esta función debe retornar true cuando el evento ha sido manejado, false en caso contrario.
 
ComponentDecorator CatchEvent (std::function< bool(Event)> on_event)
 Decora un componente, usando |on_event| para capturar eventos. Esta función debe retornar true cuando el evento ha sido manejado, false en caso contrario.
 
Component Checkbox (CheckboxOption option)
 Dibuja un elemento seleccionable.
 
Component Checkbox (ConstStringRef label, bool *checked, CheckboxOption option)
 Dibuja un elemento seleccionable.
 
Component Vertical (Components children)
 Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las teclas de flecha arriba/abajo o las teclas 'j'/'k'.
 
Component Vertical (Components children, int *selector)
 Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las teclas de flecha arriba/abajo o las teclas 'j'/'k'. Esto es útil para implementar un Menú, por ejemplo.
 
Component Horizontal (Components children)
 Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las teclas de flecha izquierda/derecha o las teclas 'h'/'l'.
 
Component Horizontal (Components children, int *selector)
 Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las teclas de flecha izquierda/derecha o las teclas 'h'/'l'.
 
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 del componente seleccionado. Esto es útil para implementar pestañas.
 
Component Stacked (Components children)
 Una lista de componentes que se apilan uno encima del otro. Los eventos se propagan al primer componente, luego al segundo si no se manejan, etc. Los componentes se dibujan en el orden inverso en que se dan. Cuando un componente toma el foco, se coloca al frente, sin cambiar el orden relativo de los otros elementos.
 
Component Dropdown (ConstStringListRef entries, int *selected)
 Un menú desplegable.
 
Component Dropdown (DropdownOption option)
 Un menú desplegable.
 
Component Hoverable (Component component, bool *hover)
 Envuelve un componente. Permite saber si el ratón lo está "hovering".
 
Component Hoverable (Component component, std::function< void()> on_enter, std::function< void()> on_leave)
 Envuelve un componente. Utiliza callbacks.
 
ComponentDecorator Hoverable (bool *hover)
 Envuelve un componente. Permite saber si el ratón lo está "hovering".
 
ComponentDecorator Hoverable (std::function< void()> on_enter, std::function< void()> on_leave)
 Envuelve un componente. Permite saber si el ratón lo está "hovering".
 
Component Hoverable (Component component, std::function< void(bool)> on_change)
 Envuelve un componente. Permite saber si el ratón lo está "hovering".
 
ComponentDecorator Hoverable (std::function< void(bool)> on_change)
 Envuelve un componente. Permite saber si el ratón lo está "hovering".
 
Component Input (InputOption option)
 Un cuadro de entrada para editar texto.
 
Component Input (StringRef content, InputOption option)
 Un cuadro de entrada para editar texto.
 
Component Input (StringRef content, StringRef placeholder, InputOption option)
 Un cuadro de entrada para editar texto.
 
Component Maybe (Component child, std::function< bool()> show)
 Decora un componente |child|. Se muestra solo cuando |show| devuelve verdadero.
 
ComponentDecorator Maybe (std::function< bool()> show)
 Decora un componente. Se muestra solo cuando la función |show| devuelve verdadero.
 
Component Maybe (Component child, const bool *show)
 Decora un componente |child|. Se muestra solo cuando |show| es verdadero.
 
ComponentDecorator Maybe (const bool *show)
 Decora un componente. Se muestra solo cuando |show| es verdadero.
 
Component Menu (MenuOption option)
 Una lista de texto. El elemento enfocado es seleccionado.
 
Component Menu (ConstStringListRef entries, int *selected, MenuOption option)
 Una lista de texto. El elemento enfocado es seleccionado.
 
Component Toggle (ConstStringListRef entries, int *selected)
 Una lista horizontal de elementos. El usuario puede navegar a través de ellos.
 
Component MenuEntry (ConstStringRef label, MenuEntryOption option)
 Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.
 
Component MenuEntry (MenuEntryOption option)
 Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.
 
Component Modal (Component main, Component modal, const bool *show_modal)
 
ComponentDecorator Modal (Component modal, const bool *show_modal)
 
Component Radiobox (RadioboxOption option)
 Una lista de elementos, donde solo uno puede ser seleccionado.
 
Component Radiobox (ConstStringListRef entries, int *selected, RadioboxOption option)
 Una lista de elementos, donde solo uno puede ser seleccionado.
 
Component Renderer (std::function< Element()> render)
 Retorna un componente, usando |render| para renderizar su interfaz.
 
Component Renderer (Component child, std::function< Element()> render)
 Retorna un nuevo Componente, similar a |child|, pero usando |render| como el evento Component::Render().
 
Component Renderer (std::function< Element(bool)> render)
 Retorna un componente enfocable, usando |render| para renderizar su interfaz.
 
ComponentDecorator Renderer (ElementDecorator decorator)
 Decora un componente, decorando lo que renderiza.
 
Component ResizableSplitLeft (Component main, Component back, int *main_size)
 Una división horizontal entre dos componentes, configurable usando el ratón.
 
Component ResizableSplitRight (Component main, Component back, int *main_size)
 Una división horizontal entre dos componentes, configurable usando el ratón.
 
Component ResizableSplitTop (Component main, Component back, int *main_size)
 Una división vertical entre dos componentes, configurable usando el ratón.
 
Component ResizableSplitBottom (Component main, Component back, int *main_size)
 Una división vertical entre dos componentes, configurable usando el ratón.
 
Component Slider (ConstStringRef label, Ref< int > value, ConstRef< int > min, ConstRef< int > max, ConstRef< int > increment)
 Un deslizador horizontal.
 
Component Window (WindowOptions option)
 Una ventana arrastrable y redimensionable. Para usar varias, deben apilarse usando el componente Container::Stacked({...});.
 

Class Documentation

◆ ftxui::ComponentBase

class ftxui::ComponentBase

Implementa el renderizado de sí mismo como ftxui::Element. Implementa la navegación por teclado respondiendo a ftxui::Event.

Examples
examples/component/scrollbar.cpp, and examples/component/window.cpp.

Definition at line 30 of file component_base.hpp.

Public Member Functions

 ComponentBase (Components children)
 
virtual ~ComponentBase ()
 
 ComponentBase ()=default
 
 ComponentBase (const ComponentBase &)=delete
 
 ComponentBase (ComponentBase &&)=delete
 
ComponentBaseoperator= (const ComponentBase &)=delete
 
ComponentBaseoperator= (ComponentBase &&)=delete
 
ComponentBaseParent () const
 Devuelve el ComponentBase padre, o nulo si no tiene.
 
ComponentChildAt (size_t i)
 Accede al hijo en el índice i.
 
size_t ChildCount () const
 Devuelve el número de hijos.
 
int Index () const
 Devuelve el índice del componente en su padre. -1 si no tiene padre.
 
void Add (Component children)
 Agrega un hijo. @param child El hijo a adjuntar.
 
void Detach ()
 Desvincula este hijo de su padre.
 
void DetachAllChildren ()
 Elimina todos los hijos.
 
Element Render ()
 Dibuja el componente. Construye un ftxui::Element para ser dibujado en la ftxui::Screen representando este ftxui::ComponentBase. Por favor, anule OnRender() para modificar el renderizado.
 
virtual Element OnRender ()
 Dibuja el componente. Construye un ftxui::Element para ser dibujado en la ftxui::Screen representando este ftxui::ComponentBase. Esta función está destinada a ser sobrescrita.
 
virtual bool OnEvent (Event)
 Llamado en respuesta a un evento.
 
virtual void OnAnimation (animation::Params &params)
 Llamado en respuesta a un evento de animación.
 
virtual Component ActiveChild ()
 Devuelve el hijo actualmente activo.
 
virtual bool Focusable () const
 Devuelve verdadero cuando el componente contiene elementos enfocables. Los componentes no enfocables se omitirán al navegar con el teclado.
 
bool Active () const
 Devuelve si el elemento es el hijo actualmente activo de su padre.
 
bool Focused () const
 Devuelve si el elemento está enfocado por el usuario. Verdadero cuando el ComponentBase está enfocado por el usuario. Un elemento está enfocado cuando es, junto con todos sus ancestros, el ActiveChild() de sus padres, y es Focusable().
 
virtual void SetActiveChild (ComponentBase *child)
 Hace que |child| sea el activo.
 
void SetActiveChild (Component child)
 Hace que |child| sea el activo.
 
void TakeFocus ()
 Configura todos los ancestros para dar foco a este componente.
 

Protected Member Functions

CapturedMouse CaptureMouse (const Event &event)
 Toma el CapturedMouse si está disponible. Solo hay un componente de ellos. Representa un componente que toma prioridad sobre otros.
 

Protected Attributes

Components children_
 

Constructor & Destructor Documentation

◆ ComponentBase() [1/4]

ComponentBase ( Components children)
inlineexplicit

Definition at line 32 of file component_base.hpp.

◆ ~ComponentBase()

~ComponentBase ( )
virtual

Definition at line 31 of file component.cpp.

◆ ComponentBase() [2/4]

ComponentBase ( )
default

◆ ComponentBase() [3/4]

ComponentBase ( const ComponentBase & )
delete

◆ ComponentBase() [4/4]

Member Function Documentation

◆ operator=() [1/2]

ComponentBase & operator= ( const ComponentBase & )
delete

◆ operator=() [2/2]

ComponentBase & operator= ( ComponentBase && )
delete

◆ Parent()

ComponentBase * Parent ( ) const

Devuelve el ComponentBase padre, o nulo si no tiene.

See also
Detach
Parent

Definition at line 38 of file component.cpp.

◆ ChildAt()

Component & ChildAt ( size_t i)

Accede al hijo en el índice i.

Definition at line 43 of file component.cpp.

◆ ChildCount()

size_t ChildCount ( ) const

Devuelve el número de hijos.

Definition at line 49 of file component.cpp.

◆ Index()

int Index ( ) const

Devuelve el índice del componente en su padre. -1 si no tiene padre.

Definition at line 54 of file component.cpp.

◆ Add()

void Add ( Component children)

Agrega un hijo. @param child El hijo a adjuntar.

Definition at line 70 of file component.cpp.

◆ Detach()

void Detach ( )

Desvincula este hijo de su padre.

See also
Detach
Parent

Definition at line 79 of file component.cpp.

◆ DetachAllChildren()

void DetachAllChildren ( )

Elimina todos los hijos.

Definition at line 94 of file component.cpp.

◆ Render()

Element Render ( )

Dibuja el componente. Construye un ftxui::Element para ser dibujado en la ftxui::Screen representando este ftxui::ComponentBase. Por favor, anule OnRender() para modificar el renderizado.

Definition at line 103 of file component.cpp.

◆ OnRender()

Element OnRender ( )
virtual

Dibuja el componente. Construye un ftxui::Element para ser dibujado en la ftxui::Screen representando este ftxui::ComponentBase. Esta función está destinada a ser sobrescrita.

Definition at line 138 of file component.cpp.

◆ OnEvent()

bool OnEvent ( Event event)
virtual

Llamado en respuesta a un evento.

Parameters
eventEl evento.
Returns
Verdadero cuando el evento ha sido manejado. La implementación predeterminada llama a OnEvent en cada hijo hasta que uno devuelve verdadero. Si ninguno devuelve verdadero, devuelve falso.

Definition at line 151 of file component.cpp.

◆ OnAnimation()

void OnAnimation ( animation::Params & params)
virtual

Llamado en respuesta a un evento de animación.

Parameters
paramslos parámetros de la animación La implementación predeterminada envía el evento a cada hijo.

Definition at line 163 of file component.cpp.

◆ ActiveChild()

Component ActiveChild ( )
virtual

Devuelve el hijo actualmente activo.

Returns
el hijo actualmente activo.

Definition at line 171 of file component.cpp.

◆ Focusable()

bool Focusable ( ) const
virtual

Devuelve verdadero cuando el componente contiene elementos enfocables. Los componentes no enfocables se omitirán al navegar con el teclado.

Definition at line 183 of file component.cpp.

◆ Active()

bool Active ( ) const

Devuelve si el elemento es el hijo actualmente activo de su padre.

Definition at line 193 of file component.cpp.

◆ Focused()

bool Focused ( ) const

Devuelve si el elemento está enfocado por el usuario. Verdadero cuando el ComponentBase está enfocado por el usuario. Un elemento está enfocado cuando es, junto con todos sus ancestros, el ActiveChild() de sus padres, y es Focusable().

Definition at line 201 of file component.cpp.

◆ SetActiveChild() [1/2]

void SetActiveChild ( ComponentBase * child)
virtual

Hace que |child| sea el activo.

Parameters
childel hijo que se activará.

Definition at line 211 of file component.cpp.

◆ SetActiveChild() [2/2]

void SetActiveChild ( Component child)

Hace que |child| sea el activo.

Parameters
childel hijo que se activará.

Definition at line 215 of file component.cpp.

◆ TakeFocus()

void TakeFocus ( )

Configura todos los ancestros para dar foco a este componente.

Definition at line 220 of file component.cpp.

◆ CaptureMouse()

CapturedMouse CaptureMouse ( const Event & event)
protected

Toma el CapturedMouse si está disponible. Solo hay un componente de ellos. Representa un componente que toma prioridad sobre otros.

Parameters
eventEl evento

Definition at line 231 of file component.cpp.

Member Data Documentation

◆ children_

Components children_
protected

Definition at line 96 of file component_base.hpp.

◆ ftxui::UnderlineOption

struct ftxui::UnderlineOption

Opción para el efecto de subrayado.

Definition at line 34 of file component_options.hpp.

Public Member Functions

void SetAnimation (animation::Duration d, animation::easing::Function f)
 Establece cómo debe animarse el subrayado.
 
void SetAnimationDuration (animation::Duration d)
 Establece cómo debe animarse el subrayado.
 
void SetAnimationFunction (animation::easing::Function f)
 Establece cómo debe animarse el subrayado.
 
void SetAnimationFunction (animation::easing::Function f_leader, animation::easing::Function f_follower)
 Establece cómo debe animarse el subrayado. Esto es útil para desincronizar la animación del líder y el seguidor.
 

Public Attributes

bool enabled = false
 
Color color_active = Color::White
 
Color color_inactive = Color::GrayDark
 
animation::easing::Function leader_function
 
animation::easing::Function follower_function
 
animation::Duration leader_duration = std::chrono::milliseconds(250)
 
animation::Duration leader_delay = std::chrono::milliseconds(0)
 
animation::Duration follower_duration = std::chrono::milliseconds(250)
 
animation::Duration follower_delay = std::chrono::milliseconds(0)
 

Member Function Documentation

◆ SetAnimation()

void SetAnimation ( animation::Duration d,
animation::easing::Function f )

Establece cómo debe animarse el subrayado.

Parameters
dLa duración de la animación.
fLa función de aceleración de la animación.

Definition at line 34 of file component_options.cpp.

◆ SetAnimationDuration()

void SetAnimationDuration ( animation::Duration d)

Establece cómo debe animarse el subrayado.

Parameters
dLa duración de la animación.

Definition at line 42 of file component_options.cpp.

◆ SetAnimationFunction() [1/2]

void SetAnimationFunction ( animation::easing::Function f)

Establece cómo debe animarse el subrayado.

Parameters
fLa función de aceleración de la animación.

Definition at line 49 of file component_options.cpp.

◆ SetAnimationFunction() [2/2]

void SetAnimationFunction ( animation::easing::Function f_leader,
animation::easing::Function f_follower )

Establece cómo debe animarse el subrayado. Esto es útil para desincronizar la animación del líder y el seguidor.

Parameters
f_leaderLa duración de la animación para el líder.
f_followerLa duración de la animación para el seguidor.

Definition at line 58 of file component_options.cpp.

Member Data Documentation

◆ enabled

bool enabled = false

Definition at line 35 of file component_options.hpp.

◆ color_active

Color color_active = Color::White

Definition at line 37 of file component_options.hpp.

◆ color_inactive

Color color_inactive = Color::GrayDark

Definition at line 38 of file component_options.hpp.

◆ leader_function

animation::easing::Function leader_function
Initial value:

Definition at line 40 of file component_options.hpp.

◆ follower_function

animation::easing::Function follower_function
Initial value:

Definition at line 42 of file component_options.hpp.

◆ leader_duration

animation::Duration leader_duration = std::chrono::milliseconds(250)

Definition at line 45 of file component_options.hpp.

◆ leader_delay

animation::Duration leader_delay = std::chrono::milliseconds(0)

Definition at line 46 of file component_options.hpp.

◆ follower_duration

animation::Duration follower_duration = std::chrono::milliseconds(250)

Definition at line 47 of file component_options.hpp.

◆ follower_delay

animation::Duration follower_delay = std::chrono::milliseconds(0)

Definition at line 48 of file component_options.hpp.

◆ ftxui::AnimatedColorOption

struct ftxui::AnimatedColorOption

Opción sobre un color potencialmente animado.

Definition at line 59 of file component_options.hpp.

Public Member Functions

void Set (Color inactive, Color active, animation::Duration duration=std::chrono::milliseconds(250), animation::easing::Function function=animation::easing::QuadraticInOut)
 Una opción de color que puede ser animada.
 

Public Attributes

bool enabled = false
 
Color inactive
 
Color active
 
animation::Duration duration = std::chrono::milliseconds(250)
 
animation::easing::Function function = animation::easing::QuadraticInOut
 

Member Function Documentation

◆ Set()

void Set ( Color _inactive,
Color _active,
animation::Duration _duration = std::chrono::milliseconds(250),
animation::easing::Function _function = animation::easing::QuadraticInOut )

Una opción de color que puede ser animada.

Parameters
_inactiveEl color cuando el componente está inactivo.
_activeEl color cuando el componente está activo.
_durationLa duración de la animación.
_functionLa función de aceleración de la animación.

Definition at line 20 of file component_options.cpp.

Member Data Documentation

◆ enabled

bool enabled = false

◆ inactive

Color inactive

◆ active

Color active

◆ duration

animation::Duration duration = std::chrono::milliseconds(250)

Definition at line 69 of file component_options.hpp.

◆ function

animation::easing::Function function = animation::easing::QuadraticInOut

Definition at line 70 of file component_options.hpp.

◆ ftxui::MenuEntryOption

struct ftxui::MenuEntryOption

Opción para el componente MenuEntry.

Examples
examples/component/menu_entries.cpp, and examples/component/menu_entries_animated.cpp.

Definition at line 80 of file component_options.hpp.

Public Attributes

ConstStringRef label = "MenuEntry"
 
std::function< Element(const EntryState &state)> transform
 
AnimatedColorsOption animated_colors
 

Member Data Documentation

◆ label

ConstStringRef label = "MenuEntry"

Definition at line 81 of file component_options.hpp.

◆ transform

std::function<Element(const EntryState& state)> transform
Examples
examples/component/menu_entries.cpp.

Definition at line 82 of file component_options.hpp.

◆ animated_colors

AnimatedColorsOption animated_colors

◆ ftxui::MenuOption

struct ftxui::MenuOption

Opción para el componente Menu.

Examples
examples/component/menu.cpp, and examples/component/menu2.cpp.

Definition at line 88 of file component_options.hpp.

Static Public Member Functions

static MenuOption Horizontal ()
 Opciones estándar para un menú horizontal. Esto puede ser útil para implementar una barra de pestañas.
 
static MenuOption HorizontalAnimated ()
 Opciones estándar para un menú horizontal animado. Esto puede ser útil para implementar una barra de pestañas.
 
static MenuOption Vertical ()
 Opciones estándar para un menú vertical. Esto puede ser útil para implementar una lista de elementos seleccionables.
 
static MenuOption VerticalAnimated ()
 Opciones estándar para un menú vertical animado. Esto puede ser útil para implementar una lista de elementos seleccionables.
 
static MenuOption Toggle ()
 Opciones estándar para un menú horizontal con un separador. Esto puede ser útil para implementar una barra de pestañas.
 

Public Attributes

ConstStringListRef entries
 
Ref< int > selected = 0
 
UnderlineOption underline
 
MenuEntryOption entries_option
 
Direction direction = Direction::Down
 
std::function< Element()> elements_prefix
 
std::function< Element()> elements_infix
 
std::function< Element()> elements_postfix
 
std::function< void()> on_change
 
std::function< void()> on_enter
 
Ref< int > focused_entry = 0
 

Member Function Documentation

◆ Horizontal()

MenuOption Horizontal ( )
static

Opciones estándar para un menú horizontal. Esto puede ser útil para implementar una barra de pestañas.

Definition at line 68 of file component_options.cpp.

◆ HorizontalAnimated()

MenuOption HorizontalAnimated ( )
static

Opciones estándar para un menú horizontal animado. Esto puede ser útil para implementar una barra de pestañas.

Definition at line 92 of file component_options.cpp.

◆ Vertical()

MenuOption Vertical ( )
static

Opciones estándar para un menú vertical. Esto puede ser útil para implementar una lista de elementos seleccionables.

Definition at line 101 of file component_options.cpp.

◆ VerticalAnimated()

MenuOption VerticalAnimated ( )
static

Opciones estándar para un menú vertical animado. Esto puede ser útil para implementar una lista de elementos seleccionables.

Definition at line 122 of file component_options.cpp.

◆ Toggle()

MenuOption Toggle ( )
static

Opciones estándar para un menú horizontal con un separador. Esto puede ser útil para implementar una barra de pestañas.

Definition at line 144 of file component_options.cpp.

Member Data Documentation

◆ entries

Definition at line 96 of file component_options.hpp.

◆ selected

Ref<int> selected = 0

‍La lista de entradas.

Definition at line 97 of file component_options.hpp.

◆ underline

UnderlineOption underline

‍El índice de la entrada seleccionada.

Definition at line 100 of file component_options.hpp.

◆ entries_option

MenuEntryOption entries_option

Definition at line 101 of file component_options.hpp.

◆ direction

Definition at line 102 of file component_options.hpp.

◆ elements_prefix

std::function<Element()> elements_prefix

Definition at line 103 of file component_options.hpp.

◆ elements_infix

std::function<Element()> elements_infix

Definition at line 104 of file component_options.hpp.

◆ elements_postfix

std::function<Element()> elements_postfix

Definition at line 105 of file component_options.hpp.

◆ on_change

std::function<void()> on_change

Definition at line 108 of file component_options.hpp.

◆ on_enter

std::function<void()> on_enter

‍Llamado cuando la entrada seleccionada cambia.

Examples
examples/component/menu.cpp.

Definition at line 109 of file component_options.hpp.

◆ focused_entry

Ref<int> focused_entry = 0

‍Llamado cuando el usuario presiona enter.

Definition at line 110 of file component_options.hpp.

◆ ftxui::ButtonOption

struct ftxui::ButtonOption

Opción para el componente AnimatedButton.

Examples
examples/component/button.cpp.

Definition at line 115 of file component_options.hpp.

Static Public Member Functions

static ButtonOption Ascii ()
 Crea una ButtonOption, resaltada usando los caracteres [].
 
static ButtonOption Simple ()
 Crea una ButtonOption, invertida cuando está enfocada.
 
static ButtonOption Border ()
 Crea una ButtonOption. El botón se muestra usando un borde, invertido cuando está enfocado. Este es el valor predeterminado actual.
 
static ButtonOption Animated ()
 
static ButtonOption Animated (Color color)
 Crea una ButtonOption, usando colores animados.
 
static ButtonOption Animated (Color background, Color foreground)
 Crea una ButtonOption, usando colores animados.
 
static ButtonOption Animated (Color background, Color foreground, Color background_active, Color foreground_active)
 Crea una ButtonOption, usando colores animados.
 

Public Attributes

ConstStringRef label = "Button"
 
std::function< void()> on_click = [] {}
 
std::function< Element(const EntryState &)> transform
 
AnimatedColorsOption animated_colors
 

Member Function Documentation

◆ Ascii()

ButtonOption Ascii ( )
static

Crea una ButtonOption, resaltada usando los caracteres [].

Definition at line 152 of file component_options.cpp.

◆ Simple()

ButtonOption Simple ( )
static

Crea una ButtonOption, invertida cuando está enfocada.

Definition at line 164 of file component_options.cpp.

◆ Border()

ButtonOption Border ( )
static

Crea una ButtonOption. El botón se muestra usando un borde, invertido cuando está enfocado. Este es el valor predeterminado actual.

Definition at line 178 of file component_options.cpp.

◆ Animated() [1/4]

static ButtonOption Animated ( )
static

◆ Animated() [2/4]

ButtonOption Animated ( Color color)
static

Crea una ButtonOption, usando colores animados.

Definition at line 200 of file component_options.cpp.

◆ Animated() [3/4]

ButtonOption Animated ( Color background,
Color foreground )
static

Crea una ButtonOption, usando colores animados.

Definition at line 210 of file component_options.cpp.

◆ Animated() [4/4]

ButtonOption Animated ( Color background,
Color foreground,
Color background_active,
Color foreground_active )
static

Crea una ButtonOption, usando colores animados.

Definition at line 222 of file component_options.cpp.

Member Data Documentation

◆ label

ConstStringRef label = "Button"

Definition at line 128 of file component_options.hpp.

◆ on_click

std::function<void()> on_click = [] {}

Definition at line 129 of file component_options.hpp.

◆ transform

std::function<Element(const EntryState&)> transform

Definition at line 132 of file component_options.hpp.

◆ animated_colors

AnimatedColorsOption animated_colors

Definition at line 133 of file component_options.hpp.

◆ ftxui::CheckboxOption

struct ftxui::CheckboxOption

Opción para el componente Checkbox.

Definition at line 138 of file component_options.hpp.

Static Public Member Functions

static CheckboxOption Simple ()
 Opción para Checkbox estándar.
 

Public Attributes

ConstStringRef label = "Checkbox"
 
Ref< bool > checked = false
 
std::function< Element(const EntryState &)> transform
 
std::function< void()> on_change = [] {}
 Llamado cuando el usuario cambia el estado.
 

Member Function Documentation

◆ Simple()

CheckboxOption Simple ( )
static

Opción para Checkbox estándar.

Definition at line 241 of file component_options.cpp.

Member Data Documentation

◆ label

ConstStringRef label = "Checkbox"

Definition at line 142 of file component_options.hpp.

◆ checked

Ref<bool> checked = false

Definition at line 144 of file component_options.hpp.

◆ transform

std::function<Element(const EntryState&)> transform

Definition at line 147 of file component_options.hpp.

◆ on_change

std::function<void()> on_change = [] {}

Llamado cuando el usuario cambia el estado.

Definition at line 151 of file component_options.hpp.

◆ ftxui::InputOption

struct ftxui::InputOption

Opción para el componente Input.

Examples
examples/component/homescreen.cpp, examples/component/input.cpp, and examples/component/input_style.cpp.

Definition at line 165 of file component_options.hpp.

Static Public Member Functions

static InputOption Default ()
 Crea el estilo de entrada predeterminado:
 
static InputOption Spacious ()
 Un estilo blanco sobre negro con márgenes altos:
 

Public Attributes

StringRef content = ""
 El contenido del input.
 
StringRef placeholder = ""
 El contenido del input cuando está vacío.
 
std::function< Element(InputState)> transform
 
Ref< bool > password = false
 Oscurece el contenido del input usando '*'.
 
Ref< bool > multiline = true
 Si el input puede ser multilínea.
 
Ref< bool > insert = true
 Modo de inserción o sobrescritura de caracteres.
 
std::function< void()> on_change = [] {}
 Llamado cuando el contenido cambia.
 
std::function< void()> on_enter = [] {}
 Llamado cuando el usuario presiona enter.
 
Ref< int > cursor_position = 0
 

Member Function Documentation

◆ Default()

InputOption Default ( )
static

Crea el estilo de entrada predeterminado:

Opciones estándar para el componente de entrada.

Definition at line 289 of file component_options.cpp.

◆ Spacious()

InputOption Spacious ( )
static

Un estilo blanco sobre negro con márgenes altos:

Opciones estándar para un componente de entrada más bonito.

Definition at line 311 of file component_options.cpp.

Member Data Documentation

◆ content

StringRef content = ""

El contenido del input.

Definition at line 174 of file component_options.hpp.

◆ placeholder

StringRef placeholder = ""

El contenido del input cuando está vacío.

Definition at line 177 of file component_options.hpp.

◆ transform

std::function<Element(InputState)> transform
Examples
examples/component/input_style.cpp.

Definition at line 180 of file component_options.hpp.

◆ password

Ref<bool> password = false

Oscurece el contenido del input usando '*'.

Examples
examples/component/input.cpp.

Definition at line 181 of file component_options.hpp.

◆ multiline

Ref<bool> multiline = true

Si el input puede ser multilínea.

Definition at line 182 of file component_options.hpp.

◆ insert

Ref<bool> insert = true

Modo de inserción o sobrescritura de caracteres.

Definition at line 183 of file component_options.hpp.

◆ on_change

std::function<void()> on_change = [] {}

Llamado cuando el contenido cambia.

Definition at line 186 of file component_options.hpp.

◆ on_enter

std::function<void()> on_enter = [] {}

Llamado cuando el usuario presiona enter.

Definition at line 188 of file component_options.hpp.

◆ cursor_position

Ref<int> cursor_position = 0

Definition at line 191 of file component_options.hpp.

◆ ftxui::RadioboxOption

struct ftxui::RadioboxOption

Opción para el componente Radiobox.

Definition at line 196 of file component_options.hpp.

Static Public Member Functions

static RadioboxOption Simple ()
 Opción para Radiobox estándar.
 

Public Attributes

ConstStringListRef entries
 
Ref< int > selected = 0
 
std::function< Element(const EntryState &)> transform
 
std::function< void()> on_change = [] {}
 Llamado cuando la entrada seleccionada cambia.
 
Ref< int > focused_entry = 0
 

Member Function Documentation

◆ Simple()

RadioboxOption Simple ( )
static

Opción para Radiobox estándar.

Definition at line 265 of file component_options.cpp.

Member Data Documentation

◆ entries

Definition at line 201 of file component_options.hpp.

◆ selected

Ref<int> selected = 0

Definition at line 202 of file component_options.hpp.

◆ transform

std::function<Element(const EntryState&)> transform

Definition at line 205 of file component_options.hpp.

◆ on_change

std::function<void()> on_change = [] {}

Llamado cuando la entrada seleccionada cambia.

Definition at line 209 of file component_options.hpp.

◆ focused_entry

Ref<int> focused_entry = 0

Definition at line 210 of file component_options.hpp.

◆ ftxui::WindowRenderState

struct ftxui::WindowRenderState

Estado pasado a la función de renderizado del componente Window.

Definition at line 243 of file component_options.hpp.

Public Attributes

Element inner
 El elemento envuelto dentro de esta ventana.
 
const std::string & title
 El título de la ventana.
 
bool active = false
 Si la ventana es la activa.
 
bool drag = false
 Si la ventana está siendo arrastrada.
 
bool resize = false
 Si la ventana está siendo redimensionada.
 
bool hover_left = false
 Si el lado izquierdo redimensionable está siendo "hovered".
 
bool hover_right = false
 Si el lado derecho redimensionable está siendo "hovered".
 
bool hover_top = false
 Si el lado superior redimensionable está siendo "hovered".
 
bool hover_down = false
 Si el lado inferior redimensionable está siendo "hovered".
 

Member Data Documentation

◆ inner

Element inner

El elemento envuelto dentro de esta ventana.

Definition at line 244 of file component_options.hpp.

◆ title

const std::string& title

El título de la ventana.

Definition at line 245 of file component_options.hpp.

◆ active

bool active = false

Si la ventana es la activa.

Definition at line 246 of file component_options.hpp.

◆ drag

bool drag = false

Si la ventana está siendo arrastrada.

Definition at line 247 of file component_options.hpp.

◆ resize

bool resize = false

Si la ventana está siendo redimensionada.

Definition at line 248 of file component_options.hpp.

◆ hover_left

bool hover_left = false

Si el lado izquierdo redimensionable está siendo "hovered".

Definition at line 249 of file component_options.hpp.

◆ hover_right

bool hover_right = false

Si el lado derecho redimensionable está siendo "hovered".

Definition at line 250 of file component_options.hpp.

◆ hover_top

bool hover_top = false

Si el lado superior redimensionable está siendo "hovered".

Definition at line 251 of file component_options.hpp.

◆ hover_down

bool hover_down = false

Si el lado inferior redimensionable está siendo "hovered".

Definition at line 252 of file component_options.hpp.

◆ ftxui::DropdownOption

struct ftxui::DropdownOption

Opción para el componente Dropdown.

Un menú desplegable es un checkbox que abre/cierra un radiobox.

Definition at line 278 of file component_options.hpp.

Public Attributes

Ref< bool > open = false
 Si el desplegable está abierto o cerrado:
 
CheckboxOption checkbox
 
RadioboxOption radiobox
 
std::function< Element(bool open, Element checkbox, Element radiobox)> transform
 

Member Data Documentation

◆ open

Ref<bool> open = false

Si el desplegable está abierto o cerrado:

Definition at line 280 of file component_options.hpp.

◆ checkbox

CheckboxOption checkbox

Definition at line 282 of file component_options.hpp.

◆ radiobox

RadioboxOption radiobox

Definition at line 284 of file component_options.hpp.

◆ transform

std::function<Element(bool open, Element checkbox, Element radiobox)> transform

Definition at line 287 of file component_options.hpp.

◆ ftxui::Event

struct ftxui::Event

Representa un evento. Puede ser un evento de pulsación de tecla, un redimensionamiento de terminal, o más...

Por ejemplo:

  • Los caracteres imprimibles se pueden crear usando Event::Character('a').
  • Algunos especiales están predefinidos, como Event::ArrowLeft.
  • Se puede encontrar un código arbitrario para eventos especiales usando: ./example/util/print_key_press Por ejemplo, CTRL+A se mapea a Event::Special({1});

Documentación útil sobre la especificación de xterm: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Examples
examples/component/canvas_animated.cpp, examples/component/custom_loop.cpp, examples/component/input.cpp, and examples/component/print_key_press.cpp.

Definition at line 29 of file event.hpp.

Public Member Functions

bool operator== (const Event &other) const
 
bool operator!= (const Event &other) const
 
bool operator< (const Event &other) const
 
const std::string & input () const
 
bool is_character () const
 
std::string character () const
 
bool is_mouse () const
 
struct Mousemouse ()
 
bool is_cursor_position () const
 
int cursor_x () const
 
int cursor_y () const
 
bool is_cursor_shape () const
 
int cursor_shape () const
 
std::string DebugString () const
 Devuelve una representación en cadena del evento.
 

Static Public Member Functions

static Event Character (std::string)
 Un evento correspondiente a un carácter escrito.
 
static Event Character (char)
 Un evento correspondiente a un carácter escrito.
 
static Event Character (wchar_t)
 Un evento correspondiente a un carácter escrito.
 
static Event Special (std::string)
 Un evento personalizado cuyo significado es definido por el usuario de la biblioteca.
 
static Event Mouse (std::string, Mouse mouse)
 Un evento correspondiente a un carácter escrito.
 
static Event CursorPosition (std::string, int x, int y)
 
static Event CursorShape (std::string, int shape)
 Un evento correspondiente a una cadena de control de dispositivo (DCS) de terminal.
 

Public Attributes

ScreenInteractivescreen_ = nullptr
 

Static Public Attributes

static const Event ArrowLeft = Event::Special("\x1B[D")
 
static const Event ArrowRight = Event::Special("\x1B[C")
 
static const Event ArrowUp = Event::Special("\x1B[A")
 
static const Event ArrowDown = Event::Special("\x1B[B")
 
static const Event ArrowLeftCtrl = Event::Special("\x1B[1;5D")
 
static const Event ArrowRightCtrl = Event::Special("\x1B[1;5C")
 
static const Event ArrowUpCtrl = Event::Special("\x1B[1;5A")
 
static const Event ArrowDownCtrl = Event::Special("\x1B[1;5B")
 
static const Event Backspace = Event::Special({127})
 
static const Event Delete = Event::Special("\x1B[3~")
 
static const Event Return = Event::Special({10})
 
static const Event Escape = Event::Special("\x1B")
 
static const Event Tab = Event::Special({9})
 
static const Event TabReverse = Event::Special({27, 91, 90})
 
static const Event Insert = Event::Special("\x1B[2~")
 
static const Event Home = Event::Special({27, 91, 72})
 
static const Event End = Event::Special({27, 91, 70})
 
static const Event PageUp = Event::Special({27, 91, 53, 126})
 
static const Event PageDown = Event::Special({27, 91, 54, 126})
 
static const Event F1 = Event::Special("\x1BOP")
 
static const Event F2 = Event::Special("\x1BOQ")
 
static const Event F3 = Event::Special("\x1BOR")
 
static const Event F4 = Event::Special("\x1BOS")
 
static const Event F5 = Event::Special("\x1B[15~")
 
static const Event F6 = Event::Special("\x1B[17~")
 
static const Event F7 = Event::Special("\x1B[18~")
 
static const Event F8 = Event::Special("\x1B[19~")
 
static const Event F9 = Event::Special("\x1B[20~")
 
static const Event F10 = Event::Special("\x1B[21~")
 
static const Event F11 = Event::Special("\x1B[23~")
 
static const Event F12 = Event::Special("\x1B[24~")
 
static const Event a = Event::Character("a")
 
static const Event A = Event::Character("A")
 
static const Event CtrlA = Event::Special("\x01")
 
static const Event AltA = Event::Special("\x1b""a")
 
static const Event CtrlAltA = Event::Special("\x1b\x01")
 
static const Event b = Event::Character("b")
 
static const Event B = Event::Character("B")
 
static const Event CtrlB = Event::Special("\x02")
 
static const Event AltB = Event::Special("\x1b""b")
 
static const Event CtrlAltB = Event::Special("\x1b\x02")
 
static const Event c = Event::Character("c")
 
static const Event C = Event::Character("C")
 
static const Event CtrlC = Event::Special("\x03")
 
static const Event AltC = Event::Special("\x1b""c")
 
static const Event CtrlAltC = Event::Special("\x1b\x03")
 
static const Event d = Event::Character("d")
 
static const Event D = Event::Character("D")
 
static const Event CtrlD = Event::Special("\x04")
 
static const Event AltD = Event::Special("\x1b""d")
 
static const Event CtrlAltD = Event::Special("\x1b\x04")
 
static const Event e = Event::Character("e")
 
static const Event E = Event::Character("E")
 
static const Event CtrlE = Event::Special("\x05")
 
static const Event AltE = Event::Special("\x1b""e")
 
static const Event CtrlAltE = Event::Special("\x1b\x05")
 
static const Event f = Event::Character("f")
 
static const Event F = Event::Character("F")
 
static const Event CtrlF = Event::Special("\x06")
 
static const Event AltF = Event::Special("\x1b""f")
 
static const Event CtrlAltF = Event::Special("\x1b\x06")
 
static const Event g = Event::Character("g")
 
static const Event G = Event::Character("G")
 
static const Event CtrlG = Event::Special("\x07")
 
static const Event AltG = Event::Special("\x1b""g")
 
static const Event CtrlAltG = Event::Special("\x1b\x07")
 
static const Event h = Event::Character("h")
 
static const Event H = Event::Character("H")
 
static const Event CtrlH = Event::Special("\x08")
 
static const Event AltH = Event::Special("\x1b""h")
 
static const Event CtrlAltH = Event::Special("\x1b\x08")
 
static const Event i = Event::Character("i")
 
static const Event I = Event::Character("I")
 
static const Event CtrlI = Event::Special("\x09")
 
static const Event AltI = Event::Special("\x1b""i")
 
static const Event CtrlAltI = Event::Special("\x1b\x09")
 
static const Event j = Event::Character("j")
 
static const Event J = Event::Character("J")
 
static const Event CtrlJ = Event::Special("\x0a")
 
static const Event AltJ = Event::Special("\x1b""j")
 
static const Event CtrlAltJ = Event::Special("\x1b\x0a")
 
static const Event k = Event::Character("k")
 
static const Event K = Event::Character("K")
 
static const Event CtrlK = Event::Special("\x0b")
 
static const Event AltK = Event::Special("\x1b""k")
 
static const Event CtrlAltK = Event::Special("\x1b\x0b")
 
static const Event l = Event::Character("l")
 
static const Event L = Event::Character("L")
 
static const Event CtrlL = Event::Special("\x0c")
 
static const Event AltL = Event::Special("\x1b""l")
 
static const Event CtrlAltL = Event::Special("\x1b\x0c")
 
static const Event m = Event::Character("m")
 
static const Event M = Event::Character("M")
 
static const Event CtrlM = Event::Special("\x0d")
 
static const Event AltM = Event::Special("\x1b""m")
 
static const Event CtrlAltM = Event::Special("\x1b\x0d")
 
static const Event n = Event::Character("n")
 
static const Event N = Event::Character("N")
 
static const Event CtrlN = Event::Special("\x0e")
 
static const Event AltN = Event::Special("\x1b""n")
 
static const Event CtrlAltN = Event::Special("\x1b\x0e")
 
static const Event o = Event::Character("o")
 
static const Event O = Event::Character("O")
 
static const Event CtrlO = Event::Special("\x0f")
 
static const Event AltO = Event::Special("\x1b""o")
 
static const Event CtrlAltO = Event::Special("\x1b\x0f")
 
static const Event p = Event::Character("p")
 
static const Event P = Event::Character("P")
 
static const Event CtrlP = Event::Special("\x10")
 
static const Event AltP = Event::Special("\x1b""p")
 
static const Event CtrlAltP = Event::Special("\x1b\x10")
 
static const Event q = Event::Character("q")
 
static const Event Q = Event::Character("Q")
 
static const Event CtrlQ = Event::Special("\x11")
 
static const Event AltQ = Event::Special("\x1b""q")
 
static const Event CtrlAltQ = Event::Special("\x1b\x11")
 
static const Event r = Event::Character("r")
 
static const Event R = Event::Character("R")
 
static const Event CtrlR = Event::Special("\x12")
 
static const Event AltR = Event::Special("\x1b""r")
 
static const Event CtrlAltR = Event::Special("\x1b\x12")
 
static const Event s = Event::Character("s")
 
static const Event S = Event::Character("S")
 
static const Event CtrlS = Event::Special("\x13")
 
static const Event AltS = Event::Special("\x1b""s")
 
static const Event CtrlAltS = Event::Special("\x1b\x13")
 
static const Event t = Event::Character("t")
 
static const Event T = Event::Character("T")
 
static const Event CtrlT = Event::Special("\x14")
 
static const Event AltT = Event::Special("\x1b""t")
 
static const Event CtrlAltT = Event::Special("\x1b\x14")
 
static const Event u = Event::Character("u")
 
static const Event U = Event::Character("U")
 
static const Event CtrlU = Event::Special("\x15")
 
static const Event AltU = Event::Special("\x1b""u")
 
static const Event CtrlAltU = Event::Special("\x1b\x15")
 
static const Event v = Event::Character("v")
 
static const Event V = Event::Character("V")
 
static const Event CtrlV = Event::Special("\x16")
 
static const Event AltV = Event::Special("\x1b""v")
 
static const Event CtrlAltV = Event::Special("\x1b\x16")
 
static const Event w = Event::Character("w")
 
static const Event W = Event::Character("W")
 
static const Event CtrlW = Event::Special("\x17")
 
static const Event AltW = Event::Special("\x1b""w")
 
static const Event CtrlAltW = Event::Special("\x1b\x17")
 
static const Event x = Event::Character("x")
 
static const Event X = Event::Character("X")
 
static const Event CtrlX = Event::Special("\x18")
 
static const Event AltX = Event::Special("\x1b""x")
 
static const Event CtrlAltX = Event::Special("\x1b\x18")
 
static const Event y = Event::Character("y")
 
static const Event Y = Event::Character("Y")
 
static const Event CtrlY = Event::Special("\x19")
 
static const Event AltY = Event::Special("\x1b""y")
 
static const Event CtrlAltY = Event::Special("\x1b\x19")
 
static const Event z = Event::Character("z")
 
static const Event Z = Event::Character("Z")
 
static const Event CtrlZ = Event::Special("\x1a")
 
static const Event AltZ = Event::Special("\x1b""z")
 
static const Event CtrlAltZ = Event::Special("\x1b\x1a")
 
static const Event Custom = Event::Special({0})
 

Member Function Documentation

◆ Character() [1/3]

Event Character ( std::string input)
static

Un evento correspondiente a un carácter escrito.

Parameters
inputEl carácter escrito por el usuario.

Definition at line 28 of file event.cpp.

◆ Character() [2/3]

Event Character ( char c)
static

Un evento correspondiente a un carácter escrito.

Parameters
cEl carácter escrito por el usuario.

Definition at line 38 of file event.cpp.

◆ Character() [3/3]

Event Character ( wchar_t c)
static

Un evento correspondiente a un carácter escrito.

Parameters
cEl carácter escrito por el usuario.

Definition at line 45 of file event.cpp.

◆ Special()

Event Special ( std::string input)
static

Un evento personalizado cuyo significado es definido por el usuario de la biblioteca.

Parameters
inputUna secuencia arbitraria de caracteres definida por el desarrollador.

Definition at line 74 of file event.cpp.

◆ Mouse()

Event Mouse ( std::string input,
Mouse mouse )
static

Un evento correspondiente a un carácter escrito.

Parameters
inputLa secuencia de caracteres enviada por el terminal.
mouseEl estado del ratón.

Definition at line 53 of file event.cpp.

◆ CursorPosition()

Event CursorPosition ( std::string input,
int x,
int y )
static

Definition at line 82 of file event.cpp.

◆ CursorShape()

Event CursorShape ( std::string input,
int shape )
static

Un evento correspondiente a una cadena de control de dispositivo (DCS) de terminal.

Definition at line 63 of file event.cpp.

◆ operator==()

bool operator== ( const Event & other) const
inline

Definition at line 100 of file event.hpp.

◆ operator!=()

bool operator!= ( const Event & other) const
inline

Definition at line 101 of file event.hpp.

◆ operator<()

bool operator< ( const Event & other) const
inline

Definition at line 102 of file event.hpp.

◆ input()

const std::string & input ( ) const
inline
Examples
examples/component/print_key_press.cpp.

Definition at line 104 of file event.hpp.

◆ is_character()

bool is_character ( ) const
inline

Definition at line 106 of file event.hpp.

◆ character()

std::string character ( ) const
inline
Examples
examples/component/input.cpp.

Definition at line 107 of file event.hpp.

◆ is_mouse()

bool is_mouse ( ) const
inline
Examples
examples/component/canvas_animated.cpp.

Definition at line 109 of file event.hpp.

◆ mouse()

struct Mouse & mouse ( )
inline

Definition at line 110 of file event.hpp.

◆ is_cursor_position()

bool is_cursor_position ( ) const
inline

Definition at line 113 of file event.hpp.

◆ cursor_x()

int cursor_x ( ) const
inline

Definition at line 114 of file event.hpp.

◆ cursor_y()

int cursor_y ( ) const
inline

Definition at line 115 of file event.hpp.

◆ is_cursor_shape()

bool is_cursor_shape ( ) const
inline

Definition at line 117 of file event.hpp.

◆ cursor_shape()

int cursor_shape ( ) const
inline

Definition at line 118 of file event.hpp.

◆ DebugString()

std::string DebugString ( ) const

Devuelve una representación en cadena del evento.

Definition at line 91 of file event.cpp.

Member Data Documentation

◆ ArrowLeft

const Event ArrowLeft = Event::Special("\x1B[D")
static

Definition at line 40 of file event.hpp.

◆ ArrowRight

const Event ArrowRight = Event::Special("\x1B[C")
static

Definition at line 41 of file event.hpp.

◆ ArrowUp

const Event ArrowUp = Event::Special("\x1B[A")
static

Definition at line 42 of file event.hpp.

◆ ArrowDown

const Event ArrowDown = Event::Special("\x1B[B")
static

Definition at line 43 of file event.hpp.

◆ ArrowLeftCtrl

const Event ArrowLeftCtrl = Event::Special("\x1B[1;5D")
static

Definition at line 45 of file event.hpp.

◆ ArrowRightCtrl

const Event ArrowRightCtrl = Event::Special("\x1B[1;5C")
static

Definition at line 46 of file event.hpp.

◆ ArrowUpCtrl

const Event ArrowUpCtrl = Event::Special("\x1B[1;5A")
static

Definition at line 47 of file event.hpp.

◆ ArrowDownCtrl

const Event ArrowDownCtrl = Event::Special("\x1B[1;5B")
static

Definition at line 48 of file event.hpp.

◆ Backspace

const Event Backspace = Event::Special({127})
static

Definition at line 51 of file event.hpp.

◆ Delete

const Event Delete = Event::Special("\x1B[3~")
static

Definition at line 52 of file event.hpp.

◆ Return

const Event Return = Event::Special({10})
static

Definition at line 53 of file event.hpp.

◆ Escape

const Event Escape = Event::Special("\x1B")
static

Definition at line 54 of file event.hpp.

◆ Tab

const Event Tab = Event::Special({9})
static

Definition at line 55 of file event.hpp.

◆ TabReverse

const Event TabReverse = Event::Special({27, 91, 90})
static

Definition at line 56 of file event.hpp.

◆ Insert

const Event Insert = Event::Special("\x1B[2~")
static

Definition at line 59 of file event.hpp.

◆ Home

const Event Home = Event::Special({27, 91, 72})
static

Definition at line 60 of file event.hpp.

◆ End

const Event End = Event::Special({27, 91, 70})
static

Definition at line 61 of file event.hpp.

◆ PageUp

const Event PageUp = Event::Special({27, 91, 53, 126})
static

Definition at line 62 of file event.hpp.

◆ PageDown

const Event PageDown = Event::Special({27, 91, 54, 126})
static

Definition at line 63 of file event.hpp.

◆ F1

const Event F1 = Event::Special("\x1BOP")
static

Definition at line 66 of file event.hpp.

◆ F2

const Event F2 = Event::Special("\x1BOQ")
static

Definition at line 66 of file event.hpp.

◆ F3

const Event F3 = Event::Special("\x1BOR")
static

Definition at line 66 of file event.hpp.

◆ F4

const Event F4 = Event::Special("\x1BOS")
static

Definition at line 66 of file event.hpp.

◆ F5

const Event F5 = Event::Special("\x1B[15~")
static

Definition at line 66 of file event.hpp.

◆ F6

const Event F6 = Event::Special("\x1B[17~")
static

Definition at line 66 of file event.hpp.

◆ F7

const Event F7 = Event::Special("\x1B[18~")
static

Definition at line 66 of file event.hpp.

◆ F8

const Event F8 = Event::Special("\x1B[19~")
static

Definition at line 66 of file event.hpp.

◆ F9

const Event F9 = Event::Special("\x1B[20~")
static

Definition at line 66 of file event.hpp.

◆ F10

const Event F10 = Event::Special("\x1B[21~")
static

Definition at line 66 of file event.hpp.

◆ F11

const Event F11 = Event::Special("\x1B[23~")
static

Definition at line 66 of file event.hpp.

◆ F12

const Event F12 = Event::Special("\x1B[24~")
static

Definition at line 66 of file event.hpp.

◆ a

const Event a = Event::Character("a")
static

Definition at line 69 of file event.hpp.

◆ A

const Event A = Event::Character("A")
static

Definition at line 69 of file event.hpp.

◆ CtrlA

const Event CtrlA = Event::Special("\x01")
static

Definition at line 69 of file event.hpp.

◆ AltA

const Event AltA = Event::Special("\x1b""a")
static

Definition at line 69 of file event.hpp.

◆ CtrlAltA

const Event CtrlAltA = Event::Special("\x1b\x01")
static

Definition at line 69 of file event.hpp.

◆ b

const Event b = Event::Character("b")
static

Definition at line 70 of file event.hpp.

◆ B

const Event B = Event::Character("B")
static

Definition at line 70 of file event.hpp.

◆ CtrlB

const Event CtrlB = Event::Special("\x02")
static

Definition at line 70 of file event.hpp.

◆ AltB

const Event AltB = Event::Special("\x1b""b")
static

Definition at line 70 of file event.hpp.

◆ CtrlAltB

const Event CtrlAltB = Event::Special("\x1b\x02")
static

Definition at line 70 of file event.hpp.

◆ c

const Event c = Event::Character("c")
static

Definition at line 71 of file event.hpp.

◆ C

const Event C = Event::Character("C")
static

Definition at line 71 of file event.hpp.

◆ CtrlC

const Event CtrlC = Event::Special("\x03")
static

Definition at line 71 of file event.hpp.

◆ AltC

const Event AltC = Event::Special("\x1b""c")
static

Definition at line 71 of file event.hpp.

◆ CtrlAltC

const Event CtrlAltC = Event::Special("\x1b\x03")
static

Definition at line 71 of file event.hpp.

◆ d

const Event d = Event::Character("d")
static

Definition at line 72 of file event.hpp.

◆ D

const Event D = Event::Character("D")
static

Definition at line 72 of file event.hpp.

◆ CtrlD

const Event CtrlD = Event::Special("\x04")
static

Definition at line 72 of file event.hpp.

◆ AltD

const Event AltD = Event::Special("\x1b""d")
static

Definition at line 72 of file event.hpp.

◆ CtrlAltD

const Event CtrlAltD = Event::Special("\x1b\x04")
static

Definition at line 72 of file event.hpp.

◆ e

const Event e = Event::Character("e")
static

Definition at line 73 of file event.hpp.

◆ E

const Event E = Event::Character("E")
static

Definition at line 73 of file event.hpp.

◆ CtrlE

const Event CtrlE = Event::Special("\x05")
static

Definition at line 73 of file event.hpp.

◆ AltE

const Event AltE = Event::Special("\x1b""e")
static

Definition at line 73 of file event.hpp.

◆ CtrlAltE

const Event CtrlAltE = Event::Special("\x1b\x05")
static

Definition at line 73 of file event.hpp.

◆ f

const Event f = Event::Character("f")
static

Definition at line 74 of file event.hpp.

◆ F

const Event F = Event::Character("F")
static

Definition at line 74 of file event.hpp.

◆ CtrlF

const Event CtrlF = Event::Special("\x06")
static

Definition at line 74 of file event.hpp.

◆ AltF

const Event AltF = Event::Special("\x1b""f")
static

Definition at line 74 of file event.hpp.

◆ CtrlAltF

const Event CtrlAltF = Event::Special("\x1b\x06")
static

Definition at line 74 of file event.hpp.

◆ g

const Event g = Event::Character("g")
static

Definition at line 75 of file event.hpp.

◆ G

const Event G = Event::Character("G")
static

Definition at line 75 of file event.hpp.

◆ CtrlG

const Event CtrlG = Event::Special("\x07")
static

Definition at line 75 of file event.hpp.

◆ AltG

const Event AltG = Event::Special("\x1b""g")
static

Definition at line 75 of file event.hpp.

◆ CtrlAltG

const Event CtrlAltG = Event::Special("\x1b\x07")
static

Definition at line 75 of file event.hpp.

◆ h

const Event h = Event::Character("h")
static

Definition at line 76 of file event.hpp.

◆ H

const Event H = Event::Character("H")
static

Definition at line 76 of file event.hpp.

◆ CtrlH

const Event CtrlH = Event::Special("\x08")
static

Definition at line 76 of file event.hpp.

◆ AltH

const Event AltH = Event::Special("\x1b""h")
static

Definition at line 76 of file event.hpp.

◆ CtrlAltH

const Event CtrlAltH = Event::Special("\x1b\x08")
static

Definition at line 76 of file event.hpp.

◆ i

const Event i = Event::Character("i")
static

Definition at line 77 of file event.hpp.

◆ I

const Event I = Event::Character("I")
static

Definition at line 77 of file event.hpp.

◆ CtrlI

const Event CtrlI = Event::Special("\x09")
static

Definition at line 77 of file event.hpp.

◆ AltI

const Event AltI = Event::Special("\x1b""i")
static

Definition at line 77 of file event.hpp.

◆ CtrlAltI

const Event CtrlAltI = Event::Special("\x1b\x09")
static

Definition at line 77 of file event.hpp.

◆ j

const Event j = Event::Character("j")
static

Definition at line 78 of file event.hpp.

◆ J

const Event J = Event::Character("J")
static

Definition at line 78 of file event.hpp.

◆ CtrlJ

const Event CtrlJ = Event::Special("\x0a")
static

Definition at line 78 of file event.hpp.

◆ AltJ

const Event AltJ = Event::Special("\x1b""j")
static

Definition at line 78 of file event.hpp.

◆ CtrlAltJ

const Event CtrlAltJ = Event::Special("\x1b\x0a")
static

Definition at line 78 of file event.hpp.

◆ k

const Event k = Event::Character("k")
static

Definition at line 79 of file event.hpp.

◆ K

const Event K = Event::Character("K")
static

Definition at line 79 of file event.hpp.

◆ CtrlK

const Event CtrlK = Event::Special("\x0b")
static

Definition at line 79 of file event.hpp.

◆ AltK

const Event AltK = Event::Special("\x1b""k")
static

Definition at line 79 of file event.hpp.

◆ CtrlAltK

const Event CtrlAltK = Event::Special("\x1b\x0b")
static

Definition at line 79 of file event.hpp.

◆ l

const Event l = Event::Character("l")
static

Definition at line 80 of file event.hpp.

◆ L

const Event L = Event::Character("L")
static

Definition at line 80 of file event.hpp.

◆ CtrlL

const Event CtrlL = Event::Special("\x0c")
static

Definition at line 80 of file event.hpp.

◆ AltL

const Event AltL = Event::Special("\x1b""l")
static

Definition at line 80 of file event.hpp.

◆ CtrlAltL

const Event CtrlAltL = Event::Special("\x1b\x0c")
static

Definition at line 80 of file event.hpp.

◆ m

const Event m = Event::Character("m")
static

Definition at line 81 of file event.hpp.

◆ M

const Event M = Event::Character("M")
static

Definition at line 81 of file event.hpp.

◆ CtrlM

const Event CtrlM = Event::Special("\x0d")
static

Definition at line 81 of file event.hpp.

◆ AltM

const Event AltM = Event::Special("\x1b""m")
static

Definition at line 81 of file event.hpp.

◆ CtrlAltM

const Event CtrlAltM = Event::Special("\x1b\x0d")
static

Definition at line 81 of file event.hpp.

◆ n

const Event n = Event::Character("n")
static

Definition at line 82 of file event.hpp.

◆ N

const Event N = Event::Character("N")
static

Definition at line 82 of file event.hpp.

◆ CtrlN

const Event CtrlN = Event::Special("\x0e")
static

Definition at line 82 of file event.hpp.

◆ AltN

const Event AltN = Event::Special("\x1b""n")
static

Definition at line 82 of file event.hpp.

◆ CtrlAltN

const Event CtrlAltN = Event::Special("\x1b\x0e")
static

Definition at line 82 of file event.hpp.

◆ o

const Event o = Event::Character("o")
static

Definition at line 83 of file event.hpp.

◆ O

const Event O = Event::Character("O")
static

Definition at line 83 of file event.hpp.

◆ CtrlO

const Event CtrlO = Event::Special("\x0f")
static

Definition at line 83 of file event.hpp.

◆ AltO

const Event AltO = Event::Special("\x1b""o")
static

Definition at line 83 of file event.hpp.

◆ CtrlAltO

const Event CtrlAltO = Event::Special("\x1b\x0f")
static

Definition at line 83 of file event.hpp.

◆ p

const Event p = Event::Character("p")
static

Definition at line 84 of file event.hpp.

◆ P

const Event P = Event::Character("P")
static

Definition at line 84 of file event.hpp.

◆ CtrlP

const Event CtrlP = Event::Special("\x10")
static

Definition at line 84 of file event.hpp.

◆ AltP

const Event AltP = Event::Special("\x1b""p")
static

Definition at line 84 of file event.hpp.

◆ CtrlAltP

const Event CtrlAltP = Event::Special("\x1b\x10")
static

Definition at line 84 of file event.hpp.

◆ q

const Event q = Event::Character("q")
static

Definition at line 85 of file event.hpp.

◆ Q

const Event Q = Event::Character("Q")
static

Definition at line 85 of file event.hpp.

◆ CtrlQ

const Event CtrlQ = Event::Special("\x11")
static

Definition at line 85 of file event.hpp.

◆ AltQ

const Event AltQ = Event::Special("\x1b""q")
static

Definition at line 85 of file event.hpp.

◆ CtrlAltQ

const Event CtrlAltQ = Event::Special("\x1b\x11")
static

Definition at line 85 of file event.hpp.

◆ r

const Event r = Event::Character("r")
static

Definition at line 86 of file event.hpp.

◆ R

const Event R = Event::Character("R")
static

Definition at line 86 of file event.hpp.

◆ CtrlR

const Event CtrlR = Event::Special("\x12")
static

Definition at line 86 of file event.hpp.

◆ AltR

const Event AltR = Event::Special("\x1b""r")
static

Definition at line 86 of file event.hpp.

◆ CtrlAltR

const Event CtrlAltR = Event::Special("\x1b\x12")
static

Definition at line 86 of file event.hpp.

◆ s

const Event s = Event::Character("s")
static

Definition at line 87 of file event.hpp.

◆ S

const Event S = Event::Character("S")
static

Definition at line 87 of file event.hpp.

◆ CtrlS

const Event CtrlS = Event::Special("\x13")
static

Definition at line 87 of file event.hpp.

◆ AltS

const Event AltS = Event::Special("\x1b""s")
static

Definition at line 87 of file event.hpp.

◆ CtrlAltS

const Event CtrlAltS = Event::Special("\x1b\x13")
static

Definition at line 87 of file event.hpp.

◆ t

const Event t = Event::Character("t")
static

Definition at line 88 of file event.hpp.

◆ T

const Event T = Event::Character("T")
static

Definition at line 88 of file event.hpp.

◆ CtrlT

const Event CtrlT = Event::Special("\x14")
static

Definition at line 88 of file event.hpp.

◆ AltT

const Event AltT = Event::Special("\x1b""t")
static

Definition at line 88 of file event.hpp.

◆ CtrlAltT

const Event CtrlAltT = Event::Special("\x1b\x14")
static

Definition at line 88 of file event.hpp.

◆ u

const Event u = Event::Character("u")
static

Definition at line 89 of file event.hpp.

◆ U

const Event U = Event::Character("U")
static

Definition at line 89 of file event.hpp.

◆ CtrlU

const Event CtrlU = Event::Special("\x15")
static

Definition at line 89 of file event.hpp.

◆ AltU

const Event AltU = Event::Special("\x1b""u")
static

Definition at line 89 of file event.hpp.

◆ CtrlAltU

const Event CtrlAltU = Event::Special("\x1b\x15")
static

Definition at line 89 of file event.hpp.

◆ v

const Event v = Event::Character("v")
static

Definition at line 90 of file event.hpp.

◆ V

const Event V = Event::Character("V")
static

Definition at line 90 of file event.hpp.

◆ CtrlV

const Event CtrlV = Event::Special("\x16")
static

Definition at line 90 of file event.hpp.

◆ AltV

const Event AltV = Event::Special("\x1b""v")
static

Definition at line 90 of file event.hpp.

◆ CtrlAltV

const Event CtrlAltV = Event::Special("\x1b\x16")
static

Definition at line 90 of file event.hpp.

◆ w

const Event w = Event::Character("w")
static

Definition at line 91 of file event.hpp.

◆ W

const Event W = Event::Character("W")
static

Definition at line 91 of file event.hpp.

◆ CtrlW

const Event CtrlW = Event::Special("\x17")
static

Definition at line 91 of file event.hpp.

◆ AltW

const Event AltW = Event::Special("\x1b""w")
static

Definition at line 91 of file event.hpp.

◆ CtrlAltW

const Event CtrlAltW = Event::Special("\x1b\x17")
static

Definition at line 91 of file event.hpp.

◆ x

const Event x = Event::Character("x")
static

Definition at line 92 of file event.hpp.

◆ X

const Event X = Event::Character("X")
static

Definition at line 92 of file event.hpp.

◆ CtrlX

const Event CtrlX = Event::Special("\x18")
static

Definition at line 92 of file event.hpp.

◆ AltX

const Event AltX = Event::Special("\x1b""x")
static

Definition at line 92 of file event.hpp.

◆ CtrlAltX

const Event CtrlAltX = Event::Special("\x1b\x18")
static

Definition at line 92 of file event.hpp.

◆ y

const Event y = Event::Character("y")
static

Definition at line 93 of file event.hpp.

◆ Y

const Event Y = Event::Character("Y")
static

Definition at line 93 of file event.hpp.

◆ CtrlY

const Event CtrlY = Event::Special("\x19")
static

Definition at line 93 of file event.hpp.

◆ AltY

const Event AltY = Event::Special("\x1b""y")
static

Definition at line 93 of file event.hpp.

◆ CtrlAltY

const Event CtrlAltY = Event::Special("\x1b\x19")
static

Definition at line 93 of file event.hpp.

◆ z

const Event z = Event::Character("z")
static

Definition at line 94 of file event.hpp.

◆ Z

const Event Z = Event::Character("Z")
static

Definition at line 94 of file event.hpp.

◆ CtrlZ

const Event CtrlZ = Event::Special("\x1a")
static

Definition at line 94 of file event.hpp.

◆ AltZ

const Event AltZ = Event::Special("\x1b""z")
static

Definition at line 94 of file event.hpp.

◆ CtrlAltZ

const Event CtrlAltZ = Event::Special("\x1b\x1a")
static

Definition at line 94 of file event.hpp.

◆ Custom

const Event Custom = Event::Special({0})
static

Definition at line 97 of file event.hpp.

◆ screen_

ScreenInteractive* screen_ = nullptr

Definition at line 124 of file event.hpp.

◆ mouse

struct Mouse mouse
Examples
examples/component/canvas_animated.cpp.

Definition at line 144 of file event.hpp.

◆ cursor

struct Cursor cursor

Definition at line 145 of file event.hpp.

◆ cursor_shape

int cursor_shape

Definition at line 146 of file event.hpp.

◆ ftxui::Loop

class ftxui::Loop

Loop es una clase que gestiona el bucle de eventos de un componente.

Es responsable de ejecutar el componente, manejar los eventos y actualizar la pantalla.

La clase Loop está diseñada para ser utilizada con un objeto ScreenInteractive, que representa la pantalla del terminal.

Ejemplo

int main() {
auto component = ftxui::Button("Click me", [] { ... });
ftxui::Loop loop(screen.get(), component);
// O
loop.Run(); // Bloquea hasta que el componente se cierra.
// O
loop.RunOnce(); // No bloqueante, regresa inmediatamente.
// O
loop.RunOnceBlocking(); // Bloquea hasta manejar un evento.
// O en un bucle:
while (!loop.HasQuitted()) {
loop.RunOnce();
// Haz otra cosa como ejecutar una función de bucle de otra biblioteca.
}
}
auto screen
static ScreenInteractive TerminalOutput()
Loop es una clase que gestiona el bucle de eventos de un componente.
Definition loop.hpp:56
Component Button(ButtonOption options)
Dibuja un botón. Ejecuta una función al hacer clic.
Examples
examples/component/custom_loop.cpp, and examples/component/homescreen.cpp.

Definition at line 56 of file loop.hpp.

Public Member Functions

 Loop (ScreenInteractive *screen, Component component)
 Un Loop es un envoltorio alrededor de un Component y un ScreenInteractive. Se utiliza para ejecutar un Component en un terminal.
 
 ~Loop ()
 
bool HasQuitted ()
 Indica si el bucle ha terminado.
 
void RunOnce ()
 Ejecuta el bucle una vez. Hace que el component procese todas las tareas/eventos pendientes. Un nuevo fotograma podría dibujarse si el anterior fue invalidado. Devuelve true hasta que el bucle no haya terminado.
 
void RunOnceBlocking ()
 Espera a que se maneje al menos un evento y ejecuta Loop::RunOnce().
 
void Run ()
 
 Loop (const Loop &)=default
 
 Loop (Loop &&)=delete
 
Loopoperator= (Loop &&)=delete
 
 Loop (const ScreenInteractive &)=delete
 
Loopoperator= (const Loop &)=delete
 

Constructor & Destructor Documentation

◆ Loop() [1/4]

Loop ( ScreenInteractive * screen,
Component component )

Un Loop es un envoltorio alrededor de un Component y un ScreenInteractive. Se utiliza para ejecutar un Component en un terminal.

See also
Component, ScreenInteractive.
ScreenInteractive::Loop().
ScreenInteractive::ExitLoop().
Parameters
[in]screenLa pantalla a utilizar.
[in]componentEl componente a ejecutar.

Definition at line 20 of file loop.cpp.

◆ ~Loop()

~Loop ( )

Definition at line 25 of file loop.cpp.

◆ Loop() [2/4]

Loop ( const Loop & )
default

◆ Loop() [3/4]

Loop ( Loop && )
delete

◆ Loop() [4/4]

Loop ( const ScreenInteractive & )
delete

Member Function Documentation

◆ HasQuitted()

bool HasQuitted ( )

Indica si el bucle ha terminado.

Definition at line 30 of file loop.cpp.

◆ RunOnce()

void RunOnce ( )

Ejecuta el bucle una vez. Hace que el component procese todas las tareas/eventos pendientes. Un nuevo fotograma podría dibujarse si el anterior fue invalidado. Devuelve true hasta que el bucle no haya terminado.

Definition at line 37 of file loop.cpp.

◆ RunOnceBlocking()

void RunOnceBlocking ( )

Espera a que se maneje al menos un evento y ejecuta Loop::RunOnce().

Definition at line 43 of file loop.cpp.

◆ Run()

void Run ( )

Ejecuta el bucle, bloqueando el hilo actual, hasta que el bucle haya terminado.

Definition at line 49 of file loop.cpp.

◆ operator=() [1/2]

Loop & operator= ( Loop && )
delete

◆ operator=() [2/2]

Loop & operator= ( const Loop & )
delete

◆ ftxui::Mouse

struct ftxui::Mouse

Un evento del ratón. Contiene las coordenadas del ratón, el botón presionado y el modificador (shift, ctrl, meta).

Definition at line 11 of file mouse.hpp.

Public Types

enum  Button {
  Left = 0 ,
  Middle = 1 ,
  Right = 2 ,
  None = 3 ,
  WheelUp = 4 ,
  WheelDown = 5 ,
  WheelLeft = 6 ,
  WheelRight = 7
}
 
enum  Motion {
  Released = 0 ,
  Pressed = 1 ,
  Moved = 2
}
 

Public Attributes

Button button = Button::None
 
Motion motion = Motion::Pressed
 
bool shift = false
 
bool meta = false
 
bool control = false
 
int x = 0
 
int y = 0
 

Member Enumeration Documentation

◆ Button

enum Button
Enumerator
Left 
Middle 
Right 
None 
WheelUp 
WheelDown 
WheelLeft 
WheelRight 

Solo terminales compatibles.

Definition at line 12 of file mouse.hpp.

◆ Motion

enum Motion
Enumerator
Released 
Pressed 
Moved 

Definition at line 23 of file mouse.hpp.

Member Data Documentation

◆ button

Button button = Button::None

Definition at line 30 of file mouse.hpp.

◆ motion

Definition at line 33 of file mouse.hpp.

◆ shift

bool shift = false

Definition at line 36 of file mouse.hpp.

◆ meta

bool meta = false

Definition at line 37 of file mouse.hpp.

◆ control

bool control = false

Definition at line 38 of file mouse.hpp.

◆ x

int x = 0

Definition at line 41 of file mouse.hpp.

◆ y

int y = 0

Definition at line 42 of file mouse.hpp.

◆ ftxui::ScreenInteractive

class ftxui::ScreenInteractive

ScreenInteractive es una Screen que puede manejar eventos, ejecutar un bucle principal y administrar componentes.

Definition at line 35 of file screen_interactive.hpp.

+ Inheritance diagram for ScreenInteractive:

Public Types

using SelectionStyle = std::function<void(Pixel&)>
 

Public Member Functions

 ~ScreenInteractive () override
 
void TrackMouse (bool enable=true)
 Establece si el ratón es rastreado y se informan los eventos. se llama fuera del bucle principal. Por ejemplo, ScreenInteractive::Loop(...).
 
void HandlePipedInput (bool enable=true)
 Habilita o deshabilita el manejo automático de entrada por tubería. Cuando está habilitado, FTXUI detectará la entrada por tubería y redirigirá stdin desde /dev/tty para la entrada de teclado, permitiendo que las aplicaciones lean datos canalizados mientras siguen recibiendo eventos interactivos de teclado.
 
void Loop (Component)
 Ejecuta el bucle principal.
 
void Exit ()
 Sale del bucle principal.
 
Closure ExitLoopClosure ()
 Devuelve una función para salir del bucle principal.
 
void Post (Task task)
 Añade una tarea al bucle principal. Se ejecutará más tarde, después de todas las demás tareas programadas.
 
void PostEvent (Event event)
 Añade un evento al bucle principal. Se ejecutará más tarde, después de todos los demás eventos programados.
 
void RequestAnimationFrame ()
 Añade una tarea para dibujar la pantalla una vez más, hasta que todas las animaciones hayan terminado.
 
CapturedMouse CaptureMouse ()
 Intenta obtener el bloqueo único para poder capturar el ratón.
 
Closure WithRestoredIO (Closure)
 Decora una función. Se ejecuta de la misma manera, pero con los hooks del terminal de la pantalla activa temporalmente desinstalados durante su ejecución.
 
void ForceHandleCtrlC (bool force)
 Fuerza a FTXUI a manejar o no Ctrl-C, incluso si el componente captura el Event::CtrlC.
 
void ForceHandleCtrlZ (bool force)
 Fuerza a FTXUI a manejar o no Ctrl-Z, incluso si el componente captura el Event::CtrlZ.
 
std::string GetSelection ()
 Devuelve el contenido de la selección actual.
 
void SelectionChange (std::function< void()> callback)
 
std::string ToString () const
 
void Print () const
 
void Clear ()
 Borra todos los píxeles de la pantalla.
 
std::string ResetPosition (bool clear=false) const
 Devuelve una cadena que se puede imprimir para restablecer la posición del cursor al principio de la pantalla.
 
void ApplyShader ()
 
Cursor cursor () const
 
void SetCursor (Cursor cursor)
 
uint8_t RegisterHyperlink (const std::string &link)
 
const std::string & Hyperlink (uint8_t id) const
 
const SelectionStyleGetSelectionStyle () const
 Devuelve el estilo de selección actual.
 
void SetSelectionStyle (SelectionStyle decorator)
 Establece el estilo de selección actual.
 
std::string & at (int x, int y)
 Accede a un caracter en una celda en una posición dada.
 
const std::string & at (int x, int y) const
 Accede a un caracter en una celda en una posición dada.
 
PixelPixelAt (int x, int y)
 Accede a una celda (Pixel) en una posición dada.
 
const PixelPixelAt (int x, int y) const
 Accede a una celda (Pixel) en una posición dada.
 
int dimx () const
 
int dimy () const
 

Static Public Member Functions

static ScreenInteractive FixedSize (int dimx, int dimy)
 
static ScreenInteractive Fullscreen ()
 
static ScreenInteractive FullscreenPrimaryScreen ()
 
static ScreenInteractive FullscreenAlternateScreen ()
 
static ScreenInteractive FitComponent ()
 
static ScreenInteractive TerminalOutput ()
 
static ScreenInteractiveActive ()
 Devuelve la pantalla actualmente activa, o nulo si no hay ninguna.
 
static Screen Create (Dimensions dimension)
 Crea una pantalla con la dimensión dada.
 
static Screen Create (Dimensions width, Dimensions height)
 Crea una pantalla con la dimensión dada a lo largo de los ejes x e y.
 

Public Attributes

friend Private
 
Box stencil
 

Protected Attributes

Cursor cursor_
 
std::vector< std::string > hyperlinks_ = {""}
 
SelectionStyle selection_style_
 
int dimx_
 
int dimy_
 
std::vector< std::vector< Pixel > > pixels_
 

Member Typedef Documentation

◆ SelectionStyle

using SelectionStyle = std::function<void(Pixel&)>
inherited

Definition at line 74 of file screen.hpp.

Constructor & Destructor Documentation

◆ ~ScreenInteractive()

~ScreenInteractive ( )
overridedefault

Member Function Documentation

◆ FixedSize()

ScreenInteractive FixedSize ( int dimx,
int dimy )
static

Definition at line 280 of file screen_interactive.cpp.

◆ Fullscreen()

ScreenInteractive Fullscreen ( )
static

Crea una ScreenInteractive que ocupa todo el tamaño del terminal. Esto utiliza el búfer de pantalla alternativo para evitar interferir con el contenido del terminal.

Note
Es lo mismo que ScreenInteractive::FullscreenAlternateScreen()

Definition at line 293 of file screen_interactive.cpp.

◆ FullscreenPrimaryScreen()

ScreenInteractive FullscreenPrimaryScreen ( )
static

Crea una ScreenInteractive que ocupa todo el tamaño del terminal. Se utiliza el búfer de pantalla principal. Esto significa que si el terminal se redimensiona, el contenido anterior podría desordenarse con el contenido del terminal.

Definition at line 301 of file screen_interactive.cpp.

◆ FullscreenAlternateScreen()

ScreenInteractive FullscreenAlternateScreen ( )
static

Crea una ScreenInteractive que ocupa todo el tamaño del terminal. Esto utiliza el búfer de pantalla alternativo para evitar interferir con el contenido del terminal.

Definition at line 314 of file screen_interactive.cpp.

◆ FitComponent()

ScreenInteractive FitComponent ( )
static

Crea una ScreenInteractive cuyo ancho y altura coinciden con el componente que se está dibujando.

Definition at line 342 of file screen_interactive.cpp.

◆ TerminalOutput()

ScreenInteractive TerminalOutput ( )
static

Crea una ScreenInteractive cuyo ancho coincide con el ancho de salida del terminal y cuya altura coincide con el componente que se está dibujando.

Definition at line 327 of file screen_interactive.cpp.

◆ TrackMouse()

void TrackMouse ( bool enable = true)

Establece si el ratón es rastreado y se informan los eventos. se llama fuera del bucle principal. Por ejemplo, ScreenInteractive::Loop(...).

Parameters
enableSi se habilita el seguimiento de eventos del ratón.
Note
Esto debe llamarse fuera del bucle principal. Por ejemplo, antes de llamar a ScreenInteractive::Loop.
El seguimiento del ratón está habilitado por defecto.
El seguimiento del ratón solo es compatible con terminales que lo soporten.

Ejemplo

screen.TrackMouse(false);
screen.Loop(component);

Definition at line 367 of file screen_interactive.cpp.

◆ HandlePipedInput()

void HandlePipedInput ( bool enable = true)

Habilita o deshabilita el manejo automático de entrada por tubería. Cuando está habilitado, FTXUI detectará la entrada por tubería y redirigirá stdin desde /dev/tty para la entrada de teclado, permitiendo que las aplicaciones lean datos canalizados mientras siguen recibiendo eventos interactivos de teclado.

Parameters
enableSi se habilita el manejo de entrada por tubería. El valor predeterminado es verdadero.
Note
Esto debe llamarse antes de Loop().
Esta característica está habilitada por defecto.
Esta característica solo está disponible en sistemas POSIX (Linux/macOS).

Definition at line 379 of file screen_interactive.cpp.

◆ Active()

ScreenInteractive * Active ( )
static

Devuelve la pantalla actualmente activa, o nulo si no hay ninguna.

Definition at line 520 of file screen_interactive.cpp.

◆ Loop()

void Loop ( Component component)

Ejecuta el bucle principal.

Parameters
componentEl componente a dibujar.

Definition at line 425 of file screen_interactive.cpp.

◆ Exit()

void Exit ( )

Sale del bucle principal.

Definition at line 1008 of file screen_interactive.cpp.

◆ ExitLoopClosure()

Closure ExitLoopClosure ( )

Devuelve una función para salir del bucle principal.

Definition at line 1003 of file screen_interactive.cpp.

◆ Post()

void Post ( Task task)

Añade una tarea al bucle principal. Se ejecutará más tarde, después de todas las demás tareas programadas.

Definition at line 385 of file screen_interactive.cpp.

◆ PostEvent()

void PostEvent ( Event event)

Añade un evento al bucle principal. Se ejecutará más tarde, después de todos los demás eventos programados.

Definition at line 393 of file screen_interactive.cpp.

◆ RequestAnimationFrame()

void RequestAnimationFrame ( )

Añade una tarea para dibujar la pantalla una vez más, hasta que todas las animaciones hayan terminado.

Definition at line 399 of file screen_interactive.cpp.

◆ CaptureMouse()

CapturedMouse CaptureMouse ( )

Intenta obtener el bloqueo único para poder capturar el ratón.

Returns
Un bloqueo único si el ratón no está ya capturado, de lo contrario un nulo.

Definition at line 414 of file screen_interactive.cpp.

◆ WithRestoredIO()

Closure WithRestoredIO ( Closure fn)

Decora una función. Se ejecuta de la misma manera, pero con los hooks del terminal de la pantalla activa temporalmente desinstalados durante su ejecución.

Parameters
fnLa función a decorar.

Definition at line 486 of file screen_interactive.cpp.

◆ ForceHandleCtrlC()

void ForceHandleCtrlC ( bool force)

Fuerza a FTXUI a manejar o no Ctrl-C, incluso si el componente captura el Event::CtrlC.

Definition at line 496 of file screen_interactive.cpp.

◆ ForceHandleCtrlZ()

void ForceHandleCtrlZ ( bool force)

Fuerza a FTXUI a manejar o no Ctrl-Z, incluso si el componente captura el Event::CtrlZ.

Definition at line 502 of file screen_interactive.cpp.

◆ GetSelection()

std::string GetSelection ( )

Devuelve el contenido de la selección actual.

Definition at line 507 of file screen_interactive.cpp.

◆ SelectionChange()

void SelectionChange ( std::function< void()> callback)

Definition at line 514 of file screen_interactive.cpp.

◆ Create() [1/2]

Screen Create ( Dimensions dimension)
staticinherited

Crea una pantalla con la dimensión dada.

Definition at line 395 of file screen.cpp.

◆ Create() [2/2]

Screen Create ( Dimensions width,
Dimensions height )
staticinherited

Crea una pantalla con la dimensión dada a lo largo de los ejes x e y.

Definition at line 389 of file screen.cpp.

◆ ToString()

std::string ToString ( ) const
inherited

Produce una std::string que se puede usar para imprimir la pantalla en la terminal.

Note
No olvide vaciar stdout. Alternativamente, puede usar Screen::Print();

Definition at line 416 of file screen.cpp.

◆ Print()

void Print ( ) const
inherited

Definition at line 453 of file screen.cpp.

◆ Clear()

void Clear ( )
inherited

Borra todos los píxeles de la pantalla.

Definition at line 495 of file screen.cpp.

◆ ResetPosition()

std::string ResetPosition ( bool clear = false) const
inherited

Devuelve una cadena que se puede imprimir para restablecer la posición del cursor al principio de la pantalla.

std::string reset_position;
while(true) {
auto document = render();
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition();
using namespace std::chrono_literals;
std::this_thread::sleep_for(0.01s);
}
void Render(Screen &screen, const Element &element)
Muestra un elemento en un ftxui::Screen.
Definition node.cpp:84
static Screen Create(Dimensions dimension)
Crea una pantalla con la dimensión dada.
Definition screen.cpp:395
Returns
La cadena a imprimir para restablecer la posición del cursor al principio.

Definition at line 476 of file screen.cpp.

◆ ApplyShader()

void ApplyShader ( )
inherited

Definition at line 507 of file screen.cpp.

◆ cursor()

Cursor cursor ( ) const
inlineinherited

Definition at line 66 of file screen.hpp.

◆ SetCursor()

void SetCursor ( Cursor cursor)
inlineinherited

Definition at line 67 of file screen.hpp.

◆ RegisterHyperlink()

std::uint8_t RegisterHyperlink ( const std::string & link)
inherited

Definition at line 534 of file screen.cpp.

◆ Hyperlink()

const std::string & Hyperlink ( uint8_t id) const
inherited

Definition at line 547 of file screen.cpp.

◆ GetSelectionStyle()

const Screen::SelectionStyle & GetSelectionStyle ( ) const
inherited

Devuelve el estilo de selección actual.

See also
SetSelectionStyle

Definition at line 556 of file screen.cpp.

◆ SetSelectionStyle()

void SetSelectionStyle ( SelectionStyle decorator)
inherited

Establece el estilo de selección actual.

See also
GetSelectionStyle

Definition at line 562 of file screen.cpp.

◆ at() [1/2]

std::string & at ( int x,
int y )
inherited

Accede a un caracter en una celda en una posición dada.

Parameters
xLa posición de la celda a lo largo del eje x.
yLa posición de la celda a lo largo del eje y.

Definition at line 29 of file image.cpp.

◆ at() [2/2]

const std::string & at ( int x,
int y ) const
inherited

Accede a un caracter en una celda en una posición dada.

Parameters
xLa posición de la celda a lo largo del eje x.
yLa posición de la celda a lo largo del eje y.

Definition at line 36 of file image.cpp.

◆ PixelAt() [1/2]

Pixel & PixelAt ( int x,
int y )
inherited

Accede a una celda (Pixel) en una posición dada.

Parameters
xLa posición de la celda a lo largo del eje x.
yLa posición de la celda a lo largo del eje y.

Definition at line 43 of file image.cpp.

◆ PixelAt() [2/2]

const Pixel & PixelAt ( int x,
int y ) const
inherited

Accede a una celda (Pixel) en una posición dada.

Parameters
xLa posición de la celda a lo largo del eje x.
yLa posición de la celda a lo largo del eje y.

Definition at line 50 of file image.cpp.

◆ dimx()

int dimx ( ) const
inlineinherited

Definition at line 35 of file image.hpp.

◆ dimy()

int dimy ( ) const
inlineinherited

Definition at line 36 of file image.hpp.

Member Data Documentation

◆ Private

friend Private

Definition at line 186 of file screen_interactive.hpp.

◆ cursor_

Cursor cursor_
protectedinherited

Definition at line 79 of file screen.hpp.

◆ hyperlinks_

std::vector<std::string> hyperlinks_ = {""}
protectedinherited

Definition at line 80 of file screen.hpp.

◆ selection_style_

SelectionStyle selection_style_
protectedinherited
Initial value:
= [](Pixel& pixel) {
pixel.inverted ^= true;
}

Definition at line 83 of file screen.hpp.

◆ stencil

Box stencil
inherited

Definition at line 41 of file image.hpp.

◆ dimx_

int dimx_
protectedinherited

Definition at line 44 of file image.hpp.

◆ dimy_

int dimy_
protectedinherited

Definition at line 45 of file image.hpp.

◆ pixels_

std::vector<std::vector<Pixel> > pixels_
protectedinherited

Definition at line 46 of file image.hpp.

Function Documentation

◆ RequestAnimationFrame()

void RequestAnimationFrame ( )

RequestAnimationFrame es una función que solicita que se dibuje un nuevo fotograma en el siguiente ciclo de animación.

Note
Esta función es típicamente llamada por componentes que necesitan actualizar su estado o apariencia con el tiempo, como animaciones o transiciones. Esto es útil cuando el cambio no depende de los eventos vistos por la terminal, sino del paso del tiempo.

Los componentes que no han completado su animación pueden llamar a esta función para solicitar que se dibuje un nuevo fotograma más tarde.

Cuando no hay nuevos eventos y no hay animaciones que completar, no se dibuja ningún nuevo fotograma.

Definition at line 77 of file screen_interactive.cpp.

◆ Button() [1/2]

Component Button ( ButtonOption option)

Dibuja un botón. Ejecuta una función al hacer clic.

Parameters
optionParámetros opcionales adicionales.
See also
ButtonBase

Ejemplo

Component button = Button({
.label = "Click to quit",
.on_click = screen.ExitLoopClosure(),
});
screen.Loop(button)
static ScreenInteractive FitComponent()
std::shared_ptr< ComponentBase > Component

Salida

┌─────────────┐
│Click to quit│
└─────────────┘

Definition at line 175 of file src/ftxui/component/button.cpp.

◆ Button() [2/2]

Component Button ( ConstStringRef label,
std::function< void()> on_click,
ButtonOption option )

Dibuja un botón. Ejecuta una función al hacer clic.

Parameters
labelLa etiqueta del botón.
on_clickLa acción a ejecutar al hacer clic.
optionParámetros opcionales adicionales.
See also
ButtonBase

Ejemplo

std::string label = "Click to quit";
Component button = Button(&label, screen.ExitLoopClosure());
screen.Loop(button)

Salida

┌─────────────┐
│Click to quit│
└─────────────┘

Definition at line 203 of file src/ftxui/component/button.cpp.

◆ CatchEvent() [1/2]

Component CatchEvent ( Component child,
std::function< bool(Event event)> on_event )

Retorna un componente, usando |on_event| para capturar eventos. Esta función debe retornar true cuando el evento ha sido manejado, false en caso contrario.

Parameters
childEl componente envuelto.
on_eventLa función que maneja el evento.

Ejemplo

auto renderer = Renderer([] {
return text("Mi interfaz");
});
auto component = CatchEvent(renderer, [&](Event event) {
if (event == Event::Character('q')) {
screen.ExitLoopClosure()();
return true;
}
return false;
});
screen.Loop(component);
Component Renderer(Component child, std::function< Element()>)
Retorna un nuevo Componente, similar a |child|, pero usando |render| como el evento Component::Render...
Element text(std::wstring text)
Muestra un fragmento de texto Unicode.
Definition text.cpp:160
Component CatchEvent(Component child, std::function< bool(Event)>)

Definition at line 54 of file catch_event.cpp.

◆ CatchEvent() [2/2]

ComponentDecorator CatchEvent ( std::function< bool(Event)> on_event)

Decora un componente, usando |on_event| para capturar eventos. Esta función debe retornar true cuando el evento ha sido manejado, false en caso contrario.

Parameters
on_eventLa función que maneja el evento.

Ejemplo

auto renderer = Renderer([] { return text("Hola mundo"); });
renderer |= CatchEvent([&](Event event) {
if (event == Event::Character('q')) {
screen.ExitLoopClosure()();
return true;
}
return false;
});
screen.Loop(renderer);

Definition at line 80 of file catch_event.cpp.

◆ Checkbox() [1/2]

Component Checkbox ( CheckboxOption option)

Dibuja un elemento seleccionable.

Parameters
optionParámetros opcionales adicionales.
See also
CheckboxBase

Ejemplo

option.label = "Make a sandwidth";
option.checked = false;
Component checkbox = Checkbox(option);
screen.Loop(checkbox)
Component Checkbox(CheckboxOption options)
Dibuja un elemento seleccionable.
Opción para el componente Checkbox.

Salida

☐ Make a sandwitch

Definition at line 108 of file src/ftxui/component/checkbox.cpp.

◆ Checkbox() [2/2]

Component Checkbox ( ConstStringRef label,
bool * checked,
CheckboxOption option )

Dibuja un elemento seleccionable.

Parameters
labelLa etiqueta del checkbox.
checkedSi el checkbox está marcado o no.
optionParámetros opcionales adicionales.
See also
CheckboxBase

Ejemplo

std::string label = "Make a sandwidth";
bool checked = false;
Component checkbox = Checkbox(&label, &checked);
screen.Loop(checkbox)

Salida

☐ Make a sandwitch

Definition at line 135 of file src/ftxui/component/checkbox.cpp.

◆ Vertical() [1/2]

Component Vertical ( Components children)

Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las teclas de flecha arriba/abajo o las teclas 'j'/'k'.

Parameters
childrenla lista de componentes.
See also
ContainerBase

Ejemplo

auto container = Container::Vertical({
children_1,
children_2,
children_3,
children_4,
});
Component Vertical(Components children)
Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las tecl...

Definition at line 317 of file container.cpp.

◆ Vertical() [2/2]

Component Vertical ( Components children,
int * selector )

Una lista de componentes, dibujados uno a uno verticalmente y navegados verticalmente usando las teclas de flecha arriba/abajo o las teclas 'j'/'k'. Esto es útil para implementar un Menú, por ejemplo.

Parameters
childrenla lista de componentes.
selectorUna referencia al índice del hijo seleccionado.
See also
ContainerBase

Ejemplo

auto container = Container::Vertical({
children_1,
children_2,
children_3,
children_4,
}, &selected_children);

Definition at line 339 of file container.cpp.

◆ Horizontal() [1/2]

Component Horizontal ( Components children)

Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las teclas de flecha izquierda/derecha o las teclas 'h'/'l'.

Parameters
childrenla lista de componentes.
See also
ContainerBase

Ejemplo

int selected_children = 2;
auto container = Container::Horizontal({
children_1,
children_2,
children_3,
children_4,
});
Component Horizontal(Components children)
Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las ...

Definition at line 360 of file container.cpp.

◆ Horizontal() [2/2]

Component Horizontal ( Components children,
int * selector )

Una lista de componentes, dibujados uno a uno horizontalmente y navegados horizontalmente usando las teclas de flecha izquierda/derecha o las teclas 'h'/'l'.

Parameters
childrenla lista de componentes.
selectorUna referencia al índice del hijo seleccionado.
See also
ContainerBase

Ejemplo

int selected_children = 2;
auto container = Container::Horizontal({
children_1,
children_2,
children_3,
children_4,
}, selected_children);

Definition at line 382 of file container.cpp.

◆ Tab()

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 del componente seleccionado. Esto es útil para implementar pestañas.

Parameters
childrenLa lista de componentes.
selectorEl índice de los hijos dibujados.
See also
ContainerBase

Ejemplo

int tab_drawn = 0;
auto container = Container::Tab({
children_1,
children_2,
children_3,
children_4,
}, &tab_drawn);
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 ...

Definition at line 405 of file container.cpp.

◆ Stacked()

Component Stacked ( Components children)

Una lista de componentes que se apilan uno encima del otro. Los eventos se propagan al primer componente, luego al segundo si no se manejan, etc. Los componentes se dibujan en el orden inverso en que se dan. Cuando un componente toma el foco, se coloca al frente, sin cambiar el orden relativo de los otros elementos.

Esto debe usarse con el componente Window.

Parameters
childrenLa lista de componentes.
See also
Window

Ejemplo

auto container = Container::Stacked({
children_1,
children_2,
children_3,
children_4,
});
Component Stacked(Components children)
Una lista de componentes que se apilan uno encima del otro. Los eventos se propagan al primer compone...

Definition at line 432 of file container.cpp.

◆ Dropdown() [1/2]

Component Dropdown ( ConstStringListRef entries,
int * selected )

Un menú desplegable.

Parameters
entriesLa lista de entradas a mostrar.
selectedEl índice de la entrada seleccionada.

Definition at line 22 of file src/ftxui/component/dropdown.cpp.

◆ Dropdown() [2/2]

Component Dropdown ( DropdownOption option)

Un menú desplegable.

Parameters
optionLas opciones para el menú desplegable.

Definition at line 33 of file src/ftxui/component/dropdown.cpp.

◆ Hoverable() [1/6]

Component Hoverable ( Component component,
bool * hover )

Envuelve un componente. Permite saber si el ratón lo está "hovering".

Parameters
componentEl componente envuelto.
hoverEl valor que refleja si el componente está siendo "hovering" o no.

Ejemplo

auto button = Button("exit", screen.ExitLoopClosure());
bool hover = false;
auto button_hover = Hoverable(button, &hover);
Component Hoverable(Component component, bool *hover)
Envuelve un componente. Permite saber si el ratón lo está "hovering".
Definition hoverable.cpp:42

Definition at line 42 of file hoverable.cpp.

◆ Hoverable() [2/6]

Component Hoverable ( Component component,
std::function< void()> on_enter,
std::function< void()> on_leave )

Envuelve un componente. Utiliza callbacks.

Parameters
componentEl componente envuelto.
on_enterCallback OnEnter (al entrar el ratón)
on_leaveCallback OnLeave (al salir el ratón)

Ejemplo

auto button = Button("exit", screen.ExitLoopClosure());
bool hover = false;
auto button_hover = Hoverable(button, &hover);

Definition at line 85 of file hoverable.cpp.

◆ Hoverable() [3/6]

ComponentDecorator Hoverable ( bool * hover)

Envuelve un componente. Permite saber si el ratón lo está "hovering".

Parameters
hoverEl valor que refleja si el componente está siendo "hovering" o no.

Ejemplo

bool hover = false;
auto button = Button("exit", screen.ExitLoopClosure());
button |= Hoverable(&hover);

Definition at line 139 of file hoverable.cpp.

◆ Hoverable() [4/6]

ComponentDecorator Hoverable ( std::function< void()> on_enter,
std::function< void()> on_leave )

Envuelve un componente. Permite saber si el ratón lo está "hovering".

Parameters
on_enterse llama cuando el ratón entra en el componente.
on_leavese llama cuando el ratón sale del componente.

Ejemplo

auto button = Button("exit", screen.ExitLoopClosure());
int on_enter_cnt = 0;
int on_leave_cnt = 0;
button |= Hoverable(
[&]{ on_enter_cnt++; },
[&]{ on_leave_cnt++; }
);

Definition at line 162 of file hoverable.cpp.

◆ Hoverable() [5/6]

Component Hoverable ( Component component,
std::function< void(bool)> on_change )

Envuelve un componente. Permite saber si el ratón lo está "hovering".

Parameters
componentel componente envuelto.
on_changese llama cuando el ratón entra o sale del componente.

Ejemplo

auto button = Button("exit", screen.ExitLoopClosure());
bool hovered = false;
auto button_hoverable = Hoverable(button,
[&](bool hover) { hovered = hover;});

Definition at line 184 of file hoverable.cpp.

◆ Hoverable() [6/6]

ComponentDecorator Hoverable ( std::function< void(bool)> on_change)

Envuelve un componente. Permite saber si el ratón lo está "hovering".

Parameters
on_changese llama cuando el ratón entra o sale del componente.

Ejemplo

auto button = Button("exit", screen.ExitLoopClosure());
bool hovered = false;
button |= Hoverable([&](bool hover) { hovered = hover;});

Definition at line 204 of file hoverable.cpp.

◆ Input() [1/3]

Component Input ( InputOption option)

Un cuadro de entrada para editar texto.

Parameters
optionParámetros opcionales adicionales.
See also
InputBase

Ejemplo

std::string content= "";
std::string placeholder = "placeholder";
Component input = Input({
.content = &content,
.placeholder = &placeholder,
})
screen.Loop(input);
Component Input(InputOption options={})
Un cuadro de entrada para editar texto.

Salida

placeholder

Definition at line 571 of file src/ftxui/component/input.cpp.

◆ Input() [2/3]

Component Input ( StringRef content,
InputOption option )

Un cuadro de entrada para editar texto.

Parameters
contentEl contenido editable.
optionParámetros opcionales adicionales.
See also
InputBase

Ejemplo

std::string content= "";
std::string placeholder = "placeholder";
Component input = Input(content, {
.placeholder = &placeholder,
.password = true,
})
screen.Loop(input);

Salida

placeholder

Definition at line 599 of file src/ftxui/component/input.cpp.

◆ Input() [3/3]

Component Input ( StringRef content,
StringRef placeholder,
InputOption option )

Un cuadro de entrada para editar texto.

Parameters
contentEl contenido editable.
placeholderEl texto del marcador de posición.
optionParámetros opcionales adicionales.
See also
InputBase

Ejemplo

std::string content= "";
std::string placeholder = "placeholder";
Component input = Input(content, placeholder);
screen.Loop(input);

Salida

placeholder

Definition at line 626 of file src/ftxui/component/input.cpp.

◆ Maybe() [1/4]

Component Maybe ( Component child,
std::function< bool()> show )

Decora un componente |child|. Se muestra solo cuando |show| devuelve verdadero.

Parameters
childel componente a decorar.
showuna función que devuelve si |child| debe mostrarse.

Definition at line 21 of file src/ftxui/component/maybe.cpp.

◆ Maybe() [2/4]

ComponentDecorator Maybe ( std::function< bool()> show)

Decora un componente. Se muestra solo cuando la función |show| devuelve verdadero.

Parameters
showuna función que devuelve si el componente decorado debe mostrarse.

Ejemplo

auto component = Renderer([]{ return text("Hello World!"); });
auto maybe_component = component | Maybe([&]{ return counter == 42; });
Component Maybe(Component, const bool *show)
Decora un componente |child|. Se muestra solo cuando |show| es verdadero.

Definition at line 57 of file src/ftxui/component/maybe.cpp.

◆ Maybe() [3/4]

Component Maybe ( Component child,
const bool * show )

Decora un componente |child|. Se muestra solo cuando |show| es verdadero.

Parameters
childel componente a decorar.
showun booleano. |child| se muestra cuando |show| es verdadero.

Ejemplo

auto component = Renderer([]{ return text("Hello World!"); });
auto maybe_component = Maybe(component, &show);

Definition at line 74 of file src/ftxui/component/maybe.cpp.

◆ Maybe() [4/4]

ComponentDecorator Maybe ( const bool * show)

Decora un componente. Se muestra solo cuando |show| es verdadero.

Parameters
showun booleano. |child| se muestra cuando |show| es verdadero.

Ejemplo

auto component = Renderer([]{ return text("Hello World!"); });
auto maybe_component = component | Maybe(&show);

Definition at line 88 of file src/ftxui/component/maybe.cpp.

◆ Menu() [1/2]

Component Menu ( MenuOption option)

Una lista de texto. El elemento enfocado es seleccionado.

Parameters
optionuna estructura que contiene todos los parámetros.

Ejemplo

std::vector<std::string> entries = {
"entrada 1",
"entrada 2",
"entrada 3",
};
int selected = 0;
auto menu = Menu({
.entries = &entries,
.selected = &selected,
});
screen.Loop(menu);
Component Menu(MenuOption options)
Una lista de texto. El elemento enfocado es seleccionado.

Salida

> entrada 1
entrada 2
entrada 3

Definition at line 512 of file src/ftxui/component/menu.cpp.

◆ Menu() [2/2]

Component Menu ( ConstStringListRef entries,
int * selected,
MenuOption option )

Una lista de texto. El elemento enfocado es seleccionado.

Parameters
entriesLa lista de entradas en el menú.
selectedEl índice del elemento actualmente seleccionado.
optionParámetros opcionales adicionales.

Ejemplo

std::vector<std::string> entries = {
"entrada 1",
"entrada 2",
"entrada 3",
};
int selected = 0;
auto menu = Menu(&entries, &selected);
screen.Loop(menu);

Salida

> entrada 1
entrada 2
entrada 3

Definition at line 543 of file src/ftxui/component/menu.cpp.

◆ Toggle()

Component Toggle ( ConstStringListRef entries,
int * selected )

Una lista horizontal de elementos. El usuario puede navegar a través de ellos.

Parameters
entriesLa lista de entradas seleccionables a mostrar.
selectedReferencia la entrada seleccionada. Ver también |Menu|.

Definition at line 554 of file src/ftxui/component/menu.cpp.

◆ MenuEntry() [1/2]

Component MenuEntry ( ConstStringRef label,
MenuEntryOption option )

Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.

Parameters
labelEl texto dibujado que representa este elemento.
optionParámetros opcionales adicionales.

Ejemplo

int selected = 0;
auto menu = Container::Vertical({
MenuEntry("entrada 1"),
MenuEntry("entrada 2"),
MenuEntry("entrada 3"),
}, &selected);
screen.Loop(menu);
Component MenuEntry(MenuEntryOption options)
Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.

Salida

> entrada 1
entrada 2
entrada 3

Definition at line 584 of file src/ftxui/component/menu.cpp.

◆ MenuEntry() [2/2]

Component MenuEntry ( MenuEntryOption option)

Una entrada de menú específica. Se pueden colocar en un Container::Vertical para formar un menú.

Parameters
optionLos parámetros.

Ejemplo

int selected = 0;
auto menu = Container::Vertical({
MenuEntry({.label = "entrada 1"}),
MenuEntry({.label = "entrada 2"}),
MenuEntry({.label = "entrada 3"}),
}, &selected);
screen.Loop(menu);

Salida

> entrada 1
entrada 2
entrada 3

Definition at line 614 of file src/ftxui/component/menu.cpp.

◆ Modal() [1/2]

Component Modal ( Component main,
Component modal,
const bool * show_modal )

Definition at line 18 of file modal.cpp.

◆ Modal() [2/2]

ComponentDecorator Modal ( Component modal,
const bool * show_modal )

Definition at line 58 of file modal.cpp.

◆ Radiobox() [1/2]

Component Radiobox ( RadioboxOption option)

Una lista de elementos, donde solo uno puede ser seleccionado.

Parameters
optionLos parámetros
See also
RadioboxBase

Ejemplo

std::vector<std::string> entries = {
"entry 1",
"entry 2",
"entry 3",
};
int selected = 0;
auto menu = Radiobox({
.entries = entries,
.selected = &selected,
});
screen.Loop(menu);
Component Radiobox(RadioboxOption options)
Una lista de elementos, donde solo uno puede ser seleccionado.

Salida

◉ entry 1
○ entry 2
○ entry 3

NOLINTNEXTLINE

Definition at line 204 of file src/ftxui/component/radiobox.cpp.

◆ Radiobox() [2/2]

Component Radiobox ( ConstStringListRef entries,
int * selected,
RadioboxOption option )

Una lista de elementos, donde solo uno puede ser seleccionado.

Parameters
entriesLa lista de entradas en la lista.
selectedEl índice del elemento actualmente seleccionado.
optionParámetros opcionales adicionales.
See also
RadioboxBase

Ejemplo

std::vector<std::string> entries = {
"entry 1",
"entry 2",
"entry 3",
};
int selected = 0;
auto menu = Radiobox(&entries, &selected);
screen.Loop(menu);

Salida

◉ entry 1
○ entry 2
○ entry 3

Definition at line 236 of file src/ftxui/component/radiobox.cpp.

◆ Renderer() [1/4]

Component Renderer ( std::function< Element()> render)

Retorna un componente, usando |render| para renderizar su interfaz.

Parameters
renderLa función que dibuja la interfaz.

Ejemplo

auto renderer = Renderer([] {
return text("My interface");
});
screen.Loop(renderer);

Definition at line 29 of file src/ftxui/component/renderer.cpp.

◆ Renderer() [2/4]

Component Renderer ( Component child,
std::function< Element()> render )

Retorna un nuevo Componente, similar a |child|, pero usando |render| como el evento Component::Render().

Parameters
childEl componente al que se reenviarán los eventos.
renderLa función que dibuja la interfaz.

Ejemplo

std::string label = "Click to quit";
auto button = Button(&label, screen.ExitLoopClosure());
auto renderer = Renderer(button, [&] {
return hbox({
text("A button:"),
button->Render(),
});
});
screen.Loop(renderer);
virtual void Render(Screen &screen)
Muestra un elemento en un ftxui::Screen.
Definition node.cpp:59
Element hbox(Elements)
Un contenedor que muestra elementos horizontalmente uno por uno.
Definition hbox.cpp:94

Definition at line 61 of file src/ftxui/component/renderer.cpp.

◆ Renderer() [3/4]

Component Renderer ( std::function< Element(bool)> render)

Retorna un componente enfocable, usando |render| para renderizar su interfaz.

Parameters
renderLa función que dibuja la interfaz, tomando un booleano que indica si el componente está enfocado o no.

Ejemplo

auto renderer = Renderer([] (bool focused) {
if (focused)
return text("My interface") | inverted;
else
return text("My interface");
});
screen.Loop(renderer);
Element inverted(Element)
Agrega un filtro que invertirá los colores de primer plano y de fondo. colores.
Definition inverted.cpp:34

Definition at line 84 of file src/ftxui/component/renderer.cpp.

◆ Renderer() [4/4]

ComponentDecorator Renderer ( ElementDecorator decorator)

Decora un componente, decorando lo que renderiza.

Parameters
decoratorLa función que modifica el elemento que renderiza.

Ejemplo

auto renderer = */
// Renderer([] { return text("Hello");)
/** | Renderer(bold)
| Renderer(inverted);
screen.Loop(renderer);

Definition at line 125 of file src/ftxui/component/renderer.cpp.

◆ ResizableSplitLeft()

Component ResizableSplitLeft ( Component main,
Component back,
int * main_size )

Una división horizontal entre dos componentes, configurable usando el ratón.

Parameters
mainEl componente principal de tamaño |main_size|, a la izquierda.
backEl componente secundario que toma el tamaño restante, a la derecha.
main_sizeEl tamaño del componente |main|.

Ejemplo

int left_size = 10;
auto left = Renderer([] { return text("Left") | center;});
auto right = Renderer([] { return text("right") | center;});
auto split = ResizableSplitLeft(left, right, &left_size);
screen.Loop(split);
static ScreenInteractive Fullscreen()
Component ResizableSplitLeft(Component main, Component back, int *main_size)
Una división horizontal entre dos componentes, configurable usando el ratón.
Element center(Element)
Centra un elemento horizontal y verticalmente.
std::uint8_t left
Definition screen.cpp:130
std::uint8_t right
Definition screen.cpp:132

Salida

left │ right

Definition at line 199 of file src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitRight()

Component ResizableSplitRight ( Component main,
Component back,
int * main_size )

Una división horizontal entre dos componentes, configurable usando el ratón.

Parameters
mainEl componente principal de tamaño |main_size|, a la derecha.
backEl componente secundario que toma el tamaño restante, a la izquierda.
main_sizeEl tamaño del componente |main|.

Ejemplo

int right_size = 10;
auto left = Renderer([] { return text("Left") | center;});
auto right = Renderer([] { return text("right") | center;});
auto split = ResizableSplitRight(right, left, &right_size);
screen.Loop(split);
Component ResizableSplitRight(Component main, Component back, int *main_size)
Una división horizontal entre dos componentes, configurable usando el ratón.

Salida

left │ right

Definition at line 233 of file src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitTop()

Component ResizableSplitTop ( Component main,
Component back,
int * main_size )

Una división vertical entre dos componentes, configurable usando el ratón.

Parameters
mainEl componente principal de tamaño |main_size|, en la parte superior.
backEl componente secundario que toma el tamaño restante, en la parte inferior.
main_sizeEl tamaño del componente |main|.

Ejemplo

int top_size = 1;
auto top = Renderer([] { return text("Top") | center;});
auto bottom = Renderer([] { return text("Bottom") | center;});
auto split = ResizableSplitTop(top, bottom, &top_size);
screen.Loop(split);
Component ResizableSplitTop(Component main, Component back, int *main_size)
Una división vertical entre dos componentes, configurable usando el ratón.
std::uint8_t top
Definition screen.cpp:131

Salida

top
────────────
bottom

Definition at line 267 of file src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitBottom()

Component ResizableSplitBottom ( Component main,
Component back,
int * main_size )

Una división vertical entre dos componentes, configurable usando el ratón.

Parameters
mainEl componente principal de tamaño |main_size|, en la parte inferior.
backEl componente secundario que toma el tamaño restante, en la parte superior.
main_sizeEl tamaño del componente |main|.

Ejemplo

int bottom_size = 1;
auto top = Renderer([] { return text("Top") | center;});
auto bottom = Renderer([] { return text("Bottom") | center;});
auto split = ResizableSplit::Bottom(bottom, top, &bottom_size);
screen.Loop(split);

Salida

top
────────────
bottom

Definition at line 301 of file src/ftxui/component/resizable_split.cpp.

◆ Slider()

Component Slider ( ConstStringRef label,
Ref< int > value,
ConstRef< int > min,
ConstRef< int > max,
ConstRef< int > increment )

Un deslizador horizontal.

Parameters
labelEl nombre del deslizador.
valueEl valor actual del deslizador.
minEl valor mínimo.
maxEl valor máximo.
incrementEl incremento cuando se usa con el cursor.

Ejemplo

int value = 50;
auto slider = Slider("Value:", &value, 0, 100, 1);
screen.Loop(slider);
Component Slider(SliderOption< T > options)
Un deslizador en cualquier dirección.

Salida

Value:[██████████████████████████ ]

Definition at line 259 of file src/ftxui/component/slider.cpp.

◆ Window()

Component Window ( WindowOptions option)

Una ventana arrastrable y redimensionable. Para usar varias, deben apilarse usando el componente Container::Stacked({...});.

Parameters
optionUna estructura que contiene todos los parámetros.
See also
Window

Ejemplo

auto window_1= Window({
.inner = DummyWindowContent(),
.title = "First window",
});
auto window_2= Window({
.inner = DummyWindowContent(),
.title = "Second window",
});
auto container = Container::Stacked({
window_1,
window_2,
});
Component Window(WindowOptions option)
Una ventana arrastrable y redimensionable. Para usar varias, deben apilarse usando el componente Cont...
Component DummyWindowContent()
Definition scrollbar.cpp:10

Definition at line 312 of file src/ftxui/component/window.cpp.