FTXUI 6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
ftxui/component

Description détaillée

Veuillez consulter le tutoriel du module ftxui/component.

Classes

class  ComponentBase
 Il implémente son propre rendu en tant que ftxui::Element. Il implémente la navigation au clavier en répondant à ftxui::Event. Plus de détails...
 
struct  UnderlineOption
 Option pour l'effet de soulignement. Plus de détails...
 
struct  AnimatedColorOption
 Option concernant une couleur potentiellement animée. Plus de détails...
 
struct  MenuEntryOption
 Option pour le composant MenuEntry. Plus de détails...
 
struct  MenuOption
 Option pour le composant Menu. Plus de détails...
 
struct  ButtonOption
 Option pour le composant AnimatedButton. Plus de détails...
 
struct  CheckboxOption
 Option pour le composant Checkbox. Plus de détails...
 
struct  InputOption
 Option pour le composant Input. Plus de détails...
 
struct  RadioboxOption
 Option pour le composant Radiobox. Plus de détails...
 
struct  WindowRenderState
 État passé à la fonction de rendu du composant Window. Plus de détails...
 
struct  DropdownOption
 Option pour le composant Dropdown.Un menu déroulant est une case à cocher qui ouvre/ferme une radiobox. Plus de détails...
 
struct  Event
 Représente un événement. Il peut s'agir d'un événement de touche, d'un redimensionnement de terminal, ou plus encore... Plus de détails...
 
class  Loop
 Loop est une classe qui gère la boucle d'événements pour un composant. Plus de détails...
 
struct  Mouse
 Un événement de souris. Il contient les coordonnées de la souris, le bouton pressé et le modificateur (shift, ctrl, méta). Plus de détails...
 
class  ScreenInteractive
 ScreenInteractive est un Screen qui peut gérer les événements, exécuter une boucle principale et gérer les composants. Plus de détails...
 

Fonctions

void RequestAnimationFrame ()
 RequestAnimationFrame est une fonction qui demande à ce qu'une nouvelle trame soit dessinée lors du prochain cycle d'animation.
 
Component Button (ButtonOption option)
 Dessine un bouton. Exécute une fonction lors d'un clic.
 
Component Button (ConstStringRef label, std::function< void()> on_click, ButtonOption option)
 Dessine un bouton. Exécute une fonction lors d'un clic.
 
Component CatchEvent (Component child, std::function< bool(Event event)> on_event)
 Retourne un composant, utilisant |on_event| pour intercepter les événements. Cette fonction doit retourner 'true' si l'événement a été géré, 'false' sinon.
 
ComponentDecorator CatchEvent (std::function< bool(Event)> on_event)
 Décore un composant, utilisant |on_event| pour intercepter les événements. Cette fonction doit retourner 'true' si l'événement a été géré, 'false' sinon.
 
Component Checkbox (CheckboxOption option)
 Dessine un élément à cocher.
 
Component Checkbox (ConstStringRef label, bool *checked, CheckboxOption option)
 Dessine un élément à cocher.
 
Component Vertical (Components children)
 Une liste de composants, dessinés un par un verticalement et navigués verticalement en utilisant les flèches haut/bas ou les touches 'j'/'k'.
 
Component Vertical (Components children, int *selector)
 Une liste de composants, dessinés un par un verticalement et navigués verticalement en utilisant les flèches haut/bas ou les touches 'j'/'k'. Ceci est utile pour implémenter un Menu par exemple.
 
Component Horizontal (Components children)
 Une liste de composants, dessinés un par un horizontalement et navigués horizontalement en utilisant les flèches gauche/droite ou les touches 'h'/'l'.
 
Component Horizontal (Components children, int *selector)
 Une liste de composants, dessinés un par un horizontalement et navigués horizontalement en utilisant les flèches gauche/droite ou les touches 'h'/'l'.
 
Component Tab (Components children, int *selector)
 Une liste de composants, où un seul est dessiné et interagit avec à la fois. Le |selector| donne l'index du composant sélectionné. Ceci est utile pour implémenter des onglets.
 
Component Stacked (Components children)
 Une liste de composants à empiler les uns sur les autres. Les événements sont propagés au premier composant, puis au second s'il n'est pas géré, etc. Les composants sont dessinés dans l'ordre inverse de leur insertion. Lorsqu'un composant prend le focus, il est placé au premier plan, sans modifier l'ordre relatif des autres éléments.
 
Component Dropdown (ConstStringListRef entries, int *selected)
 Un menu déroulant.
 
Component Dropdown (DropdownOption option)
 Un menu déroulant.
 
Component Hoverable (Component component, bool *hover)
 Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
 
Component Hoverable (Component component, std::function< void()> on_enter, std::function< void()> on_leave)
 Encapsule un composant. Utilise des callbacks.
 
ComponentDecorator Hoverable (bool *hover)
 Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
 
ComponentDecorator Hoverable (std::function< void()> on_enter, std::function< void()> on_leave)
 Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
 
Component Hoverable (Component component, std::function< void(bool)> on_change)
 Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
 
ComponentDecorator Hoverable (std::function< void(bool)> on_change)
 Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
 
Component Input (InputOption option)
 Une zone de saisie pour éditer du texte.
 
Component Input (StringRef content, InputOption option)
 Une zone de saisie pour éditer du texte.
 
Component Input (StringRef content, StringRef placeholder, InputOption option)
 Une zone de saisie pour éditer du texte.
 
Component Maybe (Component child, std::function< bool()> show)
 Décore un composant |child|. Il est affiché uniquement lorsque |show| retourne vrai.
 
ComponentDecorator Maybe (std::function< bool()> show)
 Décore un composant. Il est affiché uniquement lorsque la fonction |show| retourne vrai.
 
Component Maybe (Component child, const bool *show)
 Décore un composant |child|. Il est affiché uniquement lorsque |show| est vrai.
 
ComponentDecorator Maybe (const bool *show)
 Décore un composant. Il est affiché uniquement lorsque |show| est vrai.
 
Component Menu (MenuOption option)
 Une liste de texte. L'élément sélectionné est mis en évidence.
 
Component Menu (ConstStringListRef entries, int *selected, MenuOption option)
 Une liste de texte. L'élément sélectionné est mis en évidence.
 
Component Toggle (ConstStringListRef entries, int *selected)
 Une liste horizontale d'éléments. L'utilisateur peut naviguer à travers eux.
 
Component MenuEntry (ConstStringRef label, MenuEntryOption option)
 Une entrée de menu spécifique. Elles peuvent être placées dans un Container::Vertical pour former un menu.
 
Component MenuEntry (MenuEntryOption option)
 Une entrée de menu spécifique. Elles peuvent être placées dans un Container::Vertical pour former un menu.
 
Component Modal (Component main, Component modal, const bool *show_modal)
 
ComponentDecorator Modal (Component modal, const bool *show_modal)
 
Component Radiobox (RadioboxOption option)
 Une liste d'éléments, où un seul peut être sélectionné.
 
Component Radiobox (ConstStringListRef entries, int *selected, RadioboxOption option)
 Une liste d'éléments, où un seul peut être sélectionné.
 
Component Renderer (std::function< Element()> render)
 Renvoie un composant, utilisant |render| pour afficher son interface.
 
Component Renderer (Component child, std::function< Element()> render)
 Renvoie un nouveau composant, similaire à |child|, mais utilisant |render| comme événement Component::Render().
 
Component Renderer (std::function< Element(bool)> render)
 Renvoie un composant focusable, utilisant |render| pour afficher son interface.
 
ComponentDecorator Renderer (ElementDecorator decorator)
 Décore un composant, en décorant ce qu'il rend.
 
Component ResizableSplitLeft (Component main, Component back, int *main_size)
 Une séparation horizontale entre deux composants, configurable à l'aide de la souris.
 
Component ResizableSplitRight (Component main, Component back, int *main_size)
 Une séparation horizontale entre deux composants, configurable à l'aide de la souris.
 
Component ResizableSplitTop (Component main, Component back, int *main_size)
 Une séparation verticale entre deux composants, configurable à l'aide de la souris.
 
Component ResizableSplitBottom (Component main, Component back, int *main_size)
 Une séparation verticale entre deux composants, configurable à l'aide de la souris.
 
Component Slider (ConstStringRef label, Ref< int > value, ConstRef< int > min, ConstRef< int > max, ConstRef< int > increment)
 Un curseur horizontal.
 

Documentation des classes

◆ ftxui::ComponentBase

class ftxui::ComponentBase

Il implémente son propre rendu en tant que ftxui::Element. Il implémente la navigation au clavier en répondant à ftxui::Event.

Exemples
examples/component/scrollbar.cpp, et examples/component/window.cpp.

Définition à la ligne 30 du fichier component_base.hpp.

Fonctions membres publiques

 ComponentBase (Components children)
 
virtual ~ComponentBase ()
 
 ComponentBase ()=default
 
 ComponentBase (const ComponentBase &)=delete
 
 ComponentBase (ComponentBase &&)=delete
 
ComponentBaseoperator= (const ComponentBase &)=delete
 
ComponentBaseoperator= (ComponentBase &&)=delete
 
ComponentBaseParent () const
 Retourne le ComponentBase parent, ou nul s'il n'y en a pas.
 
ComponentChildAt (size_t i)
 Accède à l'enfant à l'index i.
 
size_t ChildCount () const
 Retourne le nombre d'enfants.
 
int Index () const
 Retourne l'index du composant dans son parent. -1 si pas de parent.
 
void Add (Component children)
 Ajoute un enfant. @param child L'enfant à attacher.
 
void Detach ()
 Détache cet enfant de son parent.
 
void DetachAllChildren ()
 Supprime tous les enfants.
 
Element Render ()
 Dessine le composant. Construit un ftxui::Element à dessiner sur l'écran ftxui::Screen représentant ce ftxui::ComponentBase. Veuillez surcharger OnRender() pour modifier le rendu.
 
virtual Element OnRender ()
 Dessine le composant. Construit un ftxui::Element à dessiner sur l'écran ftxui::Screen représentant ce ftxui::ComponentBase. Cette fonction est destinée à être surchargée.
 
virtual bool OnEvent (Event)
 Appelé en réponse à un événement.
 
virtual void OnAnimation (animation::Params &params)
 Appelé en réponse à un événement d'animation.
 
virtual Component ActiveChild ()
 Retourne l'enfant actuellement actif.
 
virtual bool Focusable () const
 Retourne vrai si le composant contient des éléments focusables. Les composants non focusables seront ignorés lors de la navigation au clavier.
 
bool Active () const
 Indique si l'élément est l'enfant actuellement actif de son parent.
 
bool Focused () const
 Indique si les éléments sont focusés par l'utilisateur. Vrai lorsque le ComponentBase est focusé par l'utilisateur. Un élément est focusé lorsqu'il est, avec tous ses ancêtres, l'ActiveChild() de leurs parents, et qu'il est Focusable().
 
virtual void SetActiveChild (ComponentBase *child)
 Fait du |child| l'élément "actif".
 
void SetActiveChild (Component child)
 Fait du |child| l'élément "actif".
 
void TakeFocus ()
 Configure tous les ancêtres pour donner le focus à ce composant.
 

Fonctions membres protégées

CapturedMouse CaptureMouse (const Event &event)
 Prend le CapturedMouse si disponible. Il n'y en a qu'un seul composant de eux. Il représente un composant prenant la priorité sur les autres.
 

Attributs protégés

Components children_
 

Documentation des constructeurs et destructeur

◆ ComponentBase() [1/4]

ComponentBase ( Components children)
inlineexplicit

Définition à la ligne 32 du fichier component_base.hpp.

◆ ~ComponentBase()

~ComponentBase ( )
virtual

Définition à la ligne 31 du fichier component.cpp.

◆ ComponentBase() [2/4]

ComponentBase ( )
default

◆ ComponentBase() [3/4]

ComponentBase ( const ComponentBase & )
delete

◆ ComponentBase() [4/4]

Documentation des fonctions membres

◆ operator=() [1/2]

ComponentBase & operator= ( const ComponentBase & )
delete

◆ operator=() [2/2]

ComponentBase & operator= ( ComponentBase && )
delete

◆ Parent()

ComponentBase * Parent ( ) const

Retourne le ComponentBase parent, ou nul s'il n'y en a pas.

Voir également
Detach
Parent

Définition à la ligne 38 du fichier component.cpp.

◆ ChildAt()

Component & ChildAt ( size_t i)

Accède à l'enfant à l'index i.

Définition à la ligne 43 du fichier component.cpp.

◆ ChildCount()

size_t ChildCount ( ) const

Retourne le nombre d'enfants.

Définition à la ligne 49 du fichier component.cpp.

◆ Index()

int Index ( ) const

Retourne l'index du composant dans son parent. -1 si pas de parent.

Définition à la ligne 54 du fichier component.cpp.

◆ Add()

void Add ( Component children)

Ajoute un enfant. @param child L'enfant à attacher.

Définition à la ligne 70 du fichier component.cpp.

◆ Detach()

void Detach ( )

Détache cet enfant de son parent.

Voir également
Detach
Parent

Définition à la ligne 79 du fichier component.cpp.

◆ DetachAllChildren()

void DetachAllChildren ( )

Supprime tous les enfants.

Définition à la ligne 94 du fichier component.cpp.

◆ Render()

Element Render ( )

Dessine le composant. Construit un ftxui::Element à dessiner sur l'écran ftxui::Screen représentant ce ftxui::ComponentBase. Veuillez surcharger OnRender() pour modifier le rendu.

Définition à la ligne 103 du fichier component.cpp.

◆ OnRender()

Element OnRender ( )
virtual

Dessine le composant. Construit un ftxui::Element à dessiner sur l'écran ftxui::Screen représentant ce ftxui::ComponentBase. Cette fonction est destinée à être surchargée.

Définition à la ligne 138 du fichier component.cpp.

◆ OnEvent()

bool OnEvent ( Event event)
virtual

Appelé en réponse à un événement.

Paramètres
eventL'événement.
Renvoie
Vrai si l'événement a été géré. L'implémentation par défaut appelle OnEvent sur chaque enfant jusqu'à ce que l'un d'eux retourne vrai. Si aucun ne retourne vrai, retourne faux.

Définition à la ligne 151 du fichier component.cpp.

◆ OnAnimation()

void OnAnimation ( animation::Params & params)
virtual

Appelé en réponse à un événement d'animation.

Paramètres
paramsles paramètres de l'animation L'implémentation par défaut distribue l'événement à chaque enfant.

Définition à la ligne 163 du fichier component.cpp.

◆ ActiveChild()

Component ActiveChild ( )
virtual

Retourne l'enfant actuellement actif.

Renvoie
l'enfant actuellement actif.

Définition à la ligne 171 du fichier component.cpp.

◆ Focusable()

bool Focusable ( ) const
virtual

Retourne vrai si le composant contient des éléments focusables. Les composants non focusables seront ignorés lors de la navigation au clavier.

Définition à la ligne 183 du fichier component.cpp.

◆ Active()

bool Active ( ) const

Indique si l'élément est l'enfant actuellement actif de son parent.

Définition à la ligne 193 du fichier component.cpp.

◆ Focused()

bool Focused ( ) const

Indique si les éléments sont focusés par l'utilisateur. Vrai lorsque le ComponentBase est focusé par l'utilisateur. Un élément est focusé lorsqu'il est, avec tous ses ancêtres, l'ActiveChild() de leurs parents, et qu'il est Focusable().

Définition à la ligne 201 du fichier component.cpp.

◆ SetActiveChild() [1/2]

void SetActiveChild ( ComponentBase * child)
virtual

Fait du |child| l'élément "actif".

Paramètres
childl'enfant à activer.

Définition à la ligne 211 du fichier component.cpp.

◆ SetActiveChild() [2/2]

void SetActiveChild ( Component child)

Fait du |child| l'élément "actif".

Paramètres
childl'enfant à activer.

Définition à la ligne 215 du fichier component.cpp.

◆ TakeFocus()

void TakeFocus ( )

Configure tous les ancêtres pour donner le focus à ce composant.

Définition à la ligne 220 du fichier component.cpp.

◆ CaptureMouse()

CapturedMouse CaptureMouse ( const Event & event)
protected

Prend le CapturedMouse si disponible. Il n'y en a qu'un seul composant de eux. Il représente un composant prenant la priorité sur les autres.

Paramètres
eventL'événement

Définition à la ligne 231 du fichier component.cpp.

Documentation des données membres

◆ children_

Components children_
protected

Définition à la ligne 96 du fichier component_base.hpp.

◆ ftxui::UnderlineOption

struct ftxui::UnderlineOption

Option pour l'effet de soulignement.

Définition à la ligne 34 du fichier component_options.hpp.

Fonctions membres publiques

void SetAnimation (animation::Duration d, animation::easing::Function f)
 Définit comment le soulignement doit être animé.
 
void SetAnimationDuration (animation::Duration d)
 Définit comment le soulignement doit être animé.
 
void SetAnimationFunction (animation::easing::Function f)
 Définit comment le soulignement doit être animé.
 
void SetAnimationFunction (animation::easing::Function f_leader, animation::easing::Function f_follower)
 Définit comment le soulignement doit être animé. Ceci est utile pour désynchroniser l'animation du leader et du follower.
 

Attributs publics

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

Documentation des fonctions membres

◆ SetAnimation()

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

Définit comment le soulignement doit être animé.

Paramètres
dLa durée de l'animation.
fLa fonction d'interpolation de l'animation.

Définition à la ligne 34 du fichier component_options.cpp.

◆ SetAnimationDuration()

void SetAnimationDuration ( animation::Duration d)

Définit comment le soulignement doit être animé.

Paramètres
dLa durée de l'animation.

Définition à la ligne 42 du fichier component_options.cpp.

◆ SetAnimationFunction() [1/2]

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

Définit comment le soulignement doit être animé.

Paramètres
fLa fonction d'interpolation de l'animation.

Définition à la ligne 49 du fichier component_options.cpp.

◆ SetAnimationFunction() [2/2]

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

Définit comment le soulignement doit être animé. Ceci est utile pour désynchroniser l'animation du leader et du follower.

Paramètres
f_leaderLa durée de l'animation pour le leader.
f_followerLa durée de l'animation pour le follower.

Définition à la ligne 59 du fichier component_options.cpp.

Documentation des données membres

◆ enabled

bool enabled = false

Définition à la ligne 35 du fichier component_options.hpp.

◆ color_active

Color color_active = Color::White

Définition à la ligne 37 du fichier component_options.hpp.

◆ color_inactive

Color color_inactive = Color::GrayDark

Définition à la ligne 38 du fichier component_options.hpp.

◆ leader_function

animation::easing::Function leader_function
Valeur initiale :

Définition à la ligne 40 du fichier component_options.hpp.

◆ follower_function

animation::easing::Function follower_function
Valeur initiale :

Définition à la ligne 42 du fichier component_options.hpp.

◆ leader_duration

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

Définition à la ligne 45 du fichier component_options.hpp.

◆ leader_delay

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

Définition à la ligne 46 du fichier component_options.hpp.

◆ follower_duration

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

Définition à la ligne 47 du fichier component_options.hpp.

◆ follower_delay

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

Définition à la ligne 48 du fichier component_options.hpp.

◆ ftxui::AnimatedColorOption

struct ftxui::AnimatedColorOption

Option concernant une couleur potentiellement animée.

Définition à la ligne 59 du fichier component_options.hpp.

Fonctions membres publiques

void Set (Color inactive, Color active, animation::Duration duration=std::chrono::milliseconds(250), animation::easing::Function function=animation::easing::QuadraticInOut)
 Une option de couleur qui peut être animée. @params _inactive La couleur lorsque le composant est inactif. @params _active La couleur lorsque le composant est actif. @params _duration La durée de l'animation. @params _function La fonction d'interpolation de l'animation.
 

Attributs publics

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

Documentation des fonctions membres

◆ Set()

void Set ( Color inactive,
Color active,
animation::Duration duration = std::chrono::milliseconds(250),
animation::easing::Function function = animation::easing::QuadraticInOut )

Une option de couleur qui peut être animée. @params _inactive La couleur lorsque le composant est inactif. @params _active La couleur lorsque le composant est actif. @params _duration La durée de l'animation. @params _function La fonction d'interpolation de l'animation.

Définition à la ligne 20 du fichier component_options.cpp.

Documentation des données membres

◆ enabled

bool enabled = false
Exemples
examples/component/menu_entries_animated.cpp.

Définition à la ligne 66 du fichier component_options.hpp.

◆ inactive

Color inactive
Exemples
examples/component/menu_entries_animated.cpp.

Définition à la ligne 67 du fichier component_options.hpp.

◆ active

Color active
Exemples
examples/component/menu_entries_animated.cpp.

Définition à la ligne 68 du fichier component_options.hpp.

◆ duration

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

Définition à la ligne 69 du fichier component_options.hpp.

◆ function

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

Définition à la ligne 70 du fichier component_options.hpp.

◆ ftxui::MenuEntryOption

struct ftxui::MenuEntryOption

Option pour le composant MenuEntry.

Exemples
examples/component/menu_entries.cpp, et examples/component/menu_entries_animated.cpp.

Définition à la ligne 80 du fichier component_options.hpp.

Attributs publics

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

Documentation des données membres

◆ label

ConstStringRef label = "MenuEntry"

Définition à la ligne 81 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 82 du fichier component_options.hpp.

◆ animated_colors

AnimatedColorsOption animated_colors
Exemples
examples/component/menu_entries_animated.cpp.

Définition à la ligne 83 du fichier component_options.hpp.

◆ ftxui::MenuOption

struct ftxui::MenuOption

Option pour le composant Menu.

Exemples
examples/component/menu.cpp, et examples/component/menu2.cpp.

Définition à la ligne 88 du fichier component_options.hpp.

Fonctions membres publiques statiques

static MenuOption Horizontal ()
 Options standard pour un menu horizontal. Cela peut être utile pour implémenter une barre d'onglets.
 
static MenuOption HorizontalAnimated ()
 Options standard pour un menu horizontal animé. Cela peut être utile pour implémenter une barre d'onglets.
 
static MenuOption Vertical ()
 Options standard pour un menu vertical. Cela peut être utile pour implémenter une liste d'éléments sélectionnables.
 
static MenuOption VerticalAnimated ()
 Options standard pour un menu vertical animé. Cela peut être utile pour implémenter une liste d'éléments sélectionnables.
 
static MenuOption Toggle ()
 Options standard pour un menu horizontal avec un séparateur. Cela peut être utile pour implémenter une barre d'onglets.
 

Attributs publics

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
 

Documentation des fonctions membres

◆ Horizontal()

MenuOption Horizontal ( )
static

Options standard pour un menu horizontal. Cela peut être utile pour implémenter une barre d'onglets.

Définition à la ligne 69 du fichier component_options.cpp.

◆ HorizontalAnimated()

MenuOption HorizontalAnimated ( )
static

Options standard pour un menu horizontal animé. Cela peut être utile pour implémenter une barre d'onglets.

Définition à la ligne 93 du fichier component_options.cpp.

◆ Vertical()

MenuOption Vertical ( )
static

Options standard pour un menu vertical. Cela peut être utile pour implémenter une liste d'éléments sélectionnables.

Définition à la ligne 102 du fichier component_options.cpp.

◆ VerticalAnimated()

MenuOption VerticalAnimated ( )
static

Options standard pour un menu vertical animé. Cela peut être utile pour implémenter une liste d'éléments sélectionnables.

Définition à la ligne 123 du fichier component_options.cpp.

◆ Toggle()

MenuOption Toggle ( )
static

Options standard pour un menu horizontal avec un séparateur. Cela peut être utile pour implémenter une barre d'onglets.

Définition à la ligne 145 du fichier component_options.cpp.

Documentation des données membres

◆ entries

Définition à la ligne 96 du fichier component_options.hpp.

◆ selected

Ref<int> selected = 0

‍La liste des entrées.

Définition à la ligne 97 du fichier component_options.hpp.

◆ underline

UnderlineOption underline

‍L'index de l'entrée sélectionnée.

Définition à la ligne 100 du fichier component_options.hpp.

◆ entries_option

MenuEntryOption entries_option

Définition à la ligne 101 du fichier component_options.hpp.

◆ direction

Définition à la ligne 102 du fichier component_options.hpp.

◆ elements_prefix

std::function<Element()> elements_prefix

Définition à la ligne 103 du fichier component_options.hpp.

◆ elements_infix

std::function<Element()> elements_infix

Définition à la ligne 104 du fichier component_options.hpp.

◆ elements_postfix

std::function<Element()> elements_postfix

Définition à la ligne 105 du fichier component_options.hpp.

◆ on_change

std::function<void()> on_change

Définition à la ligne 108 du fichier component_options.hpp.

◆ on_enter

std::function<void()> on_enter

‍Appelé lorsque l'entrée sélectionnée change.

Exemples
examples/component/menu.cpp.

Définition à la ligne 109 du fichier component_options.hpp.

◆ focused_entry

Ref<int> focused_entry = 0

‍Appelé lorsque l'utilisateur appuie sur Entrée.

Définition à la ligne 110 du fichier component_options.hpp.

◆ ftxui::ButtonOption

struct ftxui::ButtonOption

Option pour le composant AnimatedButton.

Exemples
examples/component/button.cpp.

Définition à la ligne 115 du fichier component_options.hpp.

Fonctions membres publiques statiques

static ButtonOption Ascii ()
 Crée une ButtonOption, mise en évidence à l'aide des caractères [].
 
static ButtonOption Simple ()
 Crée une ButtonOption, inversée lorsqu'elle est sélectionnée.
 
static ButtonOption Border ()
 Crée une ButtonOption. Le bouton est affiché avec une bordure, inversée lorsqu'il est sélectionné. C'est la valeur par défaut actuelle.
 
static ButtonOption Animated ()
 Crée une ButtonOption, utilisant des couleurs animées.
 
static ButtonOption Animated (Color color)
 Crée une ButtonOption, utilisant des couleurs animées.
 
static ButtonOption Animated (Color background, Color foreground)
 Crée une ButtonOption, utilisant des couleurs animées.
 
static ButtonOption Animated (Color background, Color foreground, Color background_active, Color foreground_active)
 Crée une ButtonOption, utilisant des couleurs animées.
 

Attributs publics

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

Documentation des fonctions membres

◆ Ascii()

ButtonOption Ascii ( )
static

Crée une ButtonOption, mise en évidence à l'aide des caractères [].

Définition à la ligne 153 du fichier component_options.cpp.

◆ Simple()

ButtonOption Simple ( )
static

Crée une ButtonOption, inversée lorsqu'elle est sélectionnée.

Définition à la ligne 165 du fichier component_options.cpp.

◆ Border()

ButtonOption Border ( )
static

Crée une ButtonOption. Le bouton est affiché avec une bordure, inversée lorsqu'il est sélectionné. C'est la valeur par défaut actuelle.

Définition à la ligne 179 du fichier component_options.cpp.

◆ Animated() [1/4]

ButtonOption Animated ( )
static

Crée une ButtonOption, utilisant des couleurs animées.

Définition à la ligne 196 du fichier component_options.cpp.

◆ Animated() [2/4]

ButtonOption Animated ( Color color)
static

Crée une ButtonOption, utilisant des couleurs animées.

Définition à la ligne 203 du fichier component_options.cpp.

◆ Animated() [3/4]

ButtonOption Animated ( Color background,
Color foreground )
static

Crée une ButtonOption, utilisant des couleurs animées.

Définition à la ligne 213 du fichier component_options.cpp.

◆ Animated() [4/4]

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

Crée une ButtonOption, utilisant des couleurs animées.

Définition à la ligne 225 du fichier component_options.cpp.

Documentation des données membres

◆ label

ConstStringRef label = "Button"

Définition à la ligne 128 du fichier component_options.hpp.

◆ on_click

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

Définition à la ligne 129 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 132 du fichier component_options.hpp.

◆ animated_colors

AnimatedColorsOption animated_colors

Définition à la ligne 133 du fichier component_options.hpp.

◆ ftxui::CheckboxOption

struct ftxui::CheckboxOption

Option pour le composant Checkbox.

Définition à la ligne 138 du fichier component_options.hpp.

Fonctions membres publiques statiques

static CheckboxOption Simple ()
 Option pour une case à cocher standard.
 

Attributs publics

ConstStringRef label = "Checkbox"
 
Ref< bool > checked = false
 
std::function< Element(const EntryState &)> transform
 
std::function< void()> on_change = [] {}
 Appelé lorsque l'utilisateur change l'état.
 

Documentation des fonctions membres

◆ Simple()

CheckboxOption Simple ( )
static

Option pour une case à cocher standard.

Définition à la ligne 244 du fichier component_options.cpp.

Documentation des données membres

◆ label

ConstStringRef label = "Checkbox"

Définition à la ligne 142 du fichier component_options.hpp.

◆ checked

Ref<bool> checked = false

Définition à la ligne 144 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 147 du fichier component_options.hpp.

◆ on_change

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

Appelé lorsque l'utilisateur change l'état.

Définition à la ligne 151 du fichier component_options.hpp.

◆ ftxui::InputOption

struct ftxui::InputOption

Option pour le composant Input.

Exemples
examples/component/homescreen.cpp, examples/component/input.cpp, et examples/component/input_style.cpp.

Définition à la ligne 165 du fichier component_options.hpp.

Fonctions membres publiques statiques

static InputOption Default ()
 Crée le style d'entrée par défaut:
 
static InputOption Spacious ()
 Un style blanc sur noir avec des marges élevées:
 

Attributs publics

StringRef content = ""
 Le contenu de l'entrée.
 
StringRef placeholder = ""
 Le contenu de l'entrée lorsqu'elle est vide.
 
std::function< Element(InputState)> transform
 
Ref< bool > password = false
 Obscurcit le contenu de l'entrée en utilisant '*'.
 
Ref< bool > multiline = true
 Indique si l'entrée peut être multiligne.
 
Ref< bool > insert = true
 Mode d'insertion ou de remplacement des caractères.
 
std::function< void()> on_change = [] {}
 Appelé lorsque le contenu change.
 
std::function< void()> on_enter = [] {}
 Appelé lorsque l'utilisateur appuie sur Entrée.
 
Ref< int > cursor_position = 0
 

Documentation des fonctions membres

◆ Default()

InputOption Default ( )
static

Crée le style d'entrée par défaut:

Options standard pour le composant d'entrée.

Définition à la ligne 292 du fichier component_options.cpp.

◆ Spacious()

InputOption Spacious ( )
static

Un style blanc sur noir avec des marges élevées:

Options standard pour un composant d'entrée plus esthétique.

Définition à la ligne 314 du fichier component_options.cpp.

Documentation des données membres

◆ content

StringRef content = ""

Le contenu de l'entrée.

Définition à la ligne 174 du fichier component_options.hpp.

◆ placeholder

StringRef placeholder = ""

Le contenu de l'entrée lorsqu'elle est vide.

Définition à la ligne 177 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 180 du fichier component_options.hpp.

◆ password

Ref<bool> password = false

Obscurcit le contenu de l'entrée en utilisant '*'.

Exemples
examples/component/input.cpp.

Définition à la ligne 181 du fichier component_options.hpp.

◆ multiline

Ref<bool> multiline = true

Indique si l'entrée peut être multiligne.

Définition à la ligne 182 du fichier component_options.hpp.

◆ insert

Ref<bool> insert = true

Mode d'insertion ou de remplacement des caractères.

Définition à la ligne 183 du fichier component_options.hpp.

◆ on_change

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

Appelé lorsque le contenu change.

Définition à la ligne 186 du fichier component_options.hpp.

◆ on_enter

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

Appelé lorsque l'utilisateur appuie sur Entrée.

Définition à la ligne 188 du fichier component_options.hpp.

◆ cursor_position

Ref<int> cursor_position = 0

Définition à la ligne 191 du fichier component_options.hpp.

◆ ftxui::RadioboxOption

struct ftxui::RadioboxOption

Option pour le composant Radiobox.

Définition à la ligne 196 du fichier component_options.hpp.

Fonctions membres publiques statiques

static RadioboxOption Simple ()
 Option pour un bouton radio standard.
 

Attributs publics

ConstStringListRef entries
 
Ref< int > selected = 0
 
std::function< Element(const EntryState &)> transform
 
std::function< void()> on_change = [] {}
 Appelé lorsque l'entrée sélectionnée change.
 
Ref< int > focused_entry = 0
 

Documentation des fonctions membres

◆ Simple()

RadioboxOption Simple ( )
static

Option pour un bouton radio standard.

Définition à la ligne 268 du fichier component_options.cpp.

Documentation des données membres

◆ entries

Définition à la ligne 201 du fichier component_options.hpp.

◆ selected

Ref<int> selected = 0

Définition à la ligne 202 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 205 du fichier component_options.hpp.

◆ on_change

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

Appelé lorsque l'entrée sélectionnée change.

Définition à la ligne 209 du fichier component_options.hpp.

◆ focused_entry

Ref<int> focused_entry = 0

Définition à la ligne 210 du fichier component_options.hpp.

◆ ftxui::WindowRenderState

struct ftxui::WindowRenderState

État passé à la fonction de rendu du composant Window.

Définition à la ligne 243 du fichier component_options.hpp.

Attributs publics

Element inner
 L'élément enveloppé à l'intérieur de cette fenêtre.
 
const std::string & title
 Le titre de la fenêtre.
 
bool active = false
 Indique si la fenêtre est active.
 
bool drag = false
 Indique si la fenêtre est en cours de déplacement.
 
bool resize = false
 Indique si la fenêtre est en cours de redimensionnement.
 
bool hover_left = false
 Indique si le côté gauche redimensionnable est survolé.
 
bool hover_right = false
 Indique si le côté droit redimensionnable est survolé.
 
bool hover_top = false
 Indique si le côté supérieur redimensionnable est survolé.
 
bool hover_down = false
 Indique si le côté inférieur redimensionnable est survolé.
 

Documentation des données membres

◆ inner

Element inner

L'élément enveloppé à l'intérieur de cette fenêtre.

Définition à la ligne 244 du fichier component_options.hpp.

◆ title

const std::string& title

Le titre de la fenêtre.

Définition à la ligne 245 du fichier component_options.hpp.

◆ active

bool active = false

Indique si la fenêtre est active.

Définition à la ligne 246 du fichier component_options.hpp.

◆ drag

bool drag = false

Indique si la fenêtre est en cours de déplacement.

Définition à la ligne 247 du fichier component_options.hpp.

◆ resize

bool resize = false

Indique si la fenêtre est en cours de redimensionnement.

Définition à la ligne 248 du fichier component_options.hpp.

◆ hover_left

bool hover_left = false

Indique si le côté gauche redimensionnable est survolé.

Définition à la ligne 249 du fichier component_options.hpp.

◆ hover_right

bool hover_right = false

Indique si le côté droit redimensionnable est survolé.

Définition à la ligne 250 du fichier component_options.hpp.

◆ hover_top

bool hover_top = false

Indique si le côté supérieur redimensionnable est survolé.

Définition à la ligne 251 du fichier component_options.hpp.

◆ hover_down

bool hover_down = false

Indique si le côté inférieur redimensionnable est survolé.

Définition à la ligne 252 du fichier component_options.hpp.

◆ ftxui::DropdownOption

struct ftxui::DropdownOption

Option pour le composant Dropdown.

Un menu déroulant est une case à cocher qui ouvre/ferme une radiobox.

Définition à la ligne 278 du fichier component_options.hpp.

Attributs publics

Ref< bool > open = false
 Indique si le menu déroulant est ouvert ou fermé :
 
CheckboxOption checkbox
 
RadioboxOption radiobox
 
std::function< Element(bool open, Element checkbox, Element radiobox)> transform
 

Documentation des données membres

◆ open

Ref<bool> open = false

Indique si le menu déroulant est ouvert ou fermé :

Définition à la ligne 280 du fichier component_options.hpp.

◆ checkbox

CheckboxOption checkbox

Définition à la ligne 282 du fichier component_options.hpp.

◆ radiobox

RadioboxOption radiobox

Définition à la ligne 284 du fichier component_options.hpp.

◆ transform

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

Définition à la ligne 287 du fichier component_options.hpp.

◆ ftxui::Event

struct ftxui::Event

Représente un événement. Il peut s'agir d'un événement de touche, d'un redimensionnement de terminal, ou plus encore...

Par exemple :

  • Un caractère imprimable peut être créé en utilisant Event::Character('a').
  • Certains événements spéciaux sont prédéfinis, comme Event::ArrowLeft.
  • On peut trouver un code arbitraire pour les événements spéciaux en utilisant : ./example/util/print_key_press Par exemple, CTLR+A correspond à Event::Special({1}) ;

Documentation utile sur la spécification xterm : https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Exemples
examples/component/canvas_animated.cpp, examples/component/custom_loop.cpp, examples/component/input.cpp, et examples/component/print_key_press.cpp.

Définition à la ligne 28 du fichier event.hpp.

Fonctions membres publiques

bool operator== (const Event &other) const
 
bool operator!= (const Event &other) const
 
bool operator< (const Event &other) const
 
const std::string & input () const
 
bool is_character () const
 
std::string character () const
 
bool is_mouse () const
 
struct Mousemouse ()
 
bool is_cursor_position () const
 
int cursor_x () const
 
int cursor_y () const
 
bool is_cursor_shape () const
 
int cursor_shape () const
 
std::string DebugString () const
 Renvoie une représentation textuelle de l'événement.
 

Fonctions membres publiques statiques

static Event Character (std::string)
 Un événement correspondant à un caractère tapé donné.
 
static Event Character (char)
 Un événement correspondant à un caractère tapé donné.
 
static Event Character (wchar_t)
 Un événement correspondant à un caractère tapé donné.
 
static Event Special (std::string)
 Un événement personnalisé dont la signification est définie par l'utilisateur de la bibliothèque.
 
static Event Mouse (std::string, Mouse mouse)
 Un événement correspondant à un caractère tapé donné.
 
static Event CursorPosition (std::string, int x, int y)
 
static Event CursorShape (std::string, int shape)
 Un événement correspondant à un DCS de terminal (Device Control String).
 

Attributs publics

ScreenInteractivescreen_ = nullptr
 

Attributs publics statiques

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})
 

Documentation des fonctions membres

◆ Character() [1/3]

Event Character ( std::string input)
static

Un événement correspondant à un caractère tapé donné.

Paramètres
inputLe caractère tapé par l'utilisateur.

Définition à la ligne 28 du fichier event.cpp.

◆ Character() [2/3]

Event Character ( char c)
static

Un événement correspondant à un caractère tapé donné.

Paramètres
cLe caractère tapé par l'utilisateur.

Définition à la ligne 38 du fichier event.cpp.

◆ Character() [3/3]

Event Character ( wchar_t c)
static

Un événement correspondant à un caractère tapé donné.

Paramètres
cLe caractère tapé par l'utilisateur.

Définition à la ligne 45 du fichier event.cpp.

◆ Special()

Event Special ( std::string input)
static

Un événement personnalisé dont la signification est définie par l'utilisateur de la bibliothèque.

Paramètres
inputUne séquence arbitraire de caractères définie par le développeur.

Définition à la ligne 74 du fichier event.cpp.

◆ Mouse()

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

Un événement correspondant à un caractère tapé donné.

Paramètres
inputLa séquence de caractères envoyée par le terminal.
mouseL'état de la souris.

Définition à la ligne 53 du fichier event.cpp.

◆ CursorPosition()

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

Définition à la ligne 82 du fichier event.cpp.

◆ CursorShape()

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

Un événement correspondant à un DCS de terminal (Device Control String).

Définition à la ligne 63 du fichier event.cpp.

◆ operator==()

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

Définition à la ligne 99 du fichier event.hpp.

◆ operator!=()

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

Définition à la ligne 100 du fichier event.hpp.

◆ operator<()

bool operator< ( const Event & other) const
inline

Définition à la ligne 101 du fichier event.hpp.

◆ input()

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

Définition à la ligne 103 du fichier event.hpp.

◆ is_character()

bool is_character ( ) const
inline

Définition à la ligne 105 du fichier event.hpp.

◆ character()

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

Définition à la ligne 106 du fichier event.hpp.

◆ is_mouse()

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

Définition à la ligne 108 du fichier event.hpp.

◆ mouse()

struct Mouse & mouse ( )
inline

Définition à la ligne 109 du fichier event.hpp.

◆ is_cursor_position()

bool is_cursor_position ( ) const
inline

Définition à la ligne 112 du fichier event.hpp.

◆ cursor_x()

int cursor_x ( ) const
inline

Définition à la ligne 113 du fichier event.hpp.

◆ cursor_y()

int cursor_y ( ) const
inline

Définition à la ligne 114 du fichier event.hpp.

◆ is_cursor_shape()

bool is_cursor_shape ( ) const
inline

Définition à la ligne 116 du fichier event.hpp.

◆ cursor_shape()

int cursor_shape ( ) const
inline

Définition à la ligne 117 du fichier event.hpp.

◆ DebugString()

std::string DebugString ( ) const

Renvoie une représentation textuelle de l'événement.

Définition à la ligne 91 du fichier event.cpp.

Documentation des données membres

◆ ArrowLeft

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

Définition à la ligne 39 du fichier event.hpp.

◆ ArrowRight

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

Définition à la ligne 40 du fichier event.hpp.

◆ ArrowUp

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

Définition à la ligne 41 du fichier event.hpp.

◆ ArrowDown

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

Définition à la ligne 42 du fichier event.hpp.

◆ ArrowLeftCtrl

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

Définition à la ligne 44 du fichier event.hpp.

◆ ArrowRightCtrl

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

Définition à la ligne 45 du fichier event.hpp.

◆ ArrowUpCtrl

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

Définition à la ligne 46 du fichier event.hpp.

◆ ArrowDownCtrl

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

Définition à la ligne 47 du fichier event.hpp.

◆ Backspace

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

Définition à la ligne 50 du fichier event.hpp.

◆ Delete

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

Définition à la ligne 51 du fichier event.hpp.

◆ Return

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

Définition à la ligne 52 du fichier event.hpp.

◆ Escape

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

Définition à la ligne 53 du fichier event.hpp.

◆ Tab

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

Définition à la ligne 54 du fichier event.hpp.

◆ TabReverse

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

Définition à la ligne 55 du fichier event.hpp.

◆ Insert

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

Définition à la ligne 58 du fichier event.hpp.

◆ Home

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

Définition à la ligne 59 du fichier event.hpp.

◆ End

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

Définition à la ligne 60 du fichier event.hpp.

◆ PageUp

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

Définition à la ligne 61 du fichier event.hpp.

◆ PageDown

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

Définition à la ligne 62 du fichier event.hpp.

◆ F1

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

Définition à la ligne 65 du fichier event.hpp.

◆ F2

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

Définition à la ligne 65 du fichier event.hpp.

◆ F3

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

Définition à la ligne 65 du fichier event.hpp.

◆ F4

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

Définition à la ligne 65 du fichier event.hpp.

◆ F5

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

Définition à la ligne 65 du fichier event.hpp.

◆ F6

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

Définition à la ligne 65 du fichier event.hpp.

◆ F7

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

Définition à la ligne 65 du fichier event.hpp.

◆ F8

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

Définition à la ligne 65 du fichier event.hpp.

◆ F9

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

Définition à la ligne 65 du fichier event.hpp.

◆ F10

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

Définition à la ligne 65 du fichier event.hpp.

◆ F11

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

Définition à la ligne 65 du fichier event.hpp.

◆ F12

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

Définition à la ligne 65 du fichier event.hpp.

◆ a

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

Définition à la ligne 68 du fichier event.hpp.

◆ A

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

Définition à la ligne 68 du fichier event.hpp.

◆ CtrlA

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

Définition à la ligne 68 du fichier event.hpp.

◆ AltA

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

Définition à la ligne 68 du fichier event.hpp.

◆ CtrlAltA

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

Définition à la ligne 68 du fichier event.hpp.

◆ b

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

Définition à la ligne 69 du fichier event.hpp.

◆ B

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

Définition à la ligne 69 du fichier event.hpp.

◆ CtrlB

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

Définition à la ligne 69 du fichier event.hpp.

◆ AltB

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

Définition à la ligne 69 du fichier event.hpp.

◆ CtrlAltB

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

Définition à la ligne 69 du fichier event.hpp.

◆ c

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

Définition à la ligne 70 du fichier event.hpp.

◆ C

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

Définition à la ligne 70 du fichier event.hpp.

◆ CtrlC

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

Définition à la ligne 70 du fichier event.hpp.

◆ AltC

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

Définition à la ligne 70 du fichier event.hpp.

◆ CtrlAltC

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

Définition à la ligne 70 du fichier event.hpp.

◆ d

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

Définition à la ligne 71 du fichier event.hpp.

◆ D

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

Définition à la ligne 71 du fichier event.hpp.

◆ CtrlD

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

Définition à la ligne 71 du fichier event.hpp.

◆ AltD

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

Définition à la ligne 71 du fichier event.hpp.

◆ CtrlAltD

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

Définition à la ligne 71 du fichier event.hpp.

◆ e

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

Définition à la ligne 72 du fichier event.hpp.

◆ E

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

Définition à la ligne 72 du fichier event.hpp.

◆ CtrlE

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

Définition à la ligne 72 du fichier event.hpp.

◆ AltE

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

Définition à la ligne 72 du fichier event.hpp.

◆ CtrlAltE

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

Définition à la ligne 72 du fichier event.hpp.

◆ f

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

Définition à la ligne 73 du fichier event.hpp.

◆ F

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

Définition à la ligne 73 du fichier event.hpp.

◆ CtrlF

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

Définition à la ligne 73 du fichier event.hpp.

◆ AltF

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

Définition à la ligne 73 du fichier event.hpp.

◆ CtrlAltF

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

Définition à la ligne 73 du fichier event.hpp.

◆ g

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

Définition à la ligne 74 du fichier event.hpp.

◆ G

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

Définition à la ligne 74 du fichier event.hpp.

◆ CtrlG

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

Définition à la ligne 74 du fichier event.hpp.

◆ AltG

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

Définition à la ligne 74 du fichier event.hpp.

◆ CtrlAltG

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

Définition à la ligne 74 du fichier event.hpp.

◆ h

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

Définition à la ligne 75 du fichier event.hpp.

◆ H

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

Définition à la ligne 75 du fichier event.hpp.

◆ CtrlH

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

Définition à la ligne 75 du fichier event.hpp.

◆ AltH

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

Définition à la ligne 75 du fichier event.hpp.

◆ CtrlAltH

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

Définition à la ligne 75 du fichier event.hpp.

◆ i

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

Définition à la ligne 76 du fichier event.hpp.

◆ I

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

Définition à la ligne 76 du fichier event.hpp.

◆ CtrlI

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

Définition à la ligne 76 du fichier event.hpp.

◆ AltI

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

Définition à la ligne 76 du fichier event.hpp.

◆ CtrlAltI

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

Définition à la ligne 76 du fichier event.hpp.

◆ j

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

Définition à la ligne 77 du fichier event.hpp.

◆ J

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

Définition à la ligne 77 du fichier event.hpp.

◆ CtrlJ

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

Définition à la ligne 77 du fichier event.hpp.

◆ AltJ

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

Définition à la ligne 77 du fichier event.hpp.

◆ CtrlAltJ

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

Définition à la ligne 77 du fichier event.hpp.

◆ k

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

Définition à la ligne 78 du fichier event.hpp.

◆ K

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

Définition à la ligne 78 du fichier event.hpp.

◆ CtrlK

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

Définition à la ligne 78 du fichier event.hpp.

◆ AltK

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

Définition à la ligne 78 du fichier event.hpp.

◆ CtrlAltK

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

Définition à la ligne 78 du fichier event.hpp.

◆ l

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

Définition à la ligne 79 du fichier event.hpp.

◆ L

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

Définition à la ligne 79 du fichier event.hpp.

◆ CtrlL

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

Définition à la ligne 79 du fichier event.hpp.

◆ AltL

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

Définition à la ligne 79 du fichier event.hpp.

◆ CtrlAltL

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

Définition à la ligne 79 du fichier event.hpp.

◆ m

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

Définition à la ligne 80 du fichier event.hpp.

◆ M

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

Définition à la ligne 80 du fichier event.hpp.

◆ CtrlM

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

Définition à la ligne 80 du fichier event.hpp.

◆ AltM

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

Définition à la ligne 80 du fichier event.hpp.

◆ CtrlAltM

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

Définition à la ligne 80 du fichier event.hpp.

◆ n

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

Définition à la ligne 81 du fichier event.hpp.

◆ N

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

Définition à la ligne 81 du fichier event.hpp.

◆ CtrlN

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

Définition à la ligne 81 du fichier event.hpp.

◆ AltN

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

Définition à la ligne 81 du fichier event.hpp.

◆ CtrlAltN

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

Définition à la ligne 81 du fichier event.hpp.

◆ o

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

Définition à la ligne 82 du fichier event.hpp.

◆ O

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

Définition à la ligne 82 du fichier event.hpp.

◆ CtrlO

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

Définition à la ligne 82 du fichier event.hpp.

◆ AltO

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

Définition à la ligne 82 du fichier event.hpp.

◆ CtrlAltO

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

Définition à la ligne 82 du fichier event.hpp.

◆ p

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

Définition à la ligne 83 du fichier event.hpp.

◆ P

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

Définition à la ligne 83 du fichier event.hpp.

◆ CtrlP

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

Définition à la ligne 83 du fichier event.hpp.

◆ AltP

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

Définition à la ligne 83 du fichier event.hpp.

◆ CtrlAltP

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

Définition à la ligne 83 du fichier event.hpp.

◆ q

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

Définition à la ligne 84 du fichier event.hpp.

◆ Q

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

Définition à la ligne 84 du fichier event.hpp.

◆ CtrlQ

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

Définition à la ligne 84 du fichier event.hpp.

◆ AltQ

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

Définition à la ligne 84 du fichier event.hpp.

◆ CtrlAltQ

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

Définition à la ligne 84 du fichier event.hpp.

◆ r

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

Définition à la ligne 85 du fichier event.hpp.

◆ R

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

Définition à la ligne 85 du fichier event.hpp.

◆ CtrlR

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

Définition à la ligne 85 du fichier event.hpp.

◆ AltR

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

Définition à la ligne 85 du fichier event.hpp.

◆ CtrlAltR

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

Définition à la ligne 85 du fichier event.hpp.

◆ s

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

Définition à la ligne 86 du fichier event.hpp.

◆ S

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

Définition à la ligne 86 du fichier event.hpp.

◆ CtrlS

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

Définition à la ligne 86 du fichier event.hpp.

◆ AltS

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

Définition à la ligne 86 du fichier event.hpp.

◆ CtrlAltS

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

Définition à la ligne 86 du fichier event.hpp.

◆ t

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

Définition à la ligne 87 du fichier event.hpp.

◆ T

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

Définition à la ligne 87 du fichier event.hpp.

◆ CtrlT

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

Définition à la ligne 87 du fichier event.hpp.

◆ AltT

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

Définition à la ligne 87 du fichier event.hpp.

◆ CtrlAltT

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

Définition à la ligne 87 du fichier event.hpp.

◆ u

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

Définition à la ligne 88 du fichier event.hpp.

◆ U

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

Définition à la ligne 88 du fichier event.hpp.

◆ CtrlU

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

Définition à la ligne 88 du fichier event.hpp.

◆ AltU

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

Définition à la ligne 88 du fichier event.hpp.

◆ CtrlAltU

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

Définition à la ligne 88 du fichier event.hpp.

◆ v

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

Définition à la ligne 89 du fichier event.hpp.

◆ V

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

Définition à la ligne 89 du fichier event.hpp.

◆ CtrlV

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

Définition à la ligne 89 du fichier event.hpp.

◆ AltV

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

Définition à la ligne 89 du fichier event.hpp.

◆ CtrlAltV

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

Définition à la ligne 89 du fichier event.hpp.

◆ w

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

Définition à la ligne 90 du fichier event.hpp.

◆ W

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

Définition à la ligne 90 du fichier event.hpp.

◆ CtrlW

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

Définition à la ligne 90 du fichier event.hpp.

◆ AltW

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

Définition à la ligne 90 du fichier event.hpp.

◆ CtrlAltW

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

Définition à la ligne 90 du fichier event.hpp.

◆ x

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

Définition à la ligne 91 du fichier event.hpp.

◆ X

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

Définition à la ligne 91 du fichier event.hpp.

◆ CtrlX

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

Définition à la ligne 91 du fichier event.hpp.

◆ AltX

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

Définition à la ligne 91 du fichier event.hpp.

◆ CtrlAltX

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

Définition à la ligne 91 du fichier event.hpp.

◆ y

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

Définition à la ligne 92 du fichier event.hpp.

◆ Y

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

Définition à la ligne 92 du fichier event.hpp.

◆ CtrlY

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

Définition à la ligne 92 du fichier event.hpp.

◆ AltY

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

Définition à la ligne 92 du fichier event.hpp.

◆ CtrlAltY

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

Définition à la ligne 92 du fichier event.hpp.

◆ z

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

Définition à la ligne 93 du fichier event.hpp.

◆ Z

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

Définition à la ligne 93 du fichier event.hpp.

◆ CtrlZ

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

Définition à la ligne 93 du fichier event.hpp.

◆ AltZ

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

Définition à la ligne 93 du fichier event.hpp.

◆ CtrlAltZ

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

Définition à la ligne 93 du fichier event.hpp.

◆ Custom

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

Définition à la ligne 96 du fichier event.hpp.

◆ screen_

ScreenInteractive* screen_ = nullptr

Définition à la ligne 123 du fichier event.hpp.

◆ mouse

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

Définition à la ligne 143 du fichier event.hpp.

◆ cursor

struct Cursor cursor

Définition à la ligne 144 du fichier event.hpp.

◆ cursor_shape

int cursor_shape

Définition à la ligne 145 du fichier event.hpp.

◆ ftxui::Loop

class ftxui::Loop

Loop est une classe qui gère la boucle d'événements pour un composant.

Elle est responsable de l'exécution du composant, de la gestion des événements et de la mise à jour de l'écran.

La classe Loop est conçue pour être utilisée avec un objet ScreenInteractive, qui représente l'écran du terminal.

Exemple

int main() {
auto component = ftxui::Button("Click me", [] { ... });
ftxui::Loop loop(screen.get(), component); */
/** // Soit
loop.Run(); // Bloquant jusqu'à ce que le composant quitte.
// Ou
loop.RunOnce(); // Non-bloquant, retourne immédiatement.
// Ou
loop.RunOnceBlocking(); // Bloquant jusqu'à ce qu'un événement soit géré.
// Ou dans une boucle:
while (!loop.HasQuitted()) {
loop.RunOnce();
// Faites autre chose comme exécuter une autre fonction de boucle de bibliothèque.
}
}
auto screen
static ScreenInteractive TerminalOutput()
Loop est une classe qui gère la boucle d'événements pour un composant.
Definition loop.hpp:56
Component Button(ButtonOption options)
Dessine un bouton. Exécute une fonction lors d'un clic.
Exemples
examples/component/custom_loop.cpp, et examples/component/homescreen.cpp.

Définition à la ligne 56 du fichier loop.hpp.

Fonctions membres publiques

 Loop (ScreenInteractive *screen, Component component)
 Une boucle est un wrapper autour d'un Component et d'un ScreenInteractive. Elle est utilisée pour exécuter un Component dans un terminal.
 
 ~Loop ()
 
bool HasQuitted ()
 Indique si la boucle a été quittée.
 
void RunOnce ()
 Exécute la boucle une seule fois. Fait en sorte que le component traite toutes les tâches/événements en attente. Une nouvelle trame peut être dessinée si la précédente a été invalidée. Retourne vrai tant que la boucle n'est pas terminée.
 
void RunOnceBlocking ()
 Attend qu'au moins un événement soit géré et exécute Loop::RunOnce().
 
void Run ()
 
 Loop (const Loop &)=default
 
 Loop (Loop &&)=delete
 
Loopoperator= (Loop &&)=delete
 
 Loop (const ScreenInteractive &)=delete
 
Loopoperator= (const Loop &)=delete
 

Documentation des constructeurs et destructeur

◆ Loop() [1/4]

Loop ( ScreenInteractive * screen,
Component component )

Une boucle est un wrapper autour d'un Component et d'un ScreenInteractive. Elle est utilisée pour exécuter un Component dans un terminal.

Voir également
Component, ScreenInteractive.
ScreenInteractive::Loop().
ScreenInteractive::ExitLoop().
Paramètres
[in]screenThe screen to use.
[in]componentThe component to run.

Définition à la ligne 20 du fichier loop.cpp.

◆ ~Loop()

~Loop ( )

Définition à la ligne 25 du fichier loop.cpp.

◆ Loop() [2/4]

Loop ( const Loop & )
default

◆ Loop() [3/4]

Loop ( Loop && )
delete

◆ Loop() [4/4]

Loop ( const ScreenInteractive & )
delete

Documentation des fonctions membres

◆ HasQuitted()

bool HasQuitted ( )

Indique si la boucle a été quittée.

Définition à la ligne 30 du fichier loop.cpp.

◆ RunOnce()

void RunOnce ( )

Exécute la boucle une seule fois. Fait en sorte que le component traite toutes les tâches/événements en attente. Une nouvelle trame peut être dessinée si la précédente a été invalidée. Retourne vrai tant que la boucle n'est pas terminée.

Définition à la ligne 37 du fichier loop.cpp.

◆ RunOnceBlocking()

void RunOnceBlocking ( )

Attend qu'au moins un événement soit géré et exécute Loop::RunOnce().

Définition à la ligne 43 du fichier loop.cpp.

◆ Run()

void Run ( )

Exécute la boucle, bloquant le thread actuel, jusqu'à ce que la boucle soit quittée.

Définition à la ligne 49 du fichier loop.cpp.

◆ operator=() [1/2]

Loop & operator= ( Loop && )
delete

◆ operator=() [2/2]

Loop & operator= ( const Loop & )
delete

◆ ftxui::Mouse

struct ftxui::Mouse

Un événement de souris. Il contient les coordonnées de la souris, le bouton pressé et le modificateur (shift, ctrl, méta).

Définition à la ligne 11 du fichier mouse.hpp.

Types publics

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
}
 

Attributs publics

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

Documentation des énumérations membres

◆ Button

enum Button
Valeurs énumérées
Left 
Middle 
Right 
None 
WheelUp 
WheelDown 
WheelLeft 
WheelRight 

Supporté par le terminal uniquement.

Définition à la ligne 12 du fichier mouse.hpp.

◆ Motion

enum Motion
Valeurs énumérées
Released 
Pressed 
Moved 

Définition à la ligne 23 du fichier mouse.hpp.

Documentation des données membres

◆ button

Button button = Button::None

Définition à la ligne 30 du fichier mouse.hpp.

◆ motion

Définition à la ligne 33 du fichier mouse.hpp.

◆ shift

bool shift = false

Définition à la ligne 36 du fichier mouse.hpp.

◆ meta

bool meta = false

Définition à la ligne 37 du fichier mouse.hpp.

◆ control

bool control = false

Définition à la ligne 38 du fichier mouse.hpp.

◆ x

int x = 0

Définition à la ligne 41 du fichier mouse.hpp.

◆ y

int y = 0

Définition à la ligne 42 du fichier mouse.hpp.

◆ ftxui::ScreenInteractive

class ftxui::ScreenInteractive

ScreenInteractive est un Screen qui peut gérer les événements, exécuter une boucle principale et gérer les composants.

Définition à la ligne 35 du fichier screen_interactive.hpp.

+ Graphe d'héritage de ScreenInteractive:

Types publics

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

Fonctions membres publiques

 ~ScreenInteractive () override
 
void TrackMouse (bool enable=true)
 Définit si la souris est suivie et si les événements sont signalés. appelé en dehors de la boucle principale. Par exemple ScreenInteractive::Loop(...).
 
void HandlePipedInput (bool enable=true)
 Active ou désactive la gestion automatique des entrées pipées. Lorsqu'elle est activée, FTXUI détectera les entrées pipées et redirigera stdin depuis /dev/tty pour l'entrée clavier, permettant aux applications de lire des données pipées tout en recevant des événements clavier interactifs.
 
void Loop (Component)
 Exécute la boucle principale.
 
void Exit ()
 Quitte la boucle principale.
 
Closure ExitLoopClosure ()
 Retourne une fonction pour quitter la boucle principale.
 
void Post (Task task)
 Ajoute une tâche à la boucle principale. Elle sera exécutée plus tard, après toutes les autres tâches planifiées.
 
void PostEvent (Event event)
 Ajoute un événement à la boucle principale. Il sera exécuté plus tard, après tous les autres événements planifiés.
 
void RequestAnimationFrame ()
 Ajoute une tâche pour dessiner l'écran une fois de plus, jusqu'à ce que toutes les animations soient terminées.
 
CapturedMouse CaptureMouse ()
 Tente d'obtenir le verrou unique permettant de capturer la souris.
 
Closure WithRestoredIO (Closure)
 Décore une fonction. Elle s'exécute de la même manière, mais avec les hooks du terminal de l'écran actuellement actif temporairement désinstallés pendant son exécution.
 
void ForceHandleCtrlC (bool force)
 Force FTXUI à gérer ou non le Ctrl-C, même si le composant intercepte l'événement Event::CtrlC.
 
void ForceHandleCtrlZ (bool force)
 Force FTXUI à gérer ou non le Ctrl-Z, même si le composant intercepte l'événement Event::CtrlZ.
 
std::string GetSelection ()
 Retourne le contenu de la sélection actuelle.
 
void SelectionChange (std::function< void()> callback)
 
std::string ToString () const
 
void Print () const
 
void Clear ()
 
std::string ResetPosition (bool clear=false) const
 
void ApplyShader ()
 
Cursor cursor () const
 
void SetCursor (Cursor cursor)
 
uint8_t RegisterHyperlink (const std::string &link)
 
const std::string & Hyperlink (uint8_t id) const
 
const SelectionStyleGetSelectionStyle () const
 
void SetSelectionStyle (SelectionStyle decorator)
 
std::string & at (int x, int y)
 Accède à un caractère dans une cellule à une position donnée.
 
const std::string & at (int x, int y) const
 Accède à un caractère dans une cellule à une position donnée.
 
PixelPixelAt (int x, int y)
 Accède à une cellule (Pixel) à une position donnée.
 
const PixelPixelAt (int x, int y) const
 Accède à une cellule (Pixel) à une position donnée.
 
int dimx () const
 
int dimy () const
 

Fonctions membres publiques statiques

static ScreenInteractive FixedSize (int dimx, int dimy)
 
static ScreenInteractive Fullscreen ()
 
static ScreenInteractive FullscreenPrimaryScreen ()
 
static ScreenInteractive FullscreenAlternateScreen ()
 
static ScreenInteractive FitComponent ()
 
static ScreenInteractive TerminalOutput ()
 
static ScreenInteractiveActive ()
 Retourne l'écran actuellement actif, ou null si aucun.
 
static Screen Create (Dimensions dimension)
 
static Screen Create (Dimensions width, Dimensions height)
 

Attributs publics

friend Private
 
Box stencil
 

Attributs protégés

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

Documentation des définitions de type membres

◆ SelectionStyle

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

Définition à la ligne 74 du fichier screen.hpp.

Documentation des constructeurs et destructeur

◆ ~ScreenInteractive()

~ScreenInteractive ( )
overridedefault

Documentation des fonctions membres

◆ FixedSize()

ScreenInteractive FixedSize ( int dimx,
int dimy )
static

Définition à la ligne 284 du fichier screen_interactive.cpp.

◆ Fullscreen()

ScreenInteractive Fullscreen ( )
static

Crée un ScreenInteractive prenant toute la taille du terminal. Ceci utilise le tampon d'écran alternatif pour éviter de perturber le contenu du terminal.

Note
Ceci est identique à ScreenInteractive::FullscreenAlternateScreen()

Définition à la ligne 297 du fichier screen_interactive.cpp.

◆ FullscreenPrimaryScreen()

ScreenInteractive FullscreenPrimaryScreen ( )
static

Crée un ScreenInteractive prenant toute la taille du terminal. Le tampon d'écran principal est utilisé. Cela signifie que si le terminal est redimensionné, le contenu précédent pourrait perturber le contenu du terminal.

Définition à la ligne 305 du fichier screen_interactive.cpp.

◆ FullscreenAlternateScreen()

ScreenInteractive FullscreenAlternateScreen ( )
static

Crée un ScreenInteractive prenant toute la taille du terminal. Ceci utilise le tampon d'écran alternatif pour éviter de perturber le contenu du terminal.

Définition à la ligne 318 du fichier screen_interactive.cpp.

◆ FitComponent()

ScreenInteractive FitComponent ( )
static

Crée un ScreenInteractive dont la largeur et la hauteur correspondent au composant dessiné.

Définition à la ligne 346 du fichier screen_interactive.cpp.

◆ TerminalOutput()

ScreenInteractive TerminalOutput ( )
static

Crée un ScreenInteractive dont la largeur correspond à la largeur de sortie du terminal et dont la hauteur correspond au composant dessiné.

Définition à la ligne 331 du fichier screen_interactive.cpp.

◆ TrackMouse()

void TrackMouse ( bool enable = true)

Définit si la souris est suivie et si les événements sont signalés. appelé en dehors de la boucle principale. Par exemple ScreenInteractive::Loop(...).

Paramètres
enableIndique s'il faut activer le suivi des événements de la souris.
Note
Ceci doit être appelé en dehors de la boucle principale. Par exemple, avant d'appeler ScreenInteractive::Loop.
Le suivi de la souris est activé par défaut.
Le suivi de la souris n'est pris en charge que sur les terminaux qui le supportent.

Exemple

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

Définition à la ligne 371 du fichier screen_interactive.cpp.

◆ HandlePipedInput()

void HandlePipedInput ( bool enable = true)

Active ou désactive la gestion automatique des entrées pipées. Lorsqu'elle est activée, FTXUI détectera les entrées pipées et redirigera stdin depuis /dev/tty pour l'entrée clavier, permettant aux applications de lire des données pipées tout en recevant des événements clavier interactifs.

Paramètres
enableIndique s'il faut activer la gestion des entrées pipées. La valeur par défaut est true.
Note
Ceci doit être appelé avant Loop().
Cette fonctionnalité est activée par défaut.
Cette fonctionnalité n'est disponible que sur les systèmes POSIX (Linux/macOS).

Définition à la ligne 383 du fichier screen_interactive.cpp.

◆ Active()

ScreenInteractive * Active ( )
static

Retourne l'écran actuellement actif, ou null si aucun.

Définition à la ligne 527 du fichier screen_interactive.cpp.

◆ Loop()

void Loop ( Component component)

Exécute la boucle principale.

Paramètres
componentLe composant à dessiner.

Définition à la ligne 429 du fichier screen_interactive.cpp.

◆ Exit()

void Exit ( )

Quitte la boucle principale.

Définition à la ligne 1024 du fichier screen_interactive.cpp.

◆ ExitLoopClosure()

Closure ExitLoopClosure ( )

Retourne une fonction pour quitter la boucle principale.

Définition à la ligne 1019 du fichier screen_interactive.cpp.

◆ Post()

void Post ( Task task)

Ajoute une tâche à la boucle principale. Elle sera exécutée plus tard, après toutes les autres tâches planifiées.

Définition à la ligne 389 du fichier screen_interactive.cpp.

◆ PostEvent()

void PostEvent ( Event event)

Ajoute un événement à la boucle principale. Il sera exécuté plus tard, après tous les autres événements planifiés.

Définition à la ligne 397 du fichier screen_interactive.cpp.

◆ RequestAnimationFrame()

void RequestAnimationFrame ( )

Ajoute une tâche pour dessiner l'écran une fois de plus, jusqu'à ce que toutes les animations soient terminées.

Définition à la ligne 403 du fichier screen_interactive.cpp.

◆ CaptureMouse()

CapturedMouse CaptureMouse ( )

Tente d'obtenir le verrou unique permettant de capturer la souris.

Renvoie
Un verrou unique si la souris n'est pas déjà capturée, sinon null.

Définition à la ligne 418 du fichier screen_interactive.cpp.

◆ WithRestoredIO()

Closure WithRestoredIO ( Closure fn)

Décore une fonction. Elle s'exécute de la même manière, mais avec les hooks du terminal de l'écran actuellement actif temporairement désinstallés pendant son exécution.

Paramètres
fnLa fonction à décorer.

Définition à la ligne 493 du fichier screen_interactive.cpp.

◆ ForceHandleCtrlC()

void ForceHandleCtrlC ( bool force)

Force FTXUI à gérer ou non le Ctrl-C, même si le composant intercepte l'événement Event::CtrlC.

Définition à la ligne 503 du fichier screen_interactive.cpp.

◆ ForceHandleCtrlZ()

void ForceHandleCtrlZ ( bool force)

Force FTXUI à gérer ou non le Ctrl-Z, même si le composant intercepte l'événement Event::CtrlZ.

Définition à la ligne 509 du fichier screen_interactive.cpp.

◆ GetSelection()

std::string GetSelection ( )

Retourne le contenu de la sélection actuelle.

Définition à la ligne 514 du fichier screen_interactive.cpp.

◆ SelectionChange()

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

Définition à la ligne 521 du fichier screen_interactive.cpp.

◆ Create() [1/2]

static Screen Create ( Dimensions dimension)
staticinherited

◆ Create() [2/2]

static Screen Create ( Dimensions width,
Dimensions height )
staticinherited

◆ ToString()

std::string ToString ( ) const
inherited

◆ Print()

void Print ( ) const
inherited

◆ Clear()

void Clear ( )
inherited

◆ ResetPosition()

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

◆ ApplyShader()

void ApplyShader ( )
inherited

◆ cursor()

Cursor cursor ( ) const
inlineinherited

Définition à la ligne 66 du fichier screen.hpp.

◆ SetCursor()

void SetCursor ( Cursor cursor)
inlineinherited

Définition à la ligne 67 du fichier screen.hpp.

◆ RegisterHyperlink()

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

◆ Hyperlink()

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

◆ GetSelectionStyle()

const SelectionStyle & GetSelectionStyle ( ) const
inherited

◆ SetSelectionStyle()

void SetSelectionStyle ( SelectionStyle decorator)
inherited

◆ at() [1/2]

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

Accède à un caractère dans une cellule à une position donnée.

Paramètres
xLa position de la cellule le long de l'axe des x.
yLa position de la cellule le long de l'axe des y.

Définition à la ligne 29 du fichier image.cpp.

◆ at() [2/2]

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

Accède à un caractère dans une cellule à une position donnée.

Paramètres
xLa position de la cellule le long de l'axe des x.
yLa position de la cellule le long de l'axe des y.

Définition à la ligne 36 du fichier image.cpp.

◆ PixelAt() [1/2]

Pixel & PixelAt ( int x,
int y )
inherited

Accède à une cellule (Pixel) à une position donnée.

Paramètres
xLa position de la cellule le long de l'axe des x.
yLa position de la cellule le long de l'axe des y.

Définition à la ligne 43 du fichier image.cpp.

◆ PixelAt() [2/2]

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

Accède à une cellule (Pixel) à une position donnée.

Paramètres
xLa position de la cellule le long de l'axe des x.
yLa position de la cellule le long de l'axe des y.

Définition à la ligne 50 du fichier image.cpp.

◆ dimx()

int dimx ( ) const
inlineinherited

Définition à la ligne 35 du fichier image.hpp.

◆ dimy()

int dimy ( ) const
inlineinherited

Définition à la ligne 36 du fichier image.hpp.

Documentation des données membres

◆ Private

friend Private

Définition à la ligne 185 du fichier screen_interactive.hpp.

◆ cursor_

Cursor cursor_
protectedinherited

Définition à la ligne 79 du fichier screen.hpp.

◆ hyperlinks_

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

Définition à la ligne 80 du fichier screen.hpp.

◆ selection_style_

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

Définition à la ligne 83 du fichier screen.hpp.

◆ stencil

Box stencil
inherited

Définition à la ligne 41 du fichier image.hpp.

◆ dimx_

int dimx_
protectedinherited

Définition à la ligne 44 du fichier image.hpp.

◆ dimy_

int dimy_
protectedinherited

Définition à la ligne 45 du fichier image.hpp.

◆ pixels_

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

Définition à la ligne 46 du fichier image.hpp.

Documentation des fonctions

◆ RequestAnimationFrame()

void RequestAnimationFrame ( )

RequestAnimationFrame est une fonction qui demande à ce qu'une nouvelle trame soit dessinée lors du prochain cycle d'animation.

Note
Cette fonction est typiquement appelée par les composants qui ont besoin de mettre à jour leur état ou leur apparence au fil du temps, comme les animations ou les transitions. Ceci est utile lorsque le changement ne dépend pas des événements vus par le terminal, mais plutôt du temps qui passe.

Les composants qui n'ont pas terminé leur animation peuvent appeler cette fonction pour demander à ce qu'une nouvelle trame soit dessinée plus tard.

Lorsqu'il n'y a pas de nouveaux événements et pas d'animations à compléter, aucune nouvelle trame n'est dessinée.

Définition à la ligne 77 du fichier screen_interactive.cpp.

◆ Button() [1/2]

Component Button ( ButtonOption option)

Dessine un bouton. Exécute une fonction lors d'un clic.

Paramètres
optionParamètres optionnels supplémentaires.
Voir également
ButtonBase

Exemple

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

Sortie

┌─────────────┐
│Cliquer pour quitter│
└─────────────┘

Définition à la ligne 175 du fichier src/ftxui/component/button.cpp.

◆ Button() [2/2]

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

Dessine un bouton. Exécute une fonction lors d'un clic.

Paramètres
labelL'étiquette du bouton.
on_clickL'action à exécuter lors d'un clic.
optionParamètres optionnels supplémentaires.
Voir également
ButtonBase

Exemple

std::string label = "Cliquer pour quitter";
Component button = Button(&label, screen.ExitLoopClosure());
screen.Loop(button)

Sortie

┌─────────────┐
│Cliquer pour quitter│
└─────────────┘

Définition à la ligne 203 du fichier src/ftxui/component/button.cpp.

◆ CatchEvent() [1/2]

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

Retourne un composant, utilisant |on_event| pour intercepter les événements. Cette fonction doit retourner 'true' si l'événement a été géré, 'false' sinon.

Paramètres
childLe composant enveloppé.
on_eventLa fonction gérant les événements.

Example

auto renderer = Renderer([] {
return text("My interface");
});
auto component = CatchEvent(renderer, [&](Event event) {
if (event == Event::Character('q')) {
screen.ExitLoopClosure()();
return true;
}
return false;
});
screen.Loop(component);
Component Renderer(Component child, std::function< Element()>)
Renvoie un nouveau composant, similaire à |child|, mais utilisant |render| comme événement Component:...
Element text(std::wstring text)
Affiche un morceau de texte unicode.
Definition text.cpp:160
Component CatchEvent(Component child, std::function< bool(Event)>)

Définition à la ligne 54 du fichier catch_event.cpp.

◆ CatchEvent() [2/2]

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

Décore un composant, utilisant |on_event| pour intercepter les événements. Cette fonction doit retourner 'true' si l'événement a été géré, 'false' sinon.

Paramètres
on_eventLa fonction gérant les événements.

Example

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

Définition à la ligne 80 du fichier catch_event.cpp.

◆ Checkbox() [1/2]

Component Checkbox ( CheckboxOption option)

Dessine un élément à cocher.

Paramètres
optionParamètres optionnels supplémentaires.
Voir également
CheckboxBase

Exemple

option.label = "Make a sandwidth";
option.checked = false;
Component checkbox = Checkbox(option);
screen.Loop(checkbox)
Component Checkbox(CheckboxOption options)
Dessine un élément à cocher.
Option pour le composant Checkbox.

Sortie

☐ Make a sandwitch

Définition à la ligne 108 du fichier src/ftxui/component/checkbox.cpp.

◆ Checkbox() [2/2]

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

Dessine un élément à cocher.

Paramètres
labelLe libellé de la case à cocher.
checkedIndique si la case à cocher est cochée ou non.
optionParamètres optionnels supplémentaires.
Voir également
CheckboxBase

Exemple

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

Sortie

☐ Make a sandwitch

Définition à la ligne 135 du fichier src/ftxui/component/checkbox.cpp.

◆ Vertical() [1/2]

Component Vertical ( Components children)

Une liste de composants, dessinés un par un verticalement et navigués verticalement en utilisant les flèches haut/bas ou les touches 'j'/'k'.

Paramètres
childrenla liste des composants.
Voir également
ContainerBase

Exemple

auto container = Container::Vertical({
children_1,
children_2,
children_3,
children_4,
});
Component Vertical(Components children)
Une liste de composants, dessinés un par un verticalement et navigués verticalement en utilisant les ...

Définition à la ligne 317 du fichier container.cpp.

◆ Vertical() [2/2]

Component Vertical ( Components children,
int * selector )

Une liste de composants, dessinés un par un verticalement et navigués verticalement en utilisant les flèches haut/bas ou les touches 'j'/'k'. Ceci est utile pour implémenter un Menu par exemple.

Paramètres
childrenla liste des composants.
selectorUne référence à l'index de l'enfant sélectionné.
Voir également
ContainerBase

Exemple

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

Définition à la ligne 339 du fichier container.cpp.

◆ Horizontal() [1/2]

Component Horizontal ( Components children)

Une liste de composants, dessinés un par un horizontalement et navigués horizontalement en utilisant les flèches gauche/droite ou les touches 'h'/'l'.

Paramètres
childrenla liste des composants.
Voir également
ContainerBase

Exemple

int selected_children = 2;
auto container = Container::Horizontal({
children_1,
children_2,
children_3,
children_4,
});
Component Horizontal(Components children)
Une liste de composants, dessinés un par un horizontalement et navigués horizontalement en utilisant ...

Définition à la ligne 360 du fichier container.cpp.

◆ Horizontal() [2/2]

Component Horizontal ( Components children,
int * selector )

Une liste de composants, dessinés un par un horizontalement et navigués horizontalement en utilisant les flèches gauche/droite ou les touches 'h'/'l'.

Paramètres
childrenla liste des composants.
selectorUne référence à l'index de l'enfant sélectionné.
Voir également
ContainerBase

Exemple

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

Définition à la ligne 382 du fichier container.cpp.

◆ Tab()

Component Tab ( Components children,
int * selector )

Une liste de composants, où un seul est dessiné et interagit avec à la fois. Le |selector| donne l'index du composant sélectionné. Ceci est utile pour implémenter des onglets.

Paramètres
childrenLa liste des composants.
selectorL'index de l'enfant dessiné.
Voir également
ContainerBase

Exemple

int tab_drawn = 0;
auto container = Container::Tab({
children_1,
children_2,
children_3,
children_4,
}, &tab_drawn);
Component Tab(Components children, int *selector)
Une liste de composants, où un seul est dessiné et interagit avec à la fois. Le |selector| donne l'in...

Définition à la ligne 405 du fichier container.cpp.

◆ Stacked()

Component Stacked ( Components children)

Une liste de composants à empiler les uns sur les autres. Les événements sont propagés au premier composant, puis au second s'il n'est pas géré, etc. Les composants sont dessinés dans l'ordre inverse de leur insertion. Lorsqu'un composant prend le focus, il est placé au premier plan, sans modifier l'ordre relatif des autres éléments.

Ceci devrait être utilisé avec le composant Window.

Paramètres
childrenLa liste des composants.
Voir également
Window

Exemple

auto container = Container::Stacked({
children_1,
children_2,
children_3,
children_4,
});
Component Stacked(Components children)
Une liste de composants à empiler les uns sur les autres. Les événements sont propagés au premier com...

Définition à la ligne 432 du fichier container.cpp.

◆ Dropdown() [1/2]

Component Dropdown ( ConstStringListRef entries,
int * selected )

Un menu déroulant.

Paramètres
entriesLa liste des entrées à afficher.
selectedL'index de l'entrée sélectionnée.

Définition à la ligne 22 du fichier src/ftxui/component/dropdown.cpp.

◆ Dropdown() [2/2]

Component Dropdown ( DropdownOption option)

Un menu déroulant.

Paramètres
optionLes options du menu déroulant.

Définition à la ligne 33 du fichier src/ftxui/component/dropdown.cpp.

◆ Hoverable() [1/6]

Component Hoverable ( Component component,
bool * hover )

Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.

Paramètres
componentLe composant encapsulé.
hoverLa valeur pour refléter si le composant est survolé ou non.

Exemple

auto button = Button("exit", screen.ExitLoopClosure());
bool hover = false;
auto button_hover = Hoverable(button, &hover);
Component Hoverable(Component component, bool *hover)
Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.
Definition hoverable.cpp:43

Définition à la ligne 43 du fichier hoverable.cpp.

◆ Hoverable() [2/6]

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

Encapsule un composant. Utilise des callbacks.

Paramètres
componentLe composant encapsulé.
on_enterCallback OnEnter
on_leaveCallback OnLeave

Exemple

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

Définition à la ligne 86 du fichier hoverable.cpp.

◆ Hoverable() [3/6]

ComponentDecorator Hoverable ( bool * hover)

Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.

Paramètres
hoverLa valeur pour refléter si le composant est survolé ou non.

Exemple

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

Définition à la ligne 141 du fichier hoverable.cpp.

◆ Hoverable() [4/6]

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

Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.

Paramètres
on_enterest appelé lorsque la souris survole le composant.
on_leaveest appelé lorsque la souris quitte le composant.

Exemple

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

Définition à la ligne 165 du fichier hoverable.cpp.

◆ Hoverable() [5/6]

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

Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.

Paramètres
componentle composant encapsulé.
on_changeest appelé lorsque la souris entre ou quitte le composant.

Exemple

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

Définition à la ligne 188 du fichier hoverable.cpp.

◆ Hoverable() [6/6]

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

Encapsule un composant. Donne la possibilité de savoir s'il est survolé par la souris.

Paramètres
on_changeest appelé lorsque la souris entre ou quitte le composant.

Exemple

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

Définition à la ligne 209 du fichier hoverable.cpp.

◆ Input() [1/3]

Component Input ( InputOption option)

Une zone de saisie pour éditer du texte.

Paramètres
optionParamètres optionnels supplémentaires.
Voir également
InputBase

Exemple

std::string content= "";
std::string placeholder = "placeholder";
Component input = Input({
.content = &content,
.placeholder = &placeholder,
})
screen.Loop(input);
Component Input(InputOption options={})
Une zone de saisie pour éditer du texte.

Sortie

placeholder

Définition à la ligne 571 du fichier src/ftxui/component/input.cpp.

◆ Input() [2/3]

Component Input ( StringRef content,
InputOption option )

Une zone de saisie pour éditer du texte.

Paramètres
contentLe contenu éditable.
optionParamètres optionnels supplémentaires.
Voir également
InputBase

Exemple

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

Sortie

placeholder

Définition à la ligne 599 du fichier src/ftxui/component/input.cpp.

◆ Input() [3/3]

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

Une zone de saisie pour éditer du texte.

Paramètres
contentLe contenu éditable.
placeholderLe texte de remplacement.
optionParamètres optionnels supplémentaires.
Voir également
InputBase

Exemple

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

Sortie

placeholder

Définition à la ligne 626 du fichier src/ftxui/component/input.cpp.

◆ Maybe() [1/4]

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

Décore un composant |child|. Il est affiché uniquement lorsque |show| retourne vrai.

Paramètres
childle composant à décorer.
showune fonction retournant si |child| doit être affiché.

Définition à la ligne 21 du fichier src/ftxui/component/maybe.cpp.

◆ Maybe() [2/4]

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

Décore un composant. Il est affiché uniquement lorsque la fonction |show| retourne vrai.

Paramètres
showune fonction retournant si le composant décoré doit être affiché.

Exemple

auto component = Renderer([]{ return text("Hello World!"); });
auto maybe_component = component | Maybe([&]{ return counter == 42; });
Component Maybe(Component, const bool *show)
Décore un composant |child|. Il est affiché uniquement lorsque |show| est vrai.

Définition à la ligne 57 du fichier src/ftxui/component/maybe.cpp.

◆ Maybe() [3/4]

Component Maybe ( Component child,
const bool * show )

Décore un composant |child|. Il est affiché uniquement lorsque |show| est vrai.

Paramètres
childle composant à décorer.
showun booléen. |child| est affiché lorsque |show| est vrai.

Exemple

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

Définition à la ligne 74 du fichier src/ftxui/component/maybe.cpp.

◆ Maybe() [4/4]

ComponentDecorator Maybe ( const bool * show)

Décore un composant. Il est affiché uniquement lorsque |show| est vrai.

Paramètres
showun booléen. |child| est affiché lorsque |show| est vrai.

Exemple

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

Définition à la ligne 88 du fichier src/ftxui/component/maybe.cpp.

◆ Menu() [1/2]

Component Menu ( MenuOption option)

Une liste de texte. L'élément sélectionné est mis en évidence.

Paramètres
optionune structure contenant tous les paramètres.

Exemple

std::vector<std::string> entries = {
"entrée 1",
"entrée 2",
"entrée 3",
};
int selected = 0;
auto menu = Menu({
.entries = &entries,
.selected = &selected,
});
screen.Loop(menu);
Component Menu(MenuOption options)
Une liste de texte. L'élément sélectionné est mis en évidence.

Sortie

> entrée 1
entrée 2
entrée 3

Définition à la ligne 512 du fichier src/ftxui/component/menu.cpp.

◆ Menu() [2/2]

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

Une liste de texte. L'élément sélectionné est mis en évidence.

Paramètres
entriesLa liste des entrées du menu.
selectedL'index de l'élément actuellement sélectionné.
optionParamètres optionnels supplémentaires.

Exemple

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

Sortie

> entrée 1
entrée 2
entrée 3

Définition à la ligne 543 du fichier src/ftxui/component/menu.cpp.

◆ Toggle()

Component Toggle ( ConstStringListRef entries,
int * selected )

Une liste horizontale d'éléments. L'utilisateur peut naviguer à travers eux.

Paramètres
entriesLa liste des entrées sélectionnables à afficher.
selectedRéférence l'entrée sélectionnée. Voir aussi |Menu|.

Définition à la ligne 554 du fichier src/ftxui/component/menu.cpp.

◆ MenuEntry() [1/2]

Component MenuEntry ( ConstStringRef label,
MenuEntryOption option )

Une entrée de menu spécifique. Elles peuvent être placées dans un Container::Vertical pour former un menu.

Paramètres
labelLe texte affiché représentant cet élément.
optionParamètres optionnels supplémentaires.

Exemple

int selected = 0;
auto menu = Container::Vertical({
MenuEntry("entrée 1"),
MenuEntry("entrée 2"),
MenuEntry("entrée 3"),
}, &selected);
screen.Loop(menu);
Component MenuEntry(MenuEntryOption options)
Une entrée de menu spécifique. Elles peuvent être placées dans un Container::Vertical pour former un ...

Sortie

> entrée 1
entrée 2
entrée 3

Définition à la ligne 584 du fichier src/ftxui/component/menu.cpp.

◆ MenuEntry() [2/2]

Component MenuEntry ( MenuEntryOption option)

Une entrée de menu spécifique. Elles peuvent être placées dans un Container::Vertical pour former un menu.

Paramètres
optionLes paramètres.

Exemple

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

Sortie

> entrée 1
entrée 2
entrée 3

Définition à la ligne 614 du fichier src/ftxui/component/menu.cpp.

◆ Modal() [1/2]

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

Définition à la ligne 18 du fichier modal.cpp.

◆ Modal() [2/2]

ComponentDecorator Modal ( Component modal,
const bool * show_modal )

Définition à la ligne 58 du fichier modal.cpp.

◆ Radiobox() [1/2]

Component Radiobox ( RadioboxOption option)

Une liste d'éléments, où un seul peut être sélectionné.

Paramètres
optionLes paramètres
Voir également
RadioboxBase

Exemple

std::vector<std::string> entries = {
"entry 1",
"entry 2",
"entry 3",
};
int selected = 0;
auto menu = Radiobox({
.entries = entries,
.selected = &selected,
});
screen.Loop(menu);
Component Radiobox(RadioboxOption options)
Une liste d'éléments, où un seul peut être sélectionné.

Sortie

◉ entry 1
○ entry 2
○ entry 3

NOLINTNEXTLINE

Définition à la ligne 204 du fichier src/ftxui/component/radiobox.cpp.

◆ Radiobox() [2/2]

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

Une liste d'éléments, où un seul peut être sélectionné.

Paramètres
entriesLa liste des entrées.
selectedL'index de l'élément actuellement sélectionné.
optionParamètres optionnels supplémentaires.
Voir également
RadioboxBase

Exemple

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

Sortie

◉ entry 1
○ entry 2
○ entry 3

Définition à la ligne 236 du fichier src/ftxui/component/radiobox.cpp.

◆ Renderer() [1/4]

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

Renvoie un composant, utilisant |render| pour afficher son interface.

Paramètres
renderLa fonction dessinant l'interface.

Exemple

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

Définition à la ligne 29 du fichier src/ftxui/component/renderer.cpp.

◆ Renderer() [2/4]

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

Renvoie un nouveau composant, similaire à |child|, mais utilisant |render| comme événement Component::Render().

Paramètres
childLe composant auquel transmettre les événements.
renderLa fonction dessinant l'interface.

Exemple

std::string label = "Click to quit";
auto button = Button(&label, screen.ExitLoopClosure());
auto renderer = Renderer(button, [&] {
return hbox({
text("A button:"),
button->Render(),
});
});
screen.Loop(renderer);
virtual void Render(Screen &screen)
Element hbox(Elements)
Un conteneur affichant les éléments horizontalement un par un.
Definition hbox.cpp:94

Définition à la ligne 61 du fichier src/ftxui/component/renderer.cpp.

◆ Renderer() [3/4]

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

Renvoie un composant focusable, utilisant |render| pour afficher son interface.

Paramètres
renderLa fonction dessinant l'interface, prenant un booléen indiquant si le composant est focus ou non.

Exemple

auto renderer = Renderer([] (bool focused) {
if (focused)
return text("My interface") | inverted;
else
return text("My interface");
});
screen.Loop(renderer);
Element inverted(Element)
Ajoute un filtre qui inversera les couleurs de premier plan et d'arrière-plan.
Definition inverted.cpp:33

Définition à la ligne 84 du fichier src/ftxui/component/renderer.cpp.

◆ Renderer() [4/4]

ComponentDecorator Renderer ( ElementDecorator decorator)

Décore un composant, en décorant ce qu'il rend.

Paramètres
decoratorla fonction modifiant l'élément qu'il rend.

Exemple

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

Définition à la ligne 125 du fichier src/ftxui/component/renderer.cpp.

◆ ResizableSplitLeft()

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

Une séparation horizontale entre deux composants, configurable à l'aide de la souris.

Paramètres
mainLe composant principal de taille |main_size|, à gauche.
backLe composant arrière prenant la taille restante, à droite.
main_sizeLa taille du composant |main|.

Exemple

int left_size = 10;
auto left = Renderer([] { return text("Left") | center;});
auto right = Renderer([] { return text("right") | center;});
auto split = ResizableSplitLeft(left, right, &left_size);
screen.Loop(split);
static ScreenInteractive Fullscreen()
Component ResizableSplitLeft(Component main, Component back, int *main_size)
Une séparation horizontale entre deux composants, configurable à l'aide de la souris.
Element center(Element)
Centre un élément horizontalement et verticalement.

Sortie

left │ right

Définition à la ligne 199 du fichier src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitRight()

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

Une séparation horizontale entre deux composants, configurable à l'aide de la souris.

Paramètres
mainLe composant principal de taille |main_size|, à droite.
backLe composant arrière prenant la taille restante, à gauche.
main_sizeLa taille du composant |main|.

Exemple

int right_size = 10;
auto left = Renderer([] { return text("Left") | center;});
auto right = Renderer([] { return text("right") | center;});
auto split = ResizableSplitRight(right, left, &right_size)
screen.Loop(split);
Component ResizableSplitRight(Component main, Component back, int *main_size)
Une séparation horizontale entre deux composants, configurable à l'aide de la souris.

Sortie

left │ right

Définition à la ligne 233 du fichier src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitTop()

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

Une séparation verticale entre deux composants, configurable à l'aide de la souris.

Paramètres
mainLe composant principal de taille |main_size|, en haut.
backLe composant arrière prenant la taille restante, en bas.
main_sizeLa taille du composant |main|.

Exemple

int top_size = 1;
auto top = Renderer([] { return text("Top") | center;});
auto bottom = Renderer([] { return text("Bottom") | center;});
auto split = ResizableSplitTop(top, bottom, &top_size)
screen.Loop(split);
Component ResizableSplitTop(Component main, Component back, int *main_size)
Une séparation verticale entre deux composants, configurable à l'aide de la souris.

Sortie

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

Définition à la ligne 267 du fichier src/ftxui/component/resizable_split.cpp.

◆ ResizableSplitBottom()

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

Une séparation verticale entre deux composants, configurable à l'aide de la souris.

Paramètres
mainLe composant principal de taille |main_size|, en bas.
backLe composant arrière prenant la taille restante, en haut.
main_sizeLa taille du composant |main|.

Exemple

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

Sortie

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

Définition à la ligne 301 du fichier src/ftxui/component/resizable_split.cpp.

◆ Slider()

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

Un curseur horizontal.

Paramètres
labelLe nom du curseur.
valueLa valeur actuelle du curseur.
minLa valeur minimale.
maxLa valeur maximale.
incrementL'incrément lors de l'utilisation par le curseur.

Exemple

int value = 50;
auto slider = Slider("Value:", &value, 0, 100, 1);
screen.Loop(slider);
Component Slider(SliderOption< T > options)
Un curseur dans n'importe quelle direction.

Sortie

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

Définition à la ligne 259 du fichier src/ftxui/component/slider.cpp.