FTXUI 6.1.9
C++ functional terminal UI.
|
Please check the tutorial of the ftxui/component
module.
Classes | |
class | ComponentBase |
It implement rendering itself as ftxui::Element. It implement keyboard navigation by responding to ftxui::Event. More... | |
struct | UnderlineOption |
Option for the underline effect. More... | |
struct | AnimatedColorOption |
Option about a potentially animated color. More... | |
struct | MenuEntryOption |
Option for the MenuEntry component. More... | |
struct | MenuOption |
Option for the Menu component. More... | |
struct | ButtonOption |
Option for the AnimatedButton component. More... | |
struct | CheckboxOption |
Option for the Checkbox component. More... | |
struct | InputOption |
Option for the Input component. More... | |
struct | RadioboxOption |
Option for the Radiobox component. More... | |
struct | WindowRenderState |
State passed to the Window component's render function. More... | |
struct | DropdownOption |
Option for the Dropdown component.A dropdown menu is a checkbox opening/closing a radiobox. More... | |
struct | Event |
Represent an event. It can be key press event, a terminal resize, or more ... More... | |
class | Loop |
Loop is a class that manages the event loop for a component. More... | |
struct | Mouse |
A mouse event. It contains the coordinate of the mouse, the button pressed and the modifier (shift, ctrl, meta). More... | |
class | ScreenInteractive |
ScreenInteractive is a Screen that can handle events, run a main loop, and manage components. More... | |
Functions | |
void | RequestAnimationFrame () |
RequestAnimationFrame is a function that requests a new frame to be drawn in the next animation cycle. | |
Component | Button (ButtonOption option) |
Draw a button. Execute a function when clicked. | |
Component | Button (ConstStringRef label, std::function< void()> on_click, ButtonOption option) |
Draw a button. Execute a function when clicked. | |
Component | CatchEvent (Component child, std::function< bool(Event event)> on_event) |
Return a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise. | |
ComponentDecorator | CatchEvent (std::function< bool(Event)> on_event) |
Decorate a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise. | |
Component | Checkbox (CheckboxOption option) |
Draw checkable element. | |
Component | Checkbox (ConstStringRef label, bool *checked, CheckboxOption option) |
Draw checkable element. | |
Component | Vertical (Components children) |
A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or 'j'/'k' keys. | |
Component | Vertical (Components children, int *selector) |
A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or 'j'/'k' keys. This is useful for implementing a Menu for instance. | |
Component | Horizontal (Components children) |
A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow key or 'h'/'l' keys. | |
Component | Horizontal (Components children, int *selector) |
A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow key or 'h'/'l' keys. | |
Component | Tab (Components children, int *selector) |
A list of components, where only one is drawn and interacted with at a time. The |selector| gives the index of the selected component. This is useful to implement tabs. | |
Component | Stacked (Components children) |
A list of components to be stacked on top of each other. Events are propagated to the first component, then the second if not handled, etc. The components are drawn in the reverse order they are given. When a component take focus, it is put at the front, without changing the relative order of the other elements. | |
Component | Dropdown (ConstStringListRef entries, int *selected) |
A dropdown menu. | |
Component | Dropdown (DropdownOption option) |
A dropdown menu. | |
Component | Hoverable (Component component, bool *hover) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
Component | Hoverable (Component component, std::function< void()> on_enter, std::function< void()> on_leave) |
Wrap a component. Uses callbacks. | |
ComponentDecorator | Hoverable (bool *hover) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
ComponentDecorator | Hoverable (std::function< void()> on_enter, std::function< void()> on_leave) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
Component | Hoverable (Component component, std::function< void(bool)> on_change) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
ComponentDecorator | Hoverable (std::function< void(bool)> on_change) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
Component | Input (InputOption option) |
An input box for editing text. | |
Component | Input (StringRef content, InputOption option) |
An input box for editing text. | |
Component | Input (StringRef content, StringRef placeholder, InputOption option) |
An input box for editing text. | |
Component | Maybe (Component child, std::function< bool()> show) |
Decorate a component |child|. It is shown only when |show| returns true. | |
ComponentDecorator | Maybe (std::function< bool()> show) |
Decorate a component. It is shown only when the |show| function returns true. | |
Component | Maybe (Component child, const bool *show) |
Decorate a component |child|. It is shown only when |show| is true. | |
ComponentDecorator | Maybe (const bool *show) |
Decorate a component. It is shown only when |show| is true. | |
Component | Menu (MenuOption option) |
A list of text. The focused element is selected. | |
Component | Menu (ConstStringListRef entries, int *selected, MenuOption option) |
A list of text. The focused element is selected. | |
Component | Toggle (ConstStringListRef entries, int *selected) |
An horizontal list of elements. The user can navigate through them. | |
Component | MenuEntry (ConstStringRef label, MenuEntryOption option) |
A specific menu entry. They can be put into a Container::Vertical to form a menu. | |
Component | MenuEntry (MenuEntryOption option) |
A specific menu entry. They can be put into a Container::Vertical to form a menu. | |
Component | Modal (Component main, Component modal, const bool *show_modal) |
ComponentDecorator | Modal (Component modal, const bool *show_modal) |
Component | Radiobox (RadioboxOption option) |
A list of element, where only one can be selected. | |
Component | Radiobox (ConstStringListRef entries, int *selected, RadioboxOption option) |
A list of element, where only one can be selected. | |
Component | Renderer (std::function< Element()> render) |
Return a component, using |render| to render its interface. | |
Component | Renderer (Component child, std::function< Element()> render) |
Return a new Component, similar to |child|, but using |render| as the Component::Render() event. | |
Component | Renderer (std::function< Element(bool)> render) |
Return a focusable component, using |render| to render its interface. | |
ComponentDecorator | Renderer (ElementDecorator decorator) |
Decorate a component, by decorating what it renders. | |
Component | ResizableSplitLeft (Component main, Component back, int *main_size) |
An horizontal split in between two components, configurable using the mouse. | |
Component | ResizableSplitRight (Component main, Component back, int *main_size) |
An horizontal split in between two components, configurable using the mouse. | |
Component | ResizableSplitTop (Component main, Component back, int *main_size) |
An vertical split in between two components, configurable using the mouse. | |
Component | ResizableSplitBottom (Component main, Component back, int *main_size) |
An vertical split in between two components, configurable using the mouse. | |
Component | Slider (ConstStringRef label, Ref< int > value, ConstRef< int > min, ConstRef< int > max, ConstRef< int > increment) |
An horizontal slider. | |
Component | Window (WindowOptions option) |
A draggeable / resizeable window. To use multiple of them, they must be stacked using Container::Stacked({...}) component;. | |
class ftxui::ComponentBase |
It implement rendering itself as ftxui::Element. It implement keyboard navigation by responding to ftxui::Event.
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 | |
ComponentBase & | operator= (const ComponentBase &)=delete |
ComponentBase & | operator= (ComponentBase &&)=delete |
ComponentBase * | Parent () const |
Return the parent ComponentBase, or nul if any. | |
Component & | ChildAt (size_t i) |
Access the child at index i . | |
size_t | ChildCount () const |
Returns the number of children. | |
int | Index () const |
Return index of the component in its parent. -1 if no parent. | |
void | Add (Component children) |
Add a child. @param child The child to be attached. | |
void | Detach () |
Detach this child from its parent. | |
void | DetachAllChildren () |
Remove all children. | |
Element | Render () |
Draw the component. Build a ftxui::Element to be drawn on the ftxui::Screen representing this ftxui::ComponentBase. Please override OnRender() to modify the rendering. | |
virtual Element | OnRender () |
Draw the component. Build a ftxui::Element to be drawn on the ftxi::Screen representing this ftxui::ComponentBase. This function is means to be overridden. | |
virtual bool | OnEvent (Event) |
Called in response to an event. | |
virtual void | OnAnimation (animation::Params ¶ms) |
Called in response to an animation event. | |
virtual Component | ActiveChild () |
Return the currently Active child. | |
virtual bool | Focusable () const |
Return true when the component contains focusable elements. The non focusable Components will be skipped when navigating using the keyboard. | |
bool | Active () const |
Returns if the element if the currently active child of its parent. | |
bool | Focused () const |
Returns if the elements if focused by the user. True when the ComponentBase is focused by the user. An element is Focused when it is with all its ancestors the ActiveChild() of their parents, and it Focusable(). | |
virtual void | SetActiveChild (ComponentBase *child) |
Make the |child| to be the "active" one. | |
void | SetActiveChild (Component child) |
Make the |child| to be the "active" one. | |
void | TakeFocus () |
Configure all the ancestors to give focus to this component. | |
Protected Member Functions | |
CapturedMouse | CaptureMouse (const Event &event) |
Take the CapturedMouse if available. There is only one component of them. It represents a component taking priority over others. | |
Protected Attributes | |
Components | children_ |
|
inlineexplicit |
Definition at line 32 of file component_base.hpp.
|
virtual |
Definition at line 31 of file component.cpp.
|
default |
|
delete |
|
delete |
|
delete |
|
delete |
ComponentBase * Parent | ( | ) | const |
Return the parent ComponentBase, or nul if any.
Definition at line 38 of file component.cpp.
Component & ChildAt | ( | size_t | i | ) |
Access the child at index i
.
Definition at line 43 of file component.cpp.
size_t ChildCount | ( | ) | const |
Returns the number of children.
Definition at line 49 of file component.cpp.
int Index | ( | ) | const |
Return index of the component in its parent. -1 if no parent.
Definition at line 54 of file component.cpp.
void Add | ( | Component | children | ) |
Add a child. @param child The child to be attached.
Definition at line 70 of file component.cpp.
void Detach | ( | ) |
Detach this child from its parent.
Definition at line 79 of file component.cpp.
void DetachAllChildren | ( | ) |
Remove all children.
Definition at line 94 of file component.cpp.
Element Render | ( | ) |
Draw the component. Build a ftxui::Element to be drawn on the ftxui::Screen representing this ftxui::ComponentBase. Please override OnRender() to modify the rendering.
Definition at line 103 of file component.cpp.
|
virtual |
Draw the component. Build a ftxui::Element to be drawn on the ftxi::Screen representing this ftxui::ComponentBase. This function is means to be overridden.
Definition at line 138 of file component.cpp.
|
virtual |
Called in response to an event.
event | The event. |
Definition at line 151 of file component.cpp.
|
virtual |
Called in response to an animation event.
params | the parameters of the animation The default implementation dispatch the event to every child. |
Definition at line 163 of file component.cpp.
|
virtual |
Return the currently Active child.
Definition at line 171 of file component.cpp.
|
virtual |
Return true when the component contains focusable elements. The non focusable Components will be skipped when navigating using the keyboard.
Definition at line 183 of file component.cpp.
bool Active | ( | ) | const |
Returns if the element if the currently active child of its parent.
Definition at line 193 of file component.cpp.
bool Focused | ( | ) | const |
Returns if the elements if focused by the user. True when the ComponentBase is focused by the user. An element is Focused when it is with all its ancestors the ActiveChild() of their parents, and it Focusable().
Definition at line 201 of file component.cpp.
|
virtual |
Make the |child| to be the "active" one.
child | the child to become active. |
Definition at line 211 of file component.cpp.
void SetActiveChild | ( | Component | child | ) |
Make the |child| to be the "active" one.
child | the child to become active. |
Definition at line 215 of file component.cpp.
void TakeFocus | ( | ) |
Configure all the ancestors to give focus to this component.
Definition at line 220 of file component.cpp.
|
protected |
Take the CapturedMouse if available. There is only one component of them. It represents a component taking priority over others.
event | The event |
Definition at line 231 of file component.cpp.
|
protected |
Definition at line 96 of file component_base.hpp.
struct ftxui::UnderlineOption |
Option for the underline effect.
Definition at line 32 of file component_options.hpp.
void SetAnimation | ( | animation::Duration | d, |
animation::easing::Function | f ) |
Set how the underline should animate.
d | The duration of the animation. |
f | The easing function of the animation. |
Definition at line 34 of file component_options.cpp.
void SetAnimationDuration | ( | animation::Duration | d | ) |
Set how the underline should animate.
d | The duration of the animation. |
Definition at line 42 of file component_options.cpp.
void SetAnimationFunction | ( | animation::easing::Function | f | ) |
Set how the underline should animate.
f | The easing function of the animation. |
Definition at line 49 of file component_options.cpp.
void SetAnimationFunction | ( | animation::easing::Function | f_leader, |
animation::easing::Function | f_follower ) |
Set how the underline should animate. This is useful to desynchronize the animation of the leader and the follower.
f_leader | The duration of the animation for the leader. |
f_follower | The duration of the animation for the follower. |
Definition at line 59 of file component_options.cpp.
bool enabled = false |
Definition at line 33 of file component_options.hpp.
Color color_active = Color::White |
Definition at line 35 of file component_options.hpp.
Color color_inactive = Color::GrayDark |
Definition at line 36 of file component_options.hpp.
animation::easing::Function leader_function |
Definition at line 38 of file component_options.hpp.
animation::easing::Function follower_function |
Definition at line 40 of file component_options.hpp.
animation::Duration leader_duration = std::chrono::milliseconds(250) |
Definition at line 43 of file component_options.hpp.
animation::Duration leader_delay = std::chrono::milliseconds(0) |
Definition at line 44 of file component_options.hpp.
animation::Duration follower_duration = std::chrono::milliseconds(250) |
Definition at line 45 of file component_options.hpp.
animation::Duration follower_delay = std::chrono::milliseconds(0) |
Definition at line 46 of file component_options.hpp.
struct ftxui::AnimatedColorOption |
Option about a potentially animated color.
Definition at line 57 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) |
A color option that can be animated. @params _inactive The color when the component is inactive. @params _active The color when the component is active. @params _duration The duration of the animation. @params _function The easing function of the animation. | |
Public Attributes | |
bool | enabled = false |
Color | inactive |
Color | active |
animation::Duration | duration = std::chrono::milliseconds(250) |
animation::easing::Function | function = animation::easing::QuadraticInOut |
void Set | ( | Color | inactive, |
Color | active, | ||
animation::Duration | duration = std::chrono::milliseconds(250), | ||
animation::easing::Function | function = animation::easing::QuadraticInOut ) |
A color option that can be animated. @params _inactive The color when the component is inactive. @params _active The color when the component is active. @params _duration The duration of the animation. @params _function The easing function of the animation.
Definition at line 20 of file component_options.cpp.
bool enabled = false |
Definition at line 64 of file component_options.hpp.
Color inactive |
Definition at line 65 of file component_options.hpp.
Color active |
Definition at line 66 of file component_options.hpp.
animation::Duration duration = std::chrono::milliseconds(250) |
Definition at line 67 of file component_options.hpp.
animation::easing::Function function = animation::easing::QuadraticInOut |
Definition at line 68 of file component_options.hpp.
struct ftxui::MenuEntryOption |
Option for the MenuEntry component.
Definition at line 78 of file component_options.hpp.
Public Attributes | |
ConstStringRef | label = "MenuEntry" |
std::function< Element(const EntryState &state)> | transform |
AnimatedColorsOption | animated_colors |
ConstStringRef label = "MenuEntry" |
Definition at line 79 of file component_options.hpp.
std::function<Element(const EntryState& state)> transform |
Definition at line 80 of file component_options.hpp.
AnimatedColorsOption animated_colors |
Definition at line 81 of file component_options.hpp.
struct ftxui::MenuOption |
Option for the Menu component.
Definition at line 86 of file component_options.hpp.
Static Public Member Functions | |
static MenuOption | Horizontal () |
Standard options for a horizontal menu. This can be useful to implement a tab bar. | |
static MenuOption | HorizontalAnimated () |
Standard options for an animated horizontal menu. This can be useful to implement a tab bar. | |
static MenuOption | Vertical () |
Standard options for a vertical menu. This can be useful to implement a list of selectable items. | |
static MenuOption | VerticalAnimated () |
Standard options for an animated vertical menu. This can be useful to implement a list of selectable items. | |
static MenuOption | Toggle () |
Standard options for a horizontal menu with some separator. This can be useful to implement a tab bar. | |
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 |
|
static |
Standard options for a horizontal menu. This can be useful to implement a tab bar.
Definition at line 69 of file component_options.cpp.
|
static |
Standard options for an animated horizontal menu. This can be useful to implement a tab bar.
Definition at line 93 of file component_options.cpp.
|
static |
Standard options for a vertical menu. This can be useful to implement a list of selectable items.
Definition at line 102 of file component_options.cpp.
|
static |
Standard options for an animated vertical menu. This can be useful to implement a list of selectable items.
Definition at line 123 of file component_options.cpp.
|
static |
Standard options for a horizontal menu with some separator. This can be useful to implement a tab bar.
Definition at line 145 of file component_options.cpp.
ConstStringListRef entries |
Definition at line 94 of file component_options.hpp.
Ref<int> selected = 0 |
The list of entries.
Definition at line 95 of file component_options.hpp.
UnderlineOption underline |
The index of the selected entry.
Definition at line 98 of file component_options.hpp.
MenuEntryOption entries_option |
Definition at line 99 of file component_options.hpp.
Direction direction = Direction::Down |
Definition at line 100 of file component_options.hpp.
std::function<Element()> elements_prefix |
Definition at line 101 of file component_options.hpp.
std::function<Element()> elements_infix |
Definition at line 102 of file component_options.hpp.
std::function<Element()> elements_postfix |
Definition at line 103 of file component_options.hpp.
std::function<void()> on_change |
Definition at line 106 of file component_options.hpp.
std::function<void()> on_enter |
Called when the selected entry changes.
Definition at line 107 of file component_options.hpp.
Ref<int> focused_entry = 0 |
Called when the user presses enter.
Definition at line 108 of file component_options.hpp.
struct ftxui::ButtonOption |
Option for the AnimatedButton component.
Definition at line 113 of file component_options.hpp.
Static Public Member Functions | |
static ButtonOption | Ascii () |
Create a ButtonOption, highlighted using [] characters. | |
static ButtonOption | Simple () |
Create a ButtonOption, inverted when focused. | |
static ButtonOption | Border () |
Create a ButtonOption. The button is shown using a border, inverted when focused. This is the current default. | |
static ButtonOption | Animated () |
Create a ButtonOption, using animated colors. | |
static ButtonOption | Animated (Color color) |
Create a ButtonOption, using animated colors. | |
static ButtonOption | Animated (Color background, Color foreground) |
Create a ButtonOption, using animated colors. | |
static ButtonOption | Animated (Color background, Color foreground, Color background_active, Color foreground_active) |
Create a ButtonOption, using animated colors. | |
Public Attributes | |
ConstStringRef | label = "Button" |
std::function< void()> | on_click = [] {} |
std::function< Element(const EntryState &)> | transform |
AnimatedColorsOption | animated_colors |
|
static |
Create a ButtonOption, highlighted using [] characters.
Definition at line 153 of file component_options.cpp.
|
static |
Create a ButtonOption, inverted when focused.
Definition at line 165 of file component_options.cpp.
|
static |
Create a ButtonOption. The button is shown using a border, inverted when focused. This is the current default.
Definition at line 179 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 196 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 203 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 213 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 225 of file component_options.cpp.
ConstStringRef label = "Button" |
Definition at line 126 of file component_options.hpp.
std::function<void()> on_click = [] {} |
Definition at line 127 of file component_options.hpp.
std::function<Element(const EntryState&)> transform |
Definition at line 130 of file component_options.hpp.
AnimatedColorsOption animated_colors |
Definition at line 131 of file component_options.hpp.
struct ftxui::CheckboxOption |
Option for the Checkbox component.
Definition at line 136 of file component_options.hpp.
Static Public Member Functions | |
static CheckboxOption | Simple () |
Option for standard Checkbox. | |
Public Attributes | |
ConstStringRef | label = "Checkbox" |
Ref< bool > | checked = false |
std::function< Element(const EntryState &)> | transform |
std::function< void()> | on_change = [] {} |
Called when the user change the state. | |
|
static |
Option for standard Checkbox.
Definition at line 244 of file component_options.cpp.
ConstStringRef label = "Checkbox" |
Definition at line 140 of file component_options.hpp.
Ref<bool> checked = false |
Definition at line 142 of file component_options.hpp.
std::function<Element(const EntryState&)> transform |
Definition at line 145 of file component_options.hpp.
std::function<void()> on_change = [] {} |
Called when the user change the state.
Definition at line 149 of file component_options.hpp.
struct ftxui::InputOption |
Option for the Input component.
Definition at line 163 of file component_options.hpp.
Static Public Member Functions | |
static InputOption | Default () |
Create the default input style: | |
static InputOption | Spacious () |
A white on black style with high margins: | |
Public Attributes | |
StringRef | content = "" |
The content of the input. | |
StringRef | placeholder = "" |
The content of the input when it's empty. | |
std::function< Element(InputState)> | transform |
Ref< bool > | password = false |
Obscure the input content using '*'. | |
Ref< bool > | multiline = true |
Whether the input can be multiline. | |
Ref< bool > | insert = true |
Insert or overtype character mode. | |
std::function< void()> | on_change = [] {} |
Called when the content changes. | |
std::function< void()> | on_enter = [] {} |
Called when the user presses enter. | |
Ref< int > | cursor_position = 0 |
|
static |
Create the default input style:
Standard options for the input component.
Definition at line 292 of file component_options.cpp.
|
static |
A white on black style with high margins:
Standard options for a more beautiful input component.
Definition at line 314 of file component_options.cpp.
StringRef content = "" |
The content of the input.
Definition at line 172 of file component_options.hpp.
StringRef placeholder = "" |
The content of the input when it's empty.
Definition at line 175 of file component_options.hpp.
std::function<Element(InputState)> transform |
Definition at line 178 of file component_options.hpp.
Ref<bool> password = false |
Obscure the input content using '*'.
Definition at line 179 of file component_options.hpp.
Ref<bool> multiline = true |
Whether the input can be multiline.
Definition at line 180 of file component_options.hpp.
Ref<bool> insert = true |
Insert or overtype character mode.
Definition at line 181 of file component_options.hpp.
std::function<void()> on_change = [] {} |
Called when the content changes.
Definition at line 184 of file component_options.hpp.
std::function<void()> on_enter = [] {} |
Called when the user presses enter.
Definition at line 186 of file component_options.hpp.
Ref<int> cursor_position = 0 |
Definition at line 189 of file component_options.hpp.
struct ftxui::RadioboxOption |
Option for the Radiobox component.
Definition at line 194 of file component_options.hpp.
Static Public Member Functions | |
static RadioboxOption | Simple () |
Option for standard Radiobox. | |
Public Attributes | |
ConstStringListRef | entries |
Ref< int > | selected = 0 |
std::function< Element(const EntryState &)> | transform |
std::function< void()> | on_change = [] {} |
Called when the selected entry changes. | |
Ref< int > | focused_entry = 0 |
|
static |
Option for standard Radiobox.
Definition at line 268 of file component_options.cpp.
ConstStringListRef entries |
Definition at line 199 of file component_options.hpp.
Ref<int> selected = 0 |
Definition at line 200 of file component_options.hpp.
std::function<Element(const EntryState&)> transform |
Definition at line 203 of file component_options.hpp.
std::function<void()> on_change = [] {} |
Called when the selected entry changes.
Definition at line 207 of file component_options.hpp.
Ref<int> focused_entry = 0 |
Definition at line 208 of file component_options.hpp.
struct ftxui::WindowRenderState |
State passed to the Window
component's render function.
Definition at line 237 of file component_options.hpp.
Public Attributes | |
Element | inner |
The element wrapped inside this window. | |
const std::string & | title |
The title of the window. | |
bool | active = false |
Whether the window is the active one. | |
bool | drag = false |
Whether the window is being dragged. | |
bool | resize = false |
Whether the window is being resized. | |
bool | hover_left = false |
Whether the resizeable left side is hovered. | |
bool | hover_right = false |
Whether the resizeable right side is hovered. | |
bool | hover_top = false |
Whether the resizeable top side is hovered. | |
bool | hover_down = false |
Whether the resizeable down side is hovered. | |
Element inner |
The element wrapped inside this window.
Definition at line 238 of file component_options.hpp.
const std::string& title |
The title of the window.
Definition at line 239 of file component_options.hpp.
bool active = false |
Whether the window is the active one.
Definition at line 240 of file component_options.hpp.
bool drag = false |
Whether the window is being dragged.
Definition at line 241 of file component_options.hpp.
bool resize = false |
Whether the window is being resized.
Definition at line 242 of file component_options.hpp.
bool hover_left = false |
Whether the resizeable left side is hovered.
Definition at line 243 of file component_options.hpp.
bool hover_right = false |
Whether the resizeable right side is hovered.
Definition at line 244 of file component_options.hpp.
bool hover_top = false |
Whether the resizeable top side is hovered.
Definition at line 245 of file component_options.hpp.
bool hover_down = false |
Whether the resizeable down side is hovered.
Definition at line 246 of file component_options.hpp.
struct ftxui::DropdownOption |
Option for the Dropdown component.
A dropdown menu is a checkbox opening/closing a radiobox.
Definition at line 272 of file component_options.hpp.
Public Attributes | |
Ref< bool > | open = false |
Whether the dropdown is open or closed: | |
CheckboxOption | checkbox |
RadioboxOption | radiobox |
std::function< Element(bool open, Element checkbox, Element radiobox)> | transform |
Ref<bool> open = false |
Whether the dropdown is open or closed:
Definition at line 274 of file component_options.hpp.
CheckboxOption checkbox |
Definition at line 276 of file component_options.hpp.
RadioboxOption radiobox |
Definition at line 278 of file component_options.hpp.
struct ftxui::Event |
Represent an event. It can be key press event, a terminal resize, or more ...
For example:
Useful documentation about xterm specification: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
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 Mouse & | mouse () |
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 |
Return a string representation of the event. | |
Static Public Member Functions | |
static Event | Character (std::string) |
An event corresponding to a given typed character. | |
static Event | Character (char) |
An event corresponding to a given typed character. | |
static Event | Character (wchar_t) |
An event corresponding to a given typed character. | |
static Event | Special (std::string) |
An custom event whose meaning is defined by the user of the library. | |
static Event | Mouse (std::string, Mouse mouse) |
An event corresponding to a given typed character. | |
static Event | CursorPosition (std::string, int x, int y) |
static Event | CursorShape (std::string, int shape) |
An event corresponding to a terminal DCS (Device Control String). | |
Public Attributes | |
ScreenInteractive * | screen_ = 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}) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
std::string DebugString | ( | ) | const |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
ScreenInteractive* screen_ = nullptr |
class ftxui::Loop |
Loop is a class that manages the event loop for a component.
It is responsible for running the component, handling events, and updating the screen.
The Loop class is designed to be used with a ScreenInteractive object, which represents the terminal screen.
Example
Public Member Functions | |
Loop (ScreenInteractive *screen, Component component) | |
A Loop is a wrapper around a Component and a ScreenInteractive. It is used to run a Component in a terminal. | |
~Loop () | |
bool | HasQuitted () |
Whether the loop has quitted. | |
void | RunOnce () |
Execute the loop. Make the component to process every pending tasks/events. A new frame might be drawn if the previous was invalidated. Return true until the loop hasn't completed. | |
void | RunOnceBlocking () |
Wait for at least one event to be handled and execute Loop::RunOnce() . | |
void | Run () |
Loop (const Loop &)=default | |
Loop (Loop &&)=delete | |
Loop & | operator= (Loop &&)=delete |
Loop (const ScreenInteractive &)=delete | |
Loop & | operator= (const Loop &)=delete |
Loop | ( | ScreenInteractive * | screen, |
Component | component ) |
A Loop is a wrapper around a Component and a ScreenInteractive. It is used to run a Component in a terminal.
[in] | screen | The screen to use. |
[in] | component | The component to run. |
|
delete |
void RunOnce | ( | ) |
void RunOnceBlocking | ( | ) |
Wait for at least one event to be handled and execute Loop::RunOnce()
.
void Run | ( | ) |
struct ftxui::Mouse |
A mouse event. It contains the coordinate of the mouse, the button pressed and the modifier (shift, ctrl, meta).
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 |
enum Button |
Button button = Button::None |
Motion motion = Motion::Pressed |
class ftxui::ScreenInteractive |
ScreenInteractive is a Screen
that can handle events, run a main loop, and manage components.
Definition at line 33 of file screen_interactive.hpp.
Public Types | |
using | SelectionStyle = std::function<void(Pixel&)> |
Public Member Functions | |
void | TrackMouse (bool enable=true) |
Set whether mouse is tracked and events reported. called outside of the main loop. E.g ScreenInteractive::Loop(...) . | |
void | Loop (Component) |
Execute the main loop. | |
void | Exit () |
Exit the main loop. | |
Closure | ExitLoopClosure () |
Return a function to exit the main loop. | |
void | Post (Task task) |
Add a task to the main loop. It will be executed later, after every other scheduled tasks. | |
void | PostEvent (Event event) |
Add an event to the main loop. It will be executed later, after every other scheduled events. | |
void | RequestAnimationFrame () |
Add a task to draw the screen one more time, until all the animations are done. | |
CapturedMouse | CaptureMouse () |
Try to get the unique lock about behing able to capture the mouse. | |
Closure | WithRestoredIO (Closure) |
Decorate a function. It executes the same way, but with the currently active screen terminal hooks temporarilly uninstalled during its execution. | |
void | ForceHandleCtrlC (bool force) |
Force FTXUI to handle or not handle Ctrl-C, even if the component catches the Event::CtrlC. | |
void | ForceHandleCtrlZ (bool force) |
Force FTXUI to handle or not handle Ctrl-Z, even if the component catches the Event::CtrlZ. | |
std::string | GetSelection () |
Returns the content of the current selection. | |
void | SelectionChange (std::function< void()> callback) |
std::string | ToString () const |
void | Print () const |
void | Clear () |
Clear all the pixel from the screen. | |
std::string | ResetPosition (bool clear=false) const |
Return a string to be printed in order to reset the cursor position to the beginning of the screen. | |
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 SelectionStyle & | GetSelectionStyle () const |
Return the current selection style. | |
void | SetSelectionStyle (SelectionStyle decorator) |
Set the current selection style. | |
std::string & | at (int x, int y) |
Access a character in a cell at a given position. | |
const std::string & | at (int x, int y) const |
Access a character in a cell at a given position. | |
Pixel & | PixelAt (int x, int y) |
Access a cell (Pixel) at a given position. | |
const Pixel & | PixelAt (int x, int y) const |
Access a cell (Pixel) at a given position. | |
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 ScreenInteractive * | Active () |
Return the currently active screen, or null if none. | |
static Screen | Create (Dimensions dimension) |
Create a screen with the given dimension. | |
static Screen | Create (Dimensions width, Dimensions height) |
Create a screen with the given dimension along the x-axis and y-axis. | |
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_ |
|
inherited |
Definition at line 72 of file screen.hpp.
|
static |
Definition at line 360 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. This is using the alternate screen buffer to avoid messing with the terminal content.
ScreenInteractive::FullscreenAlternateScreen()
Definition at line 373 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. The primary screen buffer is being used. It means if the terminal is resized, the previous content might mess up with the terminal content.
Definition at line 381 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. This is using the alternate screen buffer to avoid messing with the terminal content.
Definition at line 394 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive whose width and height match the component being drawn.
Definition at line 420 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive whose width match the terminal output width and the height matches the component being drawn.
Definition at line 407 of file screen_interactive.cpp.
void TrackMouse | ( | bool | enable = true | ) |
Set whether mouse is tracked and events reported. called outside of the main loop. E.g ScreenInteractive::Loop(...)
.
enable | Whether to enable mouse event tracking. |
ScreenInteractive::Loop
. Definition at line 445 of file screen_interactive.cpp.
|
static |
Return the currently active screen, or null if none.
Definition at line 593 of file screen_interactive.cpp.
Execute the main loop.
component | The component to draw. |
Definition at line 495 of file screen_interactive.cpp.
void Exit | ( | ) |
Exit the main loop.
Definition at line 1030 of file screen_interactive.cpp.
Closure ExitLoopClosure | ( | ) |
Return a function to exit the main loop.
Definition at line 1025 of file screen_interactive.cpp.
void Post | ( | Task | task | ) |
Add a task to the main loop. It will be executed later, after every other scheduled tasks.
Definition at line 451 of file screen_interactive.cpp.
void PostEvent | ( | Event | event | ) |
Add an event to the main loop. It will be executed later, after every other scheduled events.
Definition at line 463 of file screen_interactive.cpp.
void RequestAnimationFrame | ( | ) |
Add a task to draw the screen one more time, until all the animations are done.
Definition at line 469 of file screen_interactive.cpp.
CapturedMouse CaptureMouse | ( | ) |
Try to get the unique lock about behing able to capture the mouse.
Definition at line 484 of file screen_interactive.cpp.
Decorate a function. It executes the same way, but with the currently active screen terminal hooks temporarilly uninstalled during its execution.
fn | The function to decorate. |
Definition at line 559 of file screen_interactive.cpp.
void ForceHandleCtrlC | ( | bool | force | ) |
Force FTXUI to handle or not handle Ctrl-C, even if the component catches the Event::CtrlC.
Definition at line 569 of file screen_interactive.cpp.
void ForceHandleCtrlZ | ( | bool | force | ) |
Force FTXUI to handle or not handle Ctrl-Z, even if the component catches the Event::CtrlZ.
Definition at line 575 of file screen_interactive.cpp.
std::string GetSelection | ( | ) |
Returns the content of the current selection.
Definition at line 580 of file screen_interactive.cpp.
void SelectionChange | ( | std::function< void()> | callback | ) |
Definition at line 587 of file screen_interactive.cpp.
|
staticinherited |
Create a screen with the given dimension.
Definition at line 394 of file screen.cpp.
|
staticinherited |
Create a screen with the given dimension along the x-axis and y-axis.
Definition at line 388 of file screen.cpp.
|
inherited |
Produce a std::string that can be used to print the Screen on the terminal.
Definition at line 415 of file screen.cpp.
|
inherited |
Definition at line 452 of file screen.cpp.
|
inherited |
Clear all the pixel from the screen.
Definition at line 494 of file screen.cpp.
|
inherited |
Return a string to be printed in order to reset the cursor position to the beginning of the screen.
Definition at line 475 of file screen.cpp.
|
inherited |
Definition at line 506 of file screen.cpp.
|
inlineinherited |
Definition at line 64 of file screen.hpp.
|
inlineinherited |
Definition at line 65 of file screen.hpp.
|
inherited |
Definition at line 533 of file screen.cpp.
|
inherited |
Definition at line 546 of file screen.cpp.
|
inherited |
Return the current selection style.
Definition at line 555 of file screen.cpp.
|
inherited |
Set the current selection style.
Definition at line 561 of file screen.cpp.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
friend Private |
Definition at line 166 of file screen_interactive.hpp.
|
protectedinherited |
Definition at line 77 of file screen.hpp.
|
protectedinherited |
Definition at line 78 of file screen.hpp.
|
protectedinherited |
Definition at line 81 of file screen.hpp.
void RequestAnimationFrame | ( | ) |
RequestAnimationFrame is a function that requests a new frame to be drawn in the next animation cycle.
Components who haven't completed their animation can call this function to request a new frame to be drawn later.
When there is no new events and no animations to complete, no new frame is drawn.
Definition at line 63 of file screen_interactive.cpp.
Component Button | ( | ButtonOption | option | ) |
Draw a button. Execute a function when clicked.
option | Additional optional parameters. |
Definition at line 176 of file src/ftxui/component/button.cpp.
Component Button | ( | ConstStringRef | label, |
std::function< void()> | on_click, | ||
ButtonOption | option ) |
Draw a button. Execute a function when clicked.
label | The label of the button. |
on_click | The action to execute when clicked. |
option | Additional optional parameters. |
Definition at line 204 of file src/ftxui/component/button.cpp.
Return a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise.
child | The wrapped component. |
on_event | The function drawing the interface. |
Definition at line 54 of file catch_event.cpp.
ComponentDecorator CatchEvent | ( | std::function< bool(Event)> | on_event | ) |
Decorate a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise.
on_event | The function drawing the interface. |
Definition at line 80 of file catch_event.cpp.
Component Checkbox | ( | CheckboxOption | option | ) |
Draw checkable element.
option | Additional optional parameters. |
Definition at line 108 of file src/ftxui/component/checkbox.cpp.
Component Checkbox | ( | ConstStringRef | label, |
bool * | checked, | ||
CheckboxOption | option ) |
Draw checkable element.
label | The label of the checkbox. |
checked | Whether the checkbox is checked or not. |
option | Additional optional parameters. |
Definition at line 135 of file src/ftxui/component/checkbox.cpp.
Component Vertical | ( | Components | children | ) |
A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or 'j'/'k' keys.
children | the list of components. |
Definition at line 317 of file container.cpp.
Component Vertical | ( | Components | children, |
int * | selector ) |
A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or 'j'/'k' keys. This is useful for implementing a Menu for instance.
children | the list of components. |
selector | A reference to the index of the selected children. |
Definition at line 339 of file container.cpp.
Component Horizontal | ( | Components | children | ) |
A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow key or 'h'/'l' keys.
children | the list of components. |
Definition at line 360 of file container.cpp.
Component Horizontal | ( | Components | children, |
int * | selector ) |
A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow key or 'h'/'l' keys.
children | the list of components. |
selector | A reference to the index of the selected children. |
Definition at line 382 of file container.cpp.
Component Tab | ( | Components | children, |
int * | selector ) |
A list of components, where only one is drawn and interacted with at a time. The |selector| gives the index of the selected component. This is useful to implement tabs.
children | The list of components. |
selector | The index of the drawn children. |
Definition at line 405 of file container.cpp.
Component Stacked | ( | Components | children | ) |
A list of components to be stacked on top of each other. Events are propagated to the first component, then the second if not handled, etc. The components are drawn in the reverse order they are given. When a component take focus, it is put at the front, without changing the relative order of the other elements.
This should be used with the Window
component.
children | The list of components. |
Definition at line 432 of file container.cpp.
Component Dropdown | ( | ConstStringListRef | entries, |
int * | selected ) |
A dropdown menu.
entries | The list of entries to display. |
selected | The index of the selected entry. |
Definition at line 22 of file src/ftxui/component/dropdown.cpp.
Component Dropdown | ( | DropdownOption | option | ) |
A dropdown menu.
option | The options for the dropdown. |
Definition at line 33 of file src/ftxui/component/dropdown.cpp.
Wrap a component. Gives the ability to know if it is hovered by the mouse.
component | The wrapped component. |
hover | The value to reflect whether the component is hovered or not. |
Definition at line 43 of file hoverable.cpp.
Component Hoverable | ( | Component | component, |
std::function< void()> | on_enter, | ||
std::function< void()> | on_leave ) |
Wrap a component. Uses callbacks.
component | The wrapped component. |
on_enter | Callback OnEnter |
on_leave | Callback OnLeave |
Definition at line 86 of file hoverable.cpp.
ComponentDecorator Hoverable | ( | bool * | hover | ) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
hover | The value to reflect whether the component is hovered or not. |
Definition at line 141 of file hoverable.cpp.
ComponentDecorator Hoverable | ( | std::function< void()> | on_enter, |
std::function< void()> | on_leave ) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
on_enter | is called when the mouse hover the component. |
on_leave | is called when the mouse leave the component. |
Definition at line 165 of file hoverable.cpp.
Wrap a component. Gives the ability to know if it is hovered by the mouse.
component | the wrapped component. |
on_change | is called when the mouse enter or leave the component. |
Definition at line 188 of file hoverable.cpp.
ComponentDecorator Hoverable | ( | std::function< void(bool)> | on_change | ) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
on_change | is called when the mouse enter or leave the component. |
Definition at line 209 of file hoverable.cpp.
Component Input | ( | InputOption | option | ) |
An input box for editing text.
option | Additional optional parameters. |
Definition at line 571 of file src/ftxui/component/input.cpp.
Component Input | ( | StringRef | content, |
InputOption | option ) |
An input box for editing text.
content | The editable content. |
option | Additional optional parameters. |
Definition at line 599 of file src/ftxui/component/input.cpp.
Component Input | ( | StringRef | content, |
StringRef | placeholder, | ||
InputOption | option ) |
An input box for editing text.
content | The editable content. |
placeholder | The placeholder text. |
option | Additional optional parameters. |
Definition at line 626 of file src/ftxui/component/input.cpp.
Decorate a component |child|. It is shown only when |show| returns true.
child | the component to decorate. |
show | a function returning whether |child| should shown. |
Definition at line 21 of file src/ftxui/component/maybe.cpp.
ComponentDecorator Maybe | ( | std::function< bool()> | show | ) |
Decorate a component. It is shown only when the |show| function returns true.
show | a function returning whether the decorated component should be shown. |
Definition at line 57 of file src/ftxui/component/maybe.cpp.
Decorate a component |child|. It is shown only when |show| is true.
child | the component to decorate. |
show | a boolean. |child| is shown when |show| is true. |
Definition at line 74 of file src/ftxui/component/maybe.cpp.
ComponentDecorator Maybe | ( | const bool * | show | ) |
Decorate a component. It is shown only when |show| is true.
show | a boolean. |child| is shown when |show| is true. |
Definition at line 88 of file src/ftxui/component/maybe.cpp.
Component Menu | ( | MenuOption | option | ) |
A list of text. The focused element is selected.
option | a structure containing all the paramters. |
Definition at line 512 of file src/ftxui/component/menu.cpp.
Component Menu | ( | ConstStringListRef | entries, |
int * | selected, | ||
MenuOption | option ) |
A list of text. The focused element is selected.
entries | The list of entries in the menu. |
selected | The index of the currently selected element. |
option | Additional optional parameters. |
Definition at line 543 of file src/ftxui/component/menu.cpp.
Component Toggle | ( | ConstStringListRef | entries, |
int * | selected ) |
An horizontal list of elements. The user can navigate through them.
entries | The list of selectable entries to display. |
selected | Reference the selected entry. See also |Menu|. |
Definition at line 554 of file src/ftxui/component/menu.cpp.
Component MenuEntry | ( | ConstStringRef | label, |
MenuEntryOption | option ) |
A specific menu entry. They can be put into a Container::Vertical to form a menu.
label | The text drawn representing this element. |
option | Additional optional parameters. |
Definition at line 584 of file src/ftxui/component/menu.cpp.
Component MenuEntry | ( | MenuEntryOption | option | ) |
A specific menu entry. They can be put into a Container::Vertical to form a menu.
option | The parameters. |
Definition at line 614 of file src/ftxui/component/menu.cpp.
ComponentDecorator Modal | ( | Component | modal, |
const bool * | show_modal ) |
Component Radiobox | ( | RadioboxOption | option | ) |
A list of element, where only one can be selected.
option | The parameters |
NOLINTNEXTLINE
Definition at line 204 of file src/ftxui/component/radiobox.cpp.
Component Radiobox | ( | ConstStringListRef | entries, |
int * | selected, | ||
RadioboxOption | option ) |
A list of element, where only one can be selected.
entries | The list of entries in the list. |
selected | The index of the currently selected element. |
option | Additional optional parameters. |
Definition at line 236 of file src/ftxui/component/radiobox.cpp.
Return a component, using |render| to render its interface.
render | The function drawing the interface. |
Definition at line 29 of file src/ftxui/component/renderer.cpp.
Return a new Component, similar to |child|, but using |render| as the Component::Render() event.
child | The component to forward events to. |
render | The function drawing the interface. |
Definition at line 61 of file src/ftxui/component/renderer.cpp.
Return a focusable component, using |render| to render its interface.
render | The function drawing the interface, taking a boolean telling whether the component is focused or not. |
Definition at line 84 of file src/ftxui/component/renderer.cpp.
ComponentDecorator Renderer | ( | ElementDecorator | decorator | ) |
Decorate a component, by decorating what it renders.
decorator | the function modifying the element it renders. |
Definition at line 125 of file src/ftxui/component/renderer.cpp.
An horizontal split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the left. |
back | The back component taking the remaining size, on the right. |
main_size | The size of the |main| component. |
Definition at line 215 of file src/ftxui/component/resizable_split.cpp.
An horizontal split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the right. |
back | The back component taking the remaining size, on the left. |
main_size | The size of the |main| component. |
Definition at line 249 of file src/ftxui/component/resizable_split.cpp.
An vertical split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the top. |
back | The back component taking the remaining size, on the bottom. |
main_size | The size of the |main| component. |
Definition at line 283 of file src/ftxui/component/resizable_split.cpp.
An vertical split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the bottom. |
back | The back component taking the remaining size, on the top. |
main_size | The size of the |main| component. |
Definition at line 317 of file src/ftxui/component/resizable_split.cpp.
Component Slider | ( | ConstStringRef | label, |
Ref< int > | value, | ||
ConstRef< int > | min, | ||
ConstRef< int > | max, | ||
ConstRef< int > | increment ) |
An horizontal slider.
label | The name of the slider. |
value | The current value of the slider. |
min | The minimum value. |
max | The maximum value. |
increment | The increment when used by the cursor. |
Definition at line 289 of file src/ftxui/component/slider.cpp.
Component Window | ( | WindowOptions | option | ) |
A draggeable / resizeable window. To use multiple of them, they must be stacked using Container::Stacked({...})
component;.
option | A struct holding every parameters. |
Definition at line 312 of file src/ftxui/component/window.cpp.