コンソール UI

EGL は、Informix® 4GL の複数の種類のユーザー・インターフェースをサポートするために、コンソール UI テクノロジーを維持しています。 このテクノロジーは、次の 3 つの方法のいずれかで情報を表示します。
Curses モード
UNIX システム上で curses を使用して表示します。マウスは使用できません。 Telnet を介して UNIX システムに接続するとき、あるいは端末装置 (標準的な VT100 やそのエミュレーターなど) を使用しているときにこのモードを使用します。
Swing モード
Windows システム上でテキストのみを表示します。マウスは使用できません。 このモードでは、EGL は、Java™ Swing ライブラリーを使用して curses モードの出力を模倣します。
RCP モード
Windows 上のローカル型のグラフィカル・ユーザー・インターフェース (GUI) に表示し、簡易バージョンの RCP (Rich Client Platform) を提供します。マウス操作、カット・アンド・ペースト、およびその他の標準 GUI がサポートされています。 このモードには、Java (SWT) 用のオープン・ソースの標準ウィジェット・ツールキットを使用したボタンや組み合わせボックスなどのコントロール類が用意されています。

このプログラムはコンソール書式を表示し、ユーザー・イベント (画面上のカーソルを次のフィールドに移動させるためタブ・キーを押すなど) に即時に応答可能です。 検証はフィールドごとに行われます。 ユーザーが有効なデータをそこに入力するまで、カーソルを現行フィールドに制限できます。

コンソール UI は、Java 用に生成された EGL プログラムでのみ使用可能です。 非 Web インターフェースが必要な場合、I4GL からマイグレーションされていないプログラムには、コンソール UI が使用できます。

コンソール UI を使用するときは、通常、次のようにプログラムをコード化します。
  1. 常に使用可能なコンソール UI パーツ (このトピックの『コンソール UI のバインディング変数』を参照) に基づく変数のセットを宣言します。
  2. 適切な EGL 関数を呼び出すときに引数としてコンソール UI 変数を組み込むことにより、コンソール書式を開きます。 あるいは、実行時に既知である名前を受け入れる displayFormByName() のような EGL 関数を呼び出すことで、書式 (またはその他のコンソール UI 変数) を開く方法もあります。
  3. EGL openUI 文で書式を参照します。openUI 文は、ユーザーのキー・ストロークなどのイベントをプログラム・ロジックに結びつけます。

EGL は、パーツ・セットを明確にコンソール UI に提供します。 詳しくは、コンソール UI パーツを参照してください。 ディスプレイのさまざまなフォーマットの特徴は、これらのパーツに固有のプロパティーによって制御されます。 詳しくは、関連参照のリンクを参照してください。

コンソール UI ウィンドウに情報の列を表示する一般的な方法の 1 つとして、ArrayDictionary パーツの使用が挙げられます。 詳しくは、コンソール UI における配列辞書の使用を参照してください。

EGL 言語解説書」は、コンソール UI の言語面だけを取り扱っています。 ワークベンチでコンソール UI を使用する方法など、より詳細な概要については、「EGL プログラマー・ガイド」を参照してください。

コンソール UI のバインディング変数

コンソール UI は、入力フィールドとプリミティブ型の変数とを対応づけるバインディング を指定した場合に限って、ユーザー入力を変数に割り当てることができます。 EGL ランタイムは、次のアクションを実行します。
  • 表示フィールドの初期コンテンツとして変数値を使用します。
  • ユーザーがフィールドから移動すると、ユーザー入力を上記の変数に移します。

コンソール UI フィールドの宣言時に、このフィールドを変数にバインドできます (ConsoleFieldを参照)。 あるいは、プログラムがユーザーと対話を開始するときに openUI 文を使用してバインドすることもできます (openUIを参照)。

行モードでコンソール UI を使用

コンソール UI を行モード で使用することもできます。行モード では、コードが一度に 1 行だけ読み書きします。 このモードはバッチ処理に適しています。例えば、対話モードで実行できない管理作業を実行し、フォームを使用しない未フォーマットの出力を標準出力に単に送信するだけの UNIX cron ジョブを作成できます。

行モードでは、以下の状況で操作が行われます。
  • Eclipse ワークベンチでは、ユーザーは「コンソール」ビューと対話します。
  • コマンド・プロンプトで呼び出されたプログラムでは、ユーザーはコマンド・ウィンドウと対話します。
  • UNIX 環境の curses モードで動作するプログラムでは、ユーザーは UI が表示されているウィンドウと対話することになり、通常のウィンドウ・ベースの対話は中断されます。

互換性

表 1. コンソール UI の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 EGL は COBOL 生成のコンソール UI をサポートしません。

フィードバック