フィールドのクラス・リスト

フィールドはいくつかのクラスを使って実装されています。各クラスは、フィールド・ビジュアライゼーションの要素それぞれに対応します。フィールド・ビジュアライゼーションの機能は、それぞれに応じたクラスを介して呼び出すようになっています。例えばあるフィールドをフォーム上にスピン編集ボックスの形で表示するためには、そのコンポーネント・ソース上で、フィールドのクラス・リストにSpinEditクラス(PRIM_EVSE)を追加する必要があります。

ビジュアライゼーション・クラス

LANSAには、名前の先頭が「PRIM_」という形の、次のようなクラスが付属しています。

フィールドをスピン編集ボックスの形で画面表示する場合の、コンポーネント・コードの例を示します。

 

Begin_Com Role(*EXTENDS #PRIM_OBJT)

 

Begin_Com Role(*Visual #PRIM_EVSE) Name(#SPINEDIT) DefaultVisual(True) Height(25) Width(270)

 

End_Com

 

End_Com

 

再利用可能パーツのビジュアライゼーション・クラス

独自に用意した再利用可能パーツの形で画面表示することも可能です。組み込みの画面表示クラスでは対応できない場合でも使える、強力な機能と言えます。フィールドを再可能パーツの形で画面表示する、コンポーネント・コードの例を示します。

Begin_Com Role(*EXTENDS #PRIM_OBJT)

 
Begin_Com Role(*VISUAL_PART #PARTNAME) Name(#Custom) Defaultvisual(True) Height(108)
 
End_Com
 
End_Com

 

プロンプタ・クラス

プロンプタもフィールド・ビジュアライゼーションに関する新しい機能のひとつです。とは言っても、これ自身には画面表示機能がなく、フィールドの値を検索、設定するためのフォーム・コンポーネントに過ぎません。LANSAのビジュアライゼーション・クラス、またはPRIM_GRID(グリッド)、PRIM_LTVW(リスト・ビュー)、PRIM_TRVW(ツリー・ビュー)と組み合わせて使います。プロンプタの機能を有効にすると、F4キー、または省略記号ボタン(「…」)を押したとき、プロンプタが画面に現れます。以下にサンプルを示しますが、これは、PROMPTERというプロンプタ・フォームを含む、フィールド・コンポーネントのソースです。プロンプタはVisualEditの形で表示されることになります。

 

Begin_Com Role(*EXTENDS #PRIM_OBJT)
 
Begin_Com Role(*Visual #PRIM_EVEF) Name(#VisualEdit) Defaultvisual(True) Height(34) Usepicklist(False) Width(202)
 
End_Com
 
Begin_Com Role(*prompter #AFLDVIS0P) Name(#PROMPTER)
 
End_Com
 
End_Com

 

Picklistクラス

これもフィールド・ビジュアライゼーションに関する新しい機能のひとつです。やはりこれ自身には表示機能がなく、他のコンポーネントと組み合わせて使うことになります。これはフィールドが所定の値のうちいずれかしか取りえない場合に使います。例えば「SEX」(性別)というフィールドを考えてみましょう。この場合、「Male」(男)、「Female」(女)の2項目から成るピックリストを用意すればよいことになります。これ以外の値をフィールドに入力することはできません。

以下にサンプルを示しますが、これは、Sexというピックリストに対応して2つのボタンを表示する、フィールド・コンポーネントのソースです。

Begin_Com Role(*EXTENDS #PRIM_OBJT)

 
Begin_Com Role(*Visual #PRIM_EVPL) Name(#PICKLIST) Defaultvisual(True) Height(25) Width(270)
 
End_Com
 
Begin_Com Role(*picklist) Name(#LIST)
Define_Com Class(#PRIM_PKIT) Name(#ITEM1) Caption('Male') Default(True) Parent(#LIST) Value('M')
Define_Com Class(#PRIM_PKIT) Name(#ITEM2) Caption('Female') Parent(#LIST) Value('F')
End_Com
 
End_Com