ユーザー コントロール エディターは、ユーザーコントロールの開発に役立つグラフィカルツールです。
GeneXus インストールディレクトリーにある
UserControlEditor.exe を実行して、 [ 新規 ] ボタンをクリックします。ユーザーコントロールの名前とフォルダの場所を入力します。
すべてのユーザーコントロールは UserControls ディレクトリーの下に配置する必要があります。このディレクトリーも GeneXus インストールディレクトリーの下にあります。詳細は、「
ユーザーコントロールの構造の概要」を参照してください。
[ Control Definition ] は次の 3 つのグループに分かれています: [ General ] 、 [ Design time ] および [ Run time ] 。それぞれについて見ていきましょう。
- [ Control Name ] 。コントロールの名前を定義します。
- [ Properties definition (xml) ] 。
[ Properties ] タブで編集できるコントロールのプロパティファイルの名前を定義します。これらのプロパティはすべて、GeneXus の [ プロパティ ] ウィンドウから編集可能になります (コントロールにフォーカスがある場合)。
- [ Include in control info ] (チェックボックス)。
ユーザーコントロールを「コントロール情報」として含めるかどうかを示します。こうすることで、ユーザーコントロールはツールボックスには表示されず、「コントロール情報」としてのみ利用できるようになります。そのため、フォームに項目属性/変数をドロップしたときに、その項目属性/変数の「コントロール情報」として UC (ユーザーコントロール) を設定することができるようになります。例として、FCKEditor ユーザーコントロールは「コントロール情報」として使用できます。
以下の例で、&test は LongVarChar 変数であり、その「コントロール情報」として
FCKEditor を設定します。その結果として、FCKEditor が Web フォームに表示されます。
- [ Resize supported ] 。
このチェックボックスは、設計時にコントロールのサイズ変更が可能かどうかを示し、有効な場合は [ Height Property Name ] および [ Width Property Name ] プロパティが表示されます。これらのプロパティ名は、コントロールのプロパティウィンドウに表示されます。
- [ Designer render name ] 。
コントロールを GeneXus IDE に表示するために使用される、設計時レンダリングファイルの名前を定義します。このファイルは、 [ xsl Designer Render ] タブで編集できます。
- [ GX Resources ] 。
多くの場合、データにバインドされたコントロールを作成します。このデータは、項目属性/変数であるか、特定の SDT の場合もあります。SDT の場合、その SDT をコントロールと共に配布して、プログラマーがコントロールに必要な特定の SDT を作成しなくて済むようにすることができます。そのため、 [ GX Resources ] プロパティでは、コントロールが必要とするすべての SDT を含む xpz ファイルを指定できます。ユーザーコントロール (データバインディングに SDT を使用) をドロップすると、GeneXus は GX Resources (この場合は SDT を含む xpz) を統合し、プログラマーはこの SDT の新しいインスタンスを作成できるようになります (その後、この SDT はコントロールに割り当てられます)。
例として
GXChart コントロールを参照してください。この例では、カテゴリとシリーズを作成するために使用する SDT を含む gxChartSdt.xpz を統合していることがわかります。
- [ Icon (used in the toolbox) ] 。
コントロールを表すためにツールボックスで使用されるアイコンです。
- [ Description (used in the toolbox) ] 。
ツールボックスで使用されるコントロールの説明です。
- [ Runtime render name ] 。
[ JScript Runtime Render ] タブで編集できる実行時レンダリングファイルの名前を定義します。このファイルには、実行時にコントロールを表示するためのすべての情報が含まれます。
- [ Constructor ] 。
実行時ファイルのコンストラクターを定義します。主な考え方は、GeneXus が「実行時クラス」 ( [ JScript Runtime Render ] タブで定義) の新しいインスタンスを作成するので、ここでコンストラクター名を指定する必要があります。
- [ Show method ] 。
UC javascript クラスの「show メソッド」の名前を定義します。主な考え方は、GeneXus が「コントロールクラス」の新しいインスタンスを作成した後、実行時にコントロールを表示するためのすべての情報を含む「show メソッド」を呼び出します。
- [ Referenced files ]
コントロールを作成する際、外部の javascript ライブラリ (Yahoo ライブラリや Dojo など) や css ファイルを使用することはよくあることです。これらの外部リソースを使用するには、生成される html にそれらのファイルへの参照を追加する必要があります。そのためには、これらのファイルを [ Referenced files ] リストボックスに追加します。たとえば、thirdPartyJSLibrary という名前の js ライブラリがあり、それを html の中で参照する必要がある場合、それを「参照ファイル」として追加するだけで、生成される html に以下のような内容が含まれるようになります:
<script language="javascript" src="YourControl\thirdPartyJSLibrary.js"></script>
- [ Support files ] 。
[ Support files ] リストボックスには、コントロールが使用するが、生成される html で参照する必要のないあらゆる種類の外部リソースを追加します (そのような場合は、前に説明したように、「参照ファイル」として追加するからです)。「サポートファイル」の典型的な例は画像です。たとえば、Treeview コントロールを考えると、ツリーノードを表現するためにいくつかの画像が必要になります。これらの画像は「サポートファイル」として追加する必要があります。
ユーザーコントロールの構造の概要