5.12. Caractéristiques de base du module complémentaire TUI
Anaconda prend également en charge une interface textuelle (TUI). Cette interface est plus limitée dans ses capacités, mais sur certains systèmes, elle peut être le seul choix pour une installation interactive. Pour plus d'informations sur les différences entre l'interface textuelle et l'interface graphique et sur les limites de l'interface utilisateur, voir Introduction à Anaconda et aux modules complémentaires.
Pour ajouter la prise en charge de l'interface texte dans votre module complémentaire, créez un nouvel ensemble de sous-paquetages dans le répertoire tui, comme décrit dans la structure du module complémentaire Anaconda.
La prise en charge du mode texte dans le programme d'installation est basée sur la bibliothèque simpleline
, qui ne permet qu'une interaction très simple avec l'utilisateur. L'interface en mode texte :
- Ne prend pas en charge le déplacement du curseur - au lieu de cela, elle agit comme une imprimante de ligne.
- Ne prend pas en charge les améliorations visuelles, telles que l'utilisation de couleurs ou de polices différentes, par exemple.
En interne, la boîte à outils simpleline
comporte trois classes principales : App
, UIScreen
et Widget
. Les widgets sont des unités contenant des informations à imprimer sur l'écran. Ils sont placés sur des écrans UIScreens qui sont commutés par une instance unique de la classe App. En plus des éléments de base, hubs
, spoke`s and `dialogs
contiennent tous divers widgets d'une manière similaire à l'interface graphique.
Les classes les plus importantes pour un module complémentaire sont NormalTUISpoke
et diverses autres classes définies dans le paquetage pyanaconda.ui.tui.spokes
. Toutes ces classes sont basées sur la classe TUIObject
, qui est elle-même un équivalent de la classe GUIObject
dont il est question dans les fonctionnalités avancées de l'interface utilisateur graphique du module complémentaire. Chaque rayon de l'interface graphique est une classe Python héritant de la classe NormalTUISpoke
, qui surcharge les arguments spéciaux et les méthodes définis par l'API. L'interface texte étant plus simple que l'interface graphique, il n'y a que deux arguments de ce type :
-
title
- détermine le titre du rayon, de la même manière que l'argument title dans l'interface graphique. -
category
- détermine la catégorie du rayon sous forme de chaîne de caractères ; le nom de la catégorie n'est affiché nulle part, il n'est utilisé que pour le regroupement.
L'interface utilisateur gère les catégories différemment de l'interface graphique. Il est recommandé d'assigner une catégorie préexistante à vos nouveaux rayons. La création d'une nouvelle catégorie nécessiterait de patcher Anaconda, et n'apporterait que peu d'avantages.
Chaque rayon est également censé remplacer plusieurs méthodes, à savoir init
, initialize
, refresh
, refresh
, apply
, execute
, input
, prompt
, et properties
(ready
, completed
, mandatory
, et status
).
Ressources supplémentaires