4.12. TUI アドオンの基本機能

Anaconda は、テキストベースのインターフェース (TUI) にも対応しています。このインターフェースは機能がさらに制限されていますが、一部のシステムでは、インタラクティブインストールの唯一の選択肢となる場合があります。テキストベースのインターフェースとグラフィカルインターフェースの違い、および TUI の制限に関する詳細は、「Anaconda およびアドオンの概要」 を参照してください。

注記

テキストインターフェースのサポートをアドオンに追加するには、「Anaconda アドオン構造」 の説明に従って、tui ディレクトリー内に新しいサブパッケージのセットを作成します。

インストーラーのテキストモードサポートは simpleline ライブラリーに基づいており、非常にシンプルなユーザーの対話のみを許可します。テキストモードインターフェースは、

  • カーソルの移動には対応していません。代わりに、ラインプリンターのように動作します。
  • 視覚的機能拡張 (異なる色やフォントの使用など) はサポートしません。

内部的には、simpleline ツールキットには、AppUIScreen および Widget の 3 つの主要クラスがあります。ウィジェットは、画面に出力される情報が含まれるユニットです。これらは、App クラスの単一のインスタンスによって切り替えられる UIScreens に配置されます。基本的な要素に加え、hubsspoke`s and `dialogs はすべて、グラフィカルインターフェースと同じような方法でさまざまなウィジェットを含んでいます。

アドオンで最も重要なクラスは、NormalTUISpoke および pyanaconda.ui.tui.spokes パッケージで定義される他のさまざまなクラスです。これらのクラスはすべて TUIObject クラスをベースとしています。このクラス自体は、??? で説明されている GUIObject クラスと同じものになります。各 TUI スポークは、NormalTUISpoke クラスを継承する Python クラスであり、API で定義される特別な引数とメソッドをオーバーライドします。テキストインターフェースは GUI よりも簡単なため、引数は以下の 2 つのみになります。

  • title: GUI の title 引数と同様にスポークのタイトルを決定します。
  • category: スポークのカテゴリーを文字列として判別します。カテゴリー名はどこにも表示されず、グループ化にのみ使用されます。
注記

TUI は GUI とは異なる方法でカテゴリーを処理します。既存のカテゴリーを新しいスポークに割り当てることが推奨されます。新しいカテゴリーを作成するには、Anaconda にパッチを適用する必要があり、ほとんどメリットがありません。

各スポークは、複数のメソッドをオーバーライドすることも想定されています。複数のメソッドとは initinitializerefreshrefreshapplyexecuteinputprompt、および properties (readycompletedmandatory、および status) になります。