EGL Rich UI の作業の開始
このトピックでは、EGL Rich UI を使用してアプリケーションの開発を 開始する方法を説明します。
Rich UI 機能の使用可能化
既存のワークスペースで
作業しているときは、Rich UI 機能を使用可能に設定してください。
- 「ウィンドウ」>「設定」とクリックします。「設定」ダイアログ・ボックスが表示されます。
- 「一般」を展開して「機能」をクリックします。 「機能」ページが、表示されます。
- 「拡張」をクリックする。 「拡張機能 (Advanced Capabilities)」ダイアログが、表示されます。
- 「EGL Rich UI」をクリックして、「OK」をクリックします。
- 「適用」をクリックして変更を保存します。 「設定」ダイアログ・ボックスが引き続き表示されます。 または、「OK」をクリックすることで、変更内容を保存してページを終了 するか、「キャンセル」をクリックすることで、変更を取り消してダイアログ・ボックスを終了します。
EGL ファイルに対するデフォルトとしての Rich UI エディターの設定
新規プロジェクトを作成する場合、EGL では開くファイルの種類に対応した正しいエディターが自動的に選択されます。つまり、Rich UI ハンドラーは EGL Rich UI エディターで開かれます。ただし、プロジェクトをワークスペースにインポートする場合は、EGL は標準 EGL ソース・エディターですべての .egl ファイルを開きます。.egl 拡張子が付いたファイルに対して常に EGL Rich UI エディターを使用するように EGL を設定できます。
- 「ウィンドウ」>「設定」とクリックします。「設定」ダイアログ・ボックスが表示されます。
- 「一般」および「エディター」を展開し、「ファイルの関連付け」をクリックします。「ファイルの関連付け」ダイアログが表示されます。
- 「ファイル・タイプ」セクションで、「.egl」をクリックします。
- 「関連付けられたエディター (Associated editors)」セクションで、「EGL Rich UI エディター」をクリックし、右側で、「デフォルト」をクリックします。
- 「OK」をクリックします。
Rich UI サンプルへのアクセス
Rich UI サンプルを使用して、
このテクノロジーを探索します。
- 「ヘルプ」->「サンプル」をクリックします。「ヘルプ」ダイアログ・ボックスが表示されます。
- 「サンプル」、「テクノロジーのサンプル」を展開します。
- 「Rich UI テクニカル・サンプル (Rich UI technical sample)」をクリックします。
- ワークベンチに com.ibm.egl.rui プロジェクトがまだ含まれていない場合は、このプロジェクトのエントリーをクリックします。
- エントリーをクリックして、サンプルをインポートします。
- ワークベンチ・プロジェクト・エクスプローラーで、プロジェクト 「com.ibm.egl.rui.samples」、 ファイル「EGL Source」、パッケージ「contents」を展開します。
- 以前に Rich UI エディターを EGL ファイル用のデフォルトに設定した場合は、「contents.egl」をダブルクリックします。それ以外の場合は、「contents.egl」を右クリックし、を選択します。
- エディターの下部の「プレビュー」タブを選択します。
- スクリーン内の指示に従い、表示されている選択肢を試行してください。
最初の Rich UI プロジェクトの作成
Rich UI サンプル・プロジェクトを使用せずに作業するには、以下のようにします。
- 「ファイル」->「新規」->「プロジェクト」をクリックします。新規プロジェクト・ウィザードが表示されます。
- 「EGL」を展開し、「EGL プロジェクト」をクリックしてから「次へ」をクリックします。「新規 EGL プロジェクト」ページが表示されます。
- プロジェクト名を入力し、「Rich UI プロジェクト」を選択します。
通常は、「完了」をクリックすることで作業を完了しますが、
追加のオプションを検討する場合は、続行してください。
- 「次へ」をクリックすると、「EGL プロジェクト」 ページが表示されます。
- 現在のワークスペースを保存するディレクトリーにプロジェクトを含めるには、「プロジェクトのデフォルトのロケーションを使用」チェック・ボックスを選択します。 その他の場合は、チェック・ボックスをクリアし、「参照」機構を使用して別のディレクトリーを指定します。
- EGL デプロイメント記述子を使用すると、アプリケーションがリモート・サービスに 柔軟な方法でアクセスできます。この結果、構成時に、インストーラーによってサービス・アクセスの 詳細を変更できます。記述子を組み込むことによるオーバーヘッドはわずかであるため、 どのような意図の場合であっても、「EGL デプロイメント記述子の作成」チェック・ボックスを選択することをお勧めします。 「次へ」をクリックします。「EGL 設定」ページが表示されます。
- 「プロジェクト」タブに、ワークスペース内に存在する他の全プロジェクトがリストされます。プロジェクトの EGL ビルド・パスに追加する各プロジェクトの横にあるチェック・ボックスをクリックします。
- プロジェクトの配置順序を変更するか、いずれかのプロジェクトをエクスポートするには、 「順序およびエクスポート」タブをクリックし、次のようにします。(i) ビルド・パスの順序におけるプロジェクトの位置を変更するには、プロジェクトを選択し、「上へ」ボタンおよび「下へ」ボタンをクリックします。(ii) プロジェクトをエクスポートするには、関連するチェック・ボックスを選択します。(iii) すべてのプロジェクトを一度に処理するには、「すべて選択」ボタンまたは「選択をすべて解除」ボタンをクリックします。
- 「終了」をクリックします。
EGL についての一般情報の確認
EGL Cafe は、EGL を含む製品に関する情報を提供します。
EGL の簡潔な紹介については、『Enterprise Web 2.0 with EGL』を参照してください。
「EGL プログラマー・ガイド」で、(Rich UI に特化した
トピックに加え) 以下のトピックを参照してください。
- Eclipse IDE での EGL の使用
- 『EGL プロジェクトの概要』から『プロパティー』まで
- データ・パーツ関連では、書式グループと ArrayDictionary に関する記述を無視してください。
- ロジック・パーツ関連では、Rich UI ハンドラー以外のハンドラーに関する記述とプログラムに関する 記述を無視してください。
- ビルド記述子とデプロイメント記述子に関する以外のビルド・パーツは無視してください。
- コンテンツ・アシスト
- EGL ファイルおよび EGL パーツの検索
- 『EGL エディターでの設定の変更』の特に以下のトピック
- EGL エディターの折りたたみにおける設定の変更
- EGL エディターの import ステートメント編成の設定
- ソース・スタイルの設定の変更
- コード・テンプレートを使用可能/使用不可にする
- EGL デバッガー・コマンド
- EGL デバッガーの設定の変更
「EGL 言語解説書」を参照するときは、以下の主題に関する記述を除外 してください。
- ファイルおよびデータベース・アクセスに関連する forEach、get などの文および関連する例外レコード。 Rich UI で作業するときは、そのようなアクセスはすべて呼び出されたサービスに よって処理されます。
- プログラムに関連する文である transfer および call。
- ユーザー・インターフェース。
- BasicRecord と ExceptionRecord 以外のレコード・ステレオタイプ。
- Java™または COBOL の処理に固有の詳細。具体的には、 J2EE、CICS®、 IMS™、および z/OS® バッチに関連する詳細。
- VisualAge® Generator または Informix® 4GL との互換性。
- システム・ライブラリーの ConsoleLib、ConverseLib、DliLib、J2eeLib、JavaLib、LobLib、 PortalLib SqlLib、VgLib、および VgVar。
「EGL 生成ガイド」で、(Rich UI に特化した
トピックに加え) 以下のトピックを参照してください。
- EGL 生成の紹介
- ビルド記述子パーツ
互換性の問題の検討
主に以下のような互換性の問題があります。
- ファイル、データベース、およびプリンターのアクセスは、サービス・アクセスによってのみ サポートされ、Rich UI アプリケーション・コードによる直接のサポートありません。ただし、Rich UI では、非構造化レコード・パーツ であるステレオタイプ SQLRecord (およびステレオタイプ BasicRecord と ExceptionRecord) を サポートします。サポートされないのは、レコード・パーツ・プロパティー の containerContextDependent、i4glItemsNullable、 および textLiteralDefaultIsString です。
- レポート作成は直接サポートされません。
- 関数の多重定義はサポートされません。
- 次の出力の生成はサポートされません。プログラム、フォーム、書式グループ、データ・テーブル、サービス、または Javaまたは COBOL に固有のこの他の出力。
- call ステートメントの 1 バージョンはサポートされますが、サービスを呼び出すのみです。
- exit ステートメントでサポートされるバリエーションは、exit for、exit if、exit while、および exit case のみです。
- 文 add、close、converse、continue、delete、display、execute、forEach、forward、get、freeSQL、goTo、move、open、openUI、prepare、print、replace、 set、 および transfer はサポートされません。
- サポートされるデータ型は、ANY、BIGINT、BIN (ただし、小数点以下の桁を含まない場合に限る)、Boolean、DataItem、DATE、DECIMAL、Delegate、Dictionary、FLOAT、INT、NUM、NUMBER、SMALLFLOAT、SMALLINT、STRING (ただし、サイズ制限を含まない場合に限る)、TIME、TIMESTAMP、NUM、MONEY、サービス・パーツ、インターフェース・パーツ、外部型 (ステレオタイプ JavaScript)、サポートされるデータ型による配列、 および非構造化の基本、例外、および SQL レコード・パーツです。
- サポートされないデータ型は、ArrayDictionary、BIN (小数点以下の桁数を含むもの)、BLOB、CHAR、CLOB、DataTable、DBCHAR、HEX、INTERVAL、MBCHAR、NUMC、STRING (サイズ制限を含むもの)、PACF、UNICODE、構造化されたレコード・パーツと、コンソール UI、レポート、テキスト UI、および Web トランザクションのテクノロジーに固有のパーツです。
- システム・ライブラリーの ConsoleLib、ConverseLib、DliLib、DliVar、J2eeLib、JavaLib、LobLib、PortalLib ReportLib、SqlLib、VgLib、および VgVar はサポートされません。
- dateTimeLib 関数の intervalValue() および intervalValueWithPattern() はサポートされません。
- mathLib 関数の assign() はサポートされません。 また、前述のデータ型制限により mathLib 関数の abs、max、min、precision、および round のサポートが制限されます。
- StrLib 定数 nullFill はサポートされません。
- strLib 関数の byteLen()、charAsInt()、defaultMoneyForm()、defaultNumericFormat(), formatNumber()、getNextToken()、getTokenCount()、intAsChar()、intAsUnicode()、setBlankTerminator()、setNullTerminator()、および unicodeAsInt() はサポートされません。また、前述のデータ型制限により mathLib 関数の getNextToken() および indexOf() のサポートが制限されます。
- サポートされる sysLib 関数は、conditionAsInt()、writeStdError()、 および writeStdOut() のみです。
- サポートされる sysVar 変数は、sysVar.systemType のみです。
- データ型 CHAR、DBCHAR、および MBCHAR のリテラルはサポートされません。
- 3 つのビット単位演算子 (&、|、および Xor) はサポートされません。in 演算子もサポートされません。
- is 演算子および not 演算子のバリエーションのうち、サポートされるのは、sysVar.systemType の使用と、blanks と numeric のレコード固有テストのみです。
- Rich UI コードでは、ANY 型の変数と値変数を比較できません。
// サポートなし if (myAny == 1) ; end - EGL デバッガー使用時の詳細は、『Rich UI のデバッグ』で説明されているように、少し異なります。
- EGL 全体で、プロパティーは変数を参照できます (theProperty = theVariable)。参照個所の後のコードで変数が宣言されている場合も含みます。Rich UI も同様に動作しますが、次の例外があります。Widget 型 (拡張機能を目的として使用される汎用型) のウィジェットは、そのウィジェットが参照される前に宣言する必要があります。
- ウィジェットは、EGL 参照変数です。ウィジェットを静的に宣言する (new 演算子を使用しない) ときは、次の例に示すように、必ず値の設定ブロック ({}) を指定してください。
myButton Button{};