|
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 | 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 | DropdownOption |
| Option for the Dropdown component.A dropdown menu is a checkbox opening/closing a radiobox. More... | |
| struct | Mouse |
| A mouse event. It contains the coordinate of the mouse, the button pressed and the modifier (shift, ctrl, meta). More... | |
Functions | |
| 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;. | |
| 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. | |
| 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. | |
| 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. | |
| void | SetAnimation (animation::Duration d, animation::easing::Function f) |
| Set how the underline should animate. | |
| void | SetAnimationDuration (animation::Duration d) |
| Set how the underline should animate. | |
| void | SetAnimationFunction (animation::easing::Function f) |
| Set how the underline should animate. | |
| 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. | |
| 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. | |
| 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. | |
| static CheckboxOption | Simple () |
| Option for standard Checkbox. | |
| static RadioboxOption | Simple () |
| Option for standard Radiobox. | |
| static InputOption | Default () |
| Create the default input style: | |
| static InputOption | Spacious () |
| A white on black style with high margins: | |
| 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 | Mouse (std::string, Mouse mouse) |
| 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. | |
| 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. | |
| bool | HasQuitted () |
| Whether the loop has quitted. | |
| static ScreenInteractive | Fullscreen () |
| static ScreenInteractive | FullscreenPrimaryScreen () |
| static ScreenInteractive | FullscreenAlternateScreen () |
| void | TrackMouse (bool enable=true) |
Set whether mouse is tracked and events reported. called outside of the main loop. E.g ScreenInteractive::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. | |
| CapturedMouse | CaptureMouse () |
| Try to get the unique lock about behing able to capture the mouse. | |
| void | Loop (Component) |
| Execute the main loop. | |
| Closure | ExitLoopClosure () |
| Return a function to exit the main loop. | |
| void | Exit () |
| Exit the main loop. | |
| 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 |
|
protected |
Definition at line 96 of file component_base.hpp.
| struct ftxui::AnimatedColorOption |
Option about a potentially animated color.
Definition at line 55 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 |
| bool enabled = false |
Definition at line 62 of file component_options.hpp.
| Color inactive |
Definition at line 63 of file component_options.hpp.
| Color active |
Definition at line 64 of file component_options.hpp.
| animation::Duration duration = std::chrono::milliseconds(250) |
Definition at line 65 of file component_options.hpp.
| animation::easing::Function function = animation::easing::QuadraticInOut |
Definition at line 66 of file component_options.hpp.
| struct ftxui::MenuEntryOption |
Option for the MenuEntry component.
Definition at line 76 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 77 of file component_options.hpp.
| std::function<Element(const EntryState& state)> transform |
Definition at line 78 of file component_options.hpp.
| AnimatedColorsOption animated_colors |
Definition at line 79 of file component_options.hpp.
| struct ftxui::MenuOption |
Option for the Menu component.
Definition at line 84 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 |
| ConstStringListRef entries |
Definition at line 92 of file component_options.hpp.
| Ref<int> selected = 0 |
The list of entries.
Definition at line 93 of file component_options.hpp.
| UnderlineOption underline |
The index of the selected entry.
Definition at line 96 of file component_options.hpp.
| MenuEntryOption entries_option |
Definition at line 97 of file component_options.hpp.
| Direction direction = Direction::Down |
Definition at line 98 of file component_options.hpp.
| std::function<Element()> elements_prefix |
Definition at line 99 of file component_options.hpp.
| std::function<Element()> elements_infix |
Definition at line 100 of file component_options.hpp.
| std::function<Element()> elements_postfix |
Definition at line 101 of file component_options.hpp.
| std::function<void()> on_change |
Definition at line 104 of file component_options.hpp.
| std::function<void()> on_enter |
Called when the selected entry changes.
Definition at line 105 of file component_options.hpp.
| Ref<int> focused_entry = 0 |
Called when the user presses enter.
Definition at line 106 of file component_options.hpp.
| struct ftxui::ButtonOption |
Option for the AnimatedButton component.
Definition at line 111 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 |
| ConstStringRef label = "Button" |
Definition at line 124 of file component_options.hpp.
| std::function<void()> on_click = [] {} |
Definition at line 125 of file component_options.hpp.
| std::function<Element(const EntryState&)> transform |
Definition at line 128 of file component_options.hpp.
| AnimatedColorsOption animated_colors |
Definition at line 129 of file component_options.hpp.
| struct ftxui::CheckboxOption |
Option for the Checkbox component.
Definition at line 134 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. | |
| ConstStringRef label = "Checkbox" |
Definition at line 138 of file component_options.hpp.
| Ref<bool> checked = false |
Definition at line 140 of file component_options.hpp.
| std::function<Element(const EntryState&)> transform |
Definition at line 143 of file component_options.hpp.
| std::function<void()> on_change = [] {} |
Called when the user change the state.
Definition at line 147 of file component_options.hpp.
| struct ftxui::InputOption |
Option for the Input component.
Definition at line 161 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 |
| StringRef content = "" |
The content of the input.
Definition at line 170 of file component_options.hpp.
| StringRef placeholder = "" |
The content of the input when it's empty.
Definition at line 173 of file component_options.hpp.
| std::function<Element(InputState)> transform |
Definition at line 176 of file component_options.hpp.
| Ref<bool> password = false |
Obscure the input content using '*'.
Definition at line 177 of file component_options.hpp.
| Ref<bool> multiline = true |
Whether the input can be multiline.
Definition at line 178 of file component_options.hpp.
| Ref<bool> insert = true |
Insert or overtype character mode.
Definition at line 179 of file component_options.hpp.
| std::function<void()> on_change = [] {} |
Called when the content changes.
Definition at line 182 of file component_options.hpp.
| std::function<void()> on_enter = [] {} |
Called when the user presses enter.
Definition at line 184 of file component_options.hpp.
| Ref<int> cursor_position = 0 |
Definition at line 187 of file component_options.hpp.
| struct ftxui::RadioboxOption |
Option for the Radiobox component.
Definition at line 192 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 |
| ConstStringListRef entries |
Definition at line 197 of file component_options.hpp.
| Ref<int> selected = 0 |
Definition at line 198 of file component_options.hpp.
| std::function<Element(const EntryState&)> transform |
Definition at line 201 of file component_options.hpp.
| std::function<void()> on_change = [] {} |
Called when the selected entry changes.
Definition at line 205 of file component_options.hpp.
| Ref<int> focused_entry = 0 |
Definition at line 206 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 269 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 271 of file component_options.hpp.
| CheckboxOption checkbox |
Definition at line 273 of file component_options.hpp.
| RadioboxOption radiobox |
Definition at line 275 of file component_options.hpp.
| 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 |
| 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.
| ComponentBase * Parent | ( | ) | const |
Return the parent ComponentBase, or nul if any.
Definition at line 39 of file component.cpp.
| Component & ChildAt | ( | size_t | i | ) |
Access the child at index i.
Definition at line 45 of file component.cpp.
| size_t ChildCount | ( | ) | const |
Returns the number of children.
Definition at line 52 of file component.cpp.
| int Index | ( | ) | const |
Return index of the component in its parent. -1 if no parent.
Definition at line 58 of file component.cpp.
| void Add | ( | Component | children | ) |
Add a child. @param child The child to be attached.
Definition at line 75 of file component.cpp.
| void Detach | ( | ) |
Detach this child from its parent.
Definition at line 85 of file component.cpp.
| void DetachAllChildren | ( | ) |
Remove all children.
Definition at line 101 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 111 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 147 of file component.cpp.
|
virtual |
Called in response to an event.
| event | The event. |
Definition at line 161 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 174 of file component.cpp.
|
virtual |
Return the currently Active child.
Definition at line 183 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 196 of file component.cpp.
| bool Active | ( | ) | const |
Returns if the element if the currently active child of its parent.
Definition at line 207 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 216 of file component.cpp.
|
virtual |
Make the |child| to be the "active" one.
| child | the child to become active. |
Definition at line 227 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 232 of file component.cpp.
| void TakeFocus | ( | ) |
Configure all the ancestors to give focus to this component.
Definition at line 238 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 250 of file component.cpp.
| 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 21 of file component_options.cpp.
| 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 36 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 45 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 53 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 64 of file component_options.cpp.
|
static |
Standard options for a horizontal menu. This can be useful to implement a tab bar.
Definition at line 75 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 100 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 110 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 132 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 155 of file component_options.cpp.
|
static |
Create a ButtonOption, highlighted using [] characters.
Definition at line 164 of file component_options.cpp.
|
static |
Create a ButtonOption, inverted when focused.
Definition at line 177 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 192 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 210 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 218 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 229 of file component_options.cpp.
|
static |
Create a ButtonOption, using animated colors.
Definition at line 242 of file component_options.cpp.
|
static |
Option for standard Checkbox.
Definition at line 262 of file component_options.cpp.
|
static |
Option for standard Radiobox.
Definition at line 287 of file component_options.cpp.
|
static |
Create the default input style:
Standard options for the input component.
Definition at line 312 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 335 of file component_options.cpp.
|
static |
|
static |
|
static |
|
static |
| 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. |
|
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 374 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 383 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 396 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 441 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 448 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 461 of file screen_interactive.cpp.
| CapturedMouse CaptureMouse | ( | ) |
Try to get the unique lock about behing able to capture the mouse.
Definition at line 483 of file screen_interactive.cpp.
Execute the main loop.
| component | The component to draw. |
Definition at line 495 of file screen_interactive.cpp.
| Closure ExitLoopClosure | ( | ) |
Return a function to exit the main loop.
Definition at line 1026 of file screen_interactive.cpp.
| void Exit | ( | ) |
Exit the main loop.
Definition at line 1032 of file screen_interactive.cpp.