ビジュアル レイアウト エディタ (VLE) には、レイアウト作成に使用する多数の Curl® オブジェクトが用意されています。これらのオブジェクトには、VLE パレットからアクセスします。「
パレット」のセクションには、標準 VLE オブジェクトが一覧表示されています。この章では、これらのオブジェクトにアクセスするために、
VLE 機能拡張エディタ がどのように役立つかについて説明します。機能拡張エディタは Curl Pro/IDE でのみ利用できます。「
Curl 及び Curl Pro 製品」を参照してください。
VLE パレットの機能を拡張するには、VLE 機能拡張ファイルを作成して、追加するオブジェクトの 1 つ以上のオブジェクト エディタを定義します。機能拡張ファイルを VLE にインストールすると、VLE は起動時にこのファイルをロードします。VLE 機能拡張ファイルは、他のファイルを参照することができ、この参照するファイルも、起動時にロードされます。
VLE の機能拡張を検討する場合には、2 つの実行状況を明確に区別する必要があります。
- デザイン時の動作は、VLE でアプリケーションを作成する間に発生します。
- 実行時の動作は、VLE を使用して作成したアプリケーションを実行する間に発生します。
VLE の WYSIWYG (what you see is what you get)
ポリシーにより、多くの動作がデザイン時と実行時の両方で発生するので、この区別が難しい場合もあります。だたし、いずれか 1 つの環境でのみ発生する動作もあります。この区別を利用して、次の 2 段階により VLE 機能拡張の定義プロセスを構成します。
- 実行時に要求される動作を定義して実装します。アプリケーションで作成するパッケージ内で、実行時の動作を定義します。
- デザイン時の追加の動作を定義して実装します。デザイン時の動作は、VLE 機能拡張ファイルで定義します。
この章では、VLE 機能拡張ファイルを作成するのに役に立つ VLE 拡張エディタについて説明します。機能拡張ファイルは、VLE パレットからオブジェクトへのアクセスを可能にするデザイン時の動作を実装します。
VLE 機能拡張エディタを使用して、グラフィカル オブジェクトをインスタンス化するパレット ボタンを定義することができますが、
VBox のようなグラフィカル コンテナ型は定義できません。
このルールの例外として、「
複合オブジェクトの構築 」で説明されている、複合オブジェクトがあります。
複合オブジェクトは、VLE で既に利用できるコンテナ オブジェクトを使用して、 VLE パレットからアクセスできるオブジェクトを作成できます。
ユーザーは IDE エディタを使用して、これらのオブジェクトの実行時動作を記述し、VLE 機能拡張エディタを使用してオブジェクトを VLE パレットに追加します。
VLE パレット機能拡張を介してインスタンス化したグラフィカル オブジェクトは、 コンストラクタ内で残余引数を使用する必要があります。通常、これらのグラフィカル オブジェクトはプロパティ シートの VLE に既に組み込まれているプロパティ エディタを使用します。機能拡張エディタは新しいプロパティ エディタの作成をサポートしません。カスタム プロパティ エディタの定義は可能ですが、その作業はこのドキュメントでは想定範囲外です。また、不可視のコンポーネントに対応するパレット ボタンを作成することはできません。
IDE ソース エディタを使用して、VLE 機能拡張エディタで最初に作成したファイルを編集することができます。VLE 機能拡張エディタで VLE 機能拡張を定義し、IDE ソース エディタで編集することによってさらなる機能を追加すると便利です。IDE ソース エディタにより、後で VLE 機能拡張エディタを使用して、さらなる編集およびカスタマイズを行うことができます。
機能拡張エディタには、2 つの編集プロセス ビューがあります。基本ビューは、あまり頻繁に使用されない項目を取り除いた効率的なインターフェースです。よって、ほとんどの状況で、VLE 機能拡張ファイルの作成に必要なすべての情報を入力できます。拡張ビューでは、より高度な制御や設定が可能です。
このセクションでは、 VLE 機能拡張エディタの基本ビューを使用して、2 つの簡単な VLE 機能拡張ファイルを作成する方法を説明します。このセクションでは、実行時機能拡張パッケージ、および機能拡張ファイルの両方が、IDE の VLE プロジェクトの一部であることを想定しています。VLE 機能拡張エディタは、既定では基本ビューで実行されます。
このセクションでは、簡単な progress bar (進捗状況バー) オブジェクトのパレット機能拡張を作成します。
エディタを呼び出す前にいくつかの手順を行う必要があります。特定の状況によっては、これらのステップを変更または省略することも可能です。
- 実行時パッケージの作成
機能拡張ファイルを作成する前に、VLE で使用するオブジェクトを実装するコードを記述する必要があります。VLE パレットに追加するオブジェクトを十分にテストしてから、オブジェクトに対するパレット機能拡張を作成します。
ScrollBox など、既に Curl API の一部であるオブジェクトにアクセスするための機能拡張を作成する場合は、この手順を行う必要はありません。
この例では、この拡張例のコードを使用します。
d:\automated-build-temp\build\win32-atom\docs\default\examples\layout-editor\ProgressBar.zip
この例を抽出し、progress bar (進捗状況バー) の実行時コードを含む progressbar-ext/progress/load.scurl ファイルを見つけます。
- プロジェクトの作成
IDE プロジェクトを含まないディレクトリで起動した場合、機能拡張エディタで使用するオプションは限られます。既存のプロジェクトも使用できます。作成する VLE 機能拡張ファイルのプロジェクトは、機能拡張の編集中は、IDE 内で開かれている必要があります。
- プロジェクトに実行時パッケージを追加
任意の既存プロジェクトで VLE 機能拡張を作成できますが、実行時パッケージを含むプロジェクトを選択することが最善です。
Curl IDE の [ツール] メニューから、[VLE 機能拡張エディタ] をクリックして、VLE 機能拡張エディタを起動します。エディタでの最初の操作は、新しい VLE 機能拡張ファイルを作成するか、既存のファイルを開くことです。開いているプロジェクトの一部である既存の機能拡張ファイルをダブル クリックすると、機能拡張エディタでファイルが開きます。機能拡張エディタでは、一度に 1 つの機能拡張ファイルのみを開くことができます。
[ビジュアル レイアウト エディタ機能拡張の作成] ダイアログを開くには、[ファイル] メニューの [新規] 項目を使用します。このダイアログを使用して、次の情報を設定します。
- VLE 機能拡張ファイル名 :
パレット機能拡張ファイルには、完全なパス名を指定する必要があります。ディレクトリの場所を指定するには、[参照] ボタンを使用します。次に、適切なフィールドにファイル名を入力します。既存のファイルを選択する場合、エディタは選択を確認し、ファイルが上書きされる警告を表示します。
機能拡張ファイルは、機能拡張を VLE パレットに追加するために VLE にロードする Curl ソース ファイル (
.scurl) です。機能拡張ファイルは、パレットにオブジェクトを追加するために必要なデザイン時の情報を VLE に提供します。「
VLE 機能拡張ファイルのインストールとアンインストール」を参照してください。
- このファイルを name プロジェクトの一部にします :
このチェック ボックスは、既定ではオンです。プロジェクトに機能拡張が含まれるように、オンのままにします。
- マニフェストを使用します :
このラジオ ボタンは、既定ではオンです。現在のプロジェクト マニフェストに機能拡張が含まれるように、オンのままにします。機能拡張ファイルがプロジェクトのトップレベルのディレクトリにない場合、この設定は無効になります。
- VLE 機能拡張パッケージ名 :
機能拡張パッケージのパッケージ名を入力します。機能拡張パッケージには、機能拡張エディタが生成したコードが含まれます。このパッケージには、VLE におけるオブジェクトのデザイン時の動作を定義するほとんどのコードが含まれます。機能拡張ファイルがプロジェクトのトップレベルのディレクトリに位置していない場合、設定は無効になります。
機能拡張の作成を終了するには、[OK] をクリックします。この時点では、機能拡張エディタのウィンドウは 3 つのセクションに分けられています。左側のセクションは、機能拡張設定ペインで、次の手順で使用するさまざまな制御が含まれます。
[インポートする実行時パッケージ] フィールド :VLE でのアクセス時の動作を定義する複数の実行時パッケージをインポートできます。これらのパッケージは、VLE 作業エリアでのオブジェクトの動作をサポートするために、デザイン時にインポートする必要があります。また、これらの実行時パッケージは、実行時オブジェクトを使用する VLE で作成したすべてのレイアウトによって、実行時にインポートされる必要もあります。
[追加] ボタンをクリックして、[実行時パッケージの追加] ダイアログを開きます。このダイアログでは、次の情報が求められます。
- マニフェストを使用するパッケージ :
このラジオ ボタンは、既定ではオンです。パッケージがマニフェストを使用するために、オンのままにします。
- パッケージ名 :
実行時パッケージの名前を入力します。これは、パレット機能拡張のための事前準備を行った際にプロジェクトに追加されたパッケージです。このパッケージは、プロジェクトの他のすべてのパッケージと共に、このフィールドのドロップダウン リストに表示されます。このリストから正しい実行時パッケージを選択して、[追加] ボタンをクリックします。
[定義するパレット ボタン] フィールド :設定するパレット項目を指定できます。[追加] ボタンをクリックして、[新しいパレット項目の追加] ダイアログを開きます。このダイアログでは、次の情報が求められます。
追加ボタンを選択してパレット ボタンの追加を終了します。この時点で、中央のVLE 機能拡張エディタ ウィンドウのボタン設定ペインに、いくつかのコントロールが含められます。
指定した実行時タイプの情報が、[実行時タイプ] フィールドに表示されています。
[パレット タブ名] フィールド :このパレット ボタンを含むパレット タブを指定することができます。ドロップダウン リストから、[グラフィック] または [コントロール] のどちらかを選択します。このフィールドにパレット タブの名前を入力することも可能です。VLE パレットに指定されたタブが存在しない場合、VLE がそのタブを作成します。他のパレット項目で作成されたタブを含む、既存のパレット タブを指定することも可能です。
[パレット グラフィック] : パレット ボタン用の画像を指定できます。標準の VLE で指定されているアイコンはすべて 28x28 ピクセルの画像です。より良い概観のためには、ここで指定する画像ファイルのサイズは、28x28 ピクセルである必要があります。この拡張例から、この例で使用可能な画像を見つけることができます。
d:\automated-build-temp\build\win32-atom\docs\default\examples\layout-editor\ProgressBar.zip
progressbar-ext/images/progressbar-icon.gif ファイルを見つけます。
このペインの下の部分には、2 つのタブがあります。1 つはプロパティ リストを、もう 1 つはイベント ハンドラを表示しています。最初は、これらのリストには、プロパティとパレット機能拡張を定義するイベント ハンドラが既定で含まれます。プロパティまたはイベント ハンドラを追加または削除する必要がない場合は、機能拡張はこの時点で使用可能です。[ファイル] メニューから [保存] をクリックして、機能拡張を保存します。[ファイル] メニューから [プレビュー] をクリックして、VLE の機能拡張をプレビューします。
次のセクションでは、プロパティの編集について説明します。
このセクションでは、
Scrollbar オブジェクトのパレット機能拡張を作成します。
ProgressBar の例で行ったのと同様に、この機能拡張に対するプロジェクトを準備します。このオブジェクトは Curl API の一部であるため、実行時コードの記述、またはプロジェクトへの実行時パッケージの追加は必要ありません。機能拡張エディタを起動し、新しい機能拡張を作成します。
[インポートする実行時パッケージ] フィールドはそのままにして、すぐにパレット ボタンの定義に進みます。
実行時パッケージをインポートしていないため、[実行時タイプ] ドロップダウン リストには利用可能なクラス名が表示されていません。フィールドに Scrollbar を入力します。残りのフィールドは、前と同様に入力します。拡張例の中に、Scrollbar のアイコンがあります。
d:\automated-build-temp\build\win32-atom\docs\default\examples\layout-editor\Scrollbar.zip
ここで、[プロパティ] タブおよび [イベント ハンドラ] タブの内容をより注意深く調べます。
パレット ボタンを最初に定義する際には、標準的なプロパティとイベント ハンドラが定義されています。1 つのプロパティは、(既定のプロパティ) と表示され、1 つのイベント ハンドラは (既定のイベント ハンドラ) と表示されます。これらはレイアウトにオブジェクトを追加する際に、最初に [プロパティ] ペインで設定されている項目です。項目を選択し、[既定として設定] ボタンをクリックすることにより、既定を変更できます。
プロパティを選択して[削除] ボタンをクリックすることにより、リストからプロパティを削除することができます。プロパティをクリックすることにより、右側にプロパティ設定ペインが表示され、プロパティを編集できます。多くの場合、既定のプロパティ設定は正しく、編集の必要はありません。
プロパティ設定ペインの [追加] ボタンをクリックします。[追加するプロパティ名の選択] ダイアログが開きます。このダイアログには、2 つのタブがあります。既定では、[既存のオプション名] タブがアクティブです。リフレクションを使用して、機能拡張エディタは、このオブジェクトに存在するオプションを一覧表示します。オプションは、3 つのカテゴリに分類されます。
- 既存の定義を使用するオプション
これらは、VLE パレットを介して既に使用可能な他のオブジェクトに存在するオプションであり、そのため、その定義は既に VLE に組み込まれています。enabled? などの、これらのオプションの 1 つを選択した場合、プロパティ設定情報は完全に適用されることに注意してください。
- 他のローカル オプション
これらは、エディタがローカル オプションとして識別可能なオプションですが、その定義は VLE に組み込まれていません。
- 他の非ローカル オプション
これらは、エディタが非ローカル オプションとして識別可能なオプションです。これらの 1 つ、または他のローカル オプションの 1 つを選択する場合、エディタはオブジェクトから取得される情報を使用してプロパティ設定を適用します。
[ユーザー入力プロパティ名] タブでは、このオブジェクトに存在していてもリストに表示されていないプロパティ名を入力できます。最も一般的なケースは、CommandButton.style のようなプロパティです。このプロパティは、オプションとしては定義されていませんが、キーボード コンストラクタ引数により制御可能です。
この例では、[追加] ボタンをクリックして、[他のローカルオプション] リストから direction をクリックします。このリストから複数のオプションを選択できます。
プロパティ設定ペインを使用して、VLE でのこのプロパティ機能に関するプロパティ シートを変更します。次の情報を設定できます。
- プロパティ名 :
プロパティ名を設定します。通常、このフィールドを編集する必要はありません。
- メタデータ カテゴリ :
このフィールドは、VLE プロパティ シートでこのプロパティを設定するカテゴリを決定します。既存のカテゴリのリストから選択するか、または新しいカテゴリの名前を入力します。新しいカテゴリを入力した場合、そのカテゴリはこのプロパティのプロパティ シートに作成されます。
- プロパティ エディタ :
プロパティ エディタにより、VLE ユーザーがプロパティ シートでこのプロパティの編集をすることが可能です。VLE では、いくつかのプロパティ エディタが既に定義されています。設定しようとするプロパティに適合するものがある場合、その中の 1 つを選択できます。使用可能な特定のエディタがない場合、機能拡張エディタは、SimpleCodeEditor を選択します。SimpleCodeEditor により、エンド ユーザーはプロパティ シートのソース コードまたは IDE エディタのソース コードとしてプロパティを編集することが可能です。
現在の例では、directionプロパティは列挙型です。[...] ボタンをクリックして、[列挙体エディタの定義] ダイアログを開きます。このダイアログでは、列挙型に対するオプション値を入力できます。このプロパティの有効な値は 2 つのため、vertical および horizontal を入力します。
他の特別なプロパティ エディタの作成については、このドキュメントの範囲外です。
- ヘルプ テキスト :
エンド ユーザーが VLE 内のプロパティを編集する場合、プロパティ ペインの下にヘルプ テキストが表示されます。このフィールドを使用して、ユーザーがこのプロパティを編集するときに表示されるヘルプ テキストを入力します。
- ソース コードの初期値 :
このテキスト フィールドは、プロパティの初期値を提供する Curl 式を指定します。VLE で最初にオブジェクトが作成される際にプロパティが設定されている必要がある場合、このフィールドを使用します。このフィールドを空白のままにしておくと、ユーザーがパレット ボタンを使用してオブジェクトを作成する場合、プロパティは最初に設定されません。
- このプロパティは、ローカル オプション、非ローカル オプション、またはキーボード コンストラクタ引数です。
これらの 3 つのラジオ ボタンは、このプロパティの種類を示します。エディタは、この情報を特定しようと試みます。必要に応じて、この情報を訂正します。
- 既定のソース コード
このプロパティの既定値と等しい値の Curl 式、つまり、設定されていない状態のこのプロパティの値です。このテキスト フィールドを空白にすることは、既定のソース コードとして null を指定することと同じです。
このフィールドは、キーボード コンストラクタ引数を定義する場合のみ有効であり、プロパティがキーボード コンストラクタ引数でない場合は、無効です。
この時点で Scrollbar の direction プロパティは追加および設定されました。機能拡張を保存し、VLE でプレビューします。direction プロパティが、現在 Scrollbar プロパティ シートで有効であることに注意してください。
一度 VLE 機能拡張ファイルを作成すると、VLE にそのファイルをインストールすることができます。VLE の [表示] メニューから、 [パレット機能拡張] をクリックします。この操作により、[パレット機能拡張] ダイアログ ボックスが開かれます。
[新規] ボタンをクリックすると、ファイル選択ダイアログが開かれるので、ここで VLE 機能拡張ファイルを選択します。VLE は、ファイルとそこで定義されているパレット機能拡張をロードして、[パレット機能拡張] ダイアログのリストにファイルの名前を追加します。このリストのファイル名はパーシスタント ストレージに保存され、VLE の起動時に自動的にロードされます。
ファイル名を選択して
[削除] ボタンをクリックすると、起動時に自動的にロードされるファイルのリストからファイルが削除されます。このリストからファイルを削除しても、現在の VLE セッションからはその機能拡張は削除されません。変更を適用するには、Curl® RTE を終了して再起動する必要があります。「
IDE の起動」を参照してください。
メニュー項目 | 機能 |
新規... | [ビジュアル レイアウト エディタ機能拡張の作成] ダイアログ ボックスが開きます。「新しい VLE 機能拡張の作成」を参照してください。 |
開く... | [開く] ダイアログ ボックスより既存のファイルを開きます。
VLE 機能拡張エディタは、編集のために一度に複数の VLE 機能拡張を開くことはできません。そのため、拡張機能が既に開いている間に [新規] および [開く] をクリックすると、既に開かれているファイルは閉じ、ファイルを保存する必要がある場合はそれが通知されます。 |
閉じる | 現在開いているファイルを閉じます。 |
保存 | 現在開いているファイルを保存します。 |
プレビュー | VLE にインストールする前に、機能拡張ファイルをテストできます。このメニュー コマンドは、最初に、現在開いている VLE 機能拡張ファイルを保存するよう要求します。次に、インストールされた機能拡張を含むアプレットとして実行する VLE のコピーを開きます。アプレットとして実行するときに VLE がどのように動作するかについての詳細は、「VLE 機能拡張ファイルのデバッグ」を参照してください。 |
元に戻す | 現在開いているファイルを、最後にディスクに保存した状態に復元します。変更を破棄するかどうかの確認を求められます。 |
終了 | 現在開いているファイルを閉じ、VLE を終了します。変更を保存するかどうかの確認を求められます。 |
新しい VLE 機能拡張ファイルを作成するには、[ファイル] メニューの [新規] をクリックします。ダイアログ ボックスが表示され、ここで新規ファイルに関する選択を行います。
- VLE 機能拡張ファイル名 :
VLE 機能拡張が含まれる新しい curl ソース ファイル (.curl 拡張子) の完全なパス名を指定する必要があります。[参照] ボタンにより、ファイル システムを検索できます。
一度機能拡張ファイル名を指定すると、VLE 機能拡張エディタは、指定したディレクトリ内でmanifest.mcurl と呼ばれるファイルを検索します。そのようなファイルが検出されると、ダイアログの残りのコントロールを有効にします。
- このファイルを name プロジェクトの一部にする :
このチェックボックスを使用し、新規ファイルを IDE プロジェクトに含めるかどうかを決定します。この設定は、IDE で開かれている Curl プロジェクトを含むディレクトリに機能拡張ファイルが配置されている場合に有効です。ファイルをプロジェクトの一部にすると、統合開発環境のプロジェクト ファイルリストと、プロジェクトのマニフェスト ファイルに表示されます。既定では、このチェック ボックスはオンです。
- マニフェストを使用する/しない :
このラジオ ボタンのペアは、このファイルが現在のディレクトリで検出されたマニフェストを使用するかどうかを決定します。既定では、ファイルはマニフェストを使用します。
- VLE 機能拡張パッケージの名前 :
このフィールドは、作成するコードを含むパッケージの名前を指定します。
VLE 機能拡張コード。
[マニフェストを使用しない] ボタンをクリックすると、このフィールドは無効となります。適切な命名規則を使用して、パッケージに名前を付けます。「
パッケージの命名」を参照してください。
メニュー項目 | 機能 |
基本 | 機能拡張エディタ UI の基本的な表示方法を選択できます。メニュー項目の左側のドットは、現在どの表示方法が選択されているかを示します。 |
拡張 | 機能拡張エディタ UI の詳細な表示方法を選択できます。メニュー項目の左側のドットは、現在どの表示方法が選択されているかを示します。 |
メニュー項目 | 機能 |
言語 - ドキュメント | IDE ドキュメント ビューアを開きます。 |
使用法 - VLE - 機能拡張 - エディタ | VLE ユーザー ガイドの章を表示する IDE ドキュメント ビューアを開き、機能拡張エディタについて説明します。 |
詳細 - VLE - 機能拡張 - エディタ | VLE 機能拡張エディタのバージョン情報を提供します。 |
VLE 機能拡張エディタは、3 つのペインに分かれています。各ペインの縮小または拡大する垂直バーをドラッグします。左側のペインは、機能拡張設定ペインです。中央のペインは、ボタン設定ペインです。右端のペインは、プロパティ設定ペインです。
機能拡張設定ペインにより、インポートする必要があるパッケージおよび定義しようとするパレット機能拡張を指定することができます。
定義するパレット ボタン :このリスト ボックスは、この VLE 機能拡張で定義されたパレット ボタンを命名します。新しい VLE 機能拡張を作成すると、このリスト ボックスは最初は空です。[追加] ボタンをクリックして、[新しいパレット項目の追加] ダイアログ ボックスを開きます。このダイアログには、次の制御が含まれます。
- 実行時作成演算子 :
このコンボ ボックスを使用して、実行時に評価される式の演算子を指定し、このパレットボタンと関連するオブジェクトを作成します。このフィールドは、基本モードでは表示されません。
VLE 機能拡張エディタは、実行時パッケージ リスト内のすべてのパッケージをインポートし、リフレクションを使用して
Graphic のサブクラスのパッケージで定義されているすべてのパブリック クラスを検出します。
これらのすべてのクラス名は、[実行時作成演算子] コンボ ボックスのドロップダウン リストに追加されます。そのため、通常、これらのクラスの 1 つに対してパレット ボタンを作成する場合、ドロップダウン リストからクラス名をクリックするだけです。
ただし、[実行時作成演算子] コンボ ボックスには任意の文字列を入力することもできます。
通常、オブジェクトは、クラスの既定のコンストラクタまたはファクトリーを呼び出すことにより作成されます。この場合、実行時作成演算子はクラス名です。
別のコンストラクタを呼び出すことによりオブジェクトを作成するには、ClassName.constructor-name のような実行時作成演算子を指定します。
プロシージャを呼び出すことによりオブジェクトを作成するには、procedure-name (たとえば、submit-button など) のような実行時作成演算子を指定します。
- 実行時タイプ :
このテキスト フィールドには、このパレット ボタンにより作成される実行時オブジェクトにの型宣言が含まれます。通常、これはクラス名であり、実行時作成演算子と同じです。実行時作成演算子がクラス名でない場合、実行時タイプは実行時作成演算子と同じではありません。たとえば、実行時作成演算子が submit-button の場合、対応する実行時タイプは CommandButton です。
実行時オブジェクトが既定のコンストラクタの呼び出しにより作成されたクラスの場合、基本モードを使用します。この場合、このフィールドにクラス名を入力します。そのクラスは、実行時タイプと実行時作成演算子の両方として使用されます。
- このオブジェクトはテキストを含みます。/ このオブジェクトはコントロールです。
これらの 2 つのチェック ボックスは、機能拡張エディタに追加情報を提供します。
一度パレット ボタンを追加すると、[実行時作成演算子] および [実行時タイプ] で指定した情報が、いくつかの他のフィールドと共に [ボタン設定ペイン] に表示されます。
- パレット タブ名
各パレットボタンは、VLE[パレット] タブ コンテナの特定のタブに配置されます。このコンボ ボックスは、このパレット ボタンが配置されるタブ名を指定します。コンボ ボックス ドロップダウンには、[グラフィックス] および [コントロール] が含まれます。これらは、新しく定義されたオブジェクトに最も適切な 2 つの既存のタブ名です。ドロップダウンには、この VLE 機能拡張で以前に定義されたパレット ボタンで既に使用された他のパレット タブ名も含まれます。ここでは任意のタブ名を入力でき、新しいタブに表示されるパレット ボタンはその名前になります。
- パレット グラフィック
これは、28x28 ピクセルの画像を含むファイルの URL になります。VLE 機能拡張エディタの実行中、このファイルが存在する場合は、画像の URL を表示するテキスト フィールドの左側に画像が表示されます。このパレット ボタンのアイコンを指定していない場合、既定のアイコンがここに表示されます。
- デザイン時作成演算子
このテキスト フィールドは、VLE が [レイアウト] ペインで表示するオブジェクトの作成に使用される作成演算子を指定します。
通常、これは実行時作成演算子と同じですが、実行時オブジェクトとは異なるデザイン時オブジェクトを指定することも可能です。たとえば、実行時オブジェクトが VLE を実行中に使用できない実行環境のいくつかのコンポーネントを要求する場合に便利です。
注意: 基本モードでは、このフィールドは表示されません。
- 表示目的で使用する名前
このテキスト フィールドは、VLE ヒント内、VLE レイアウト ツリー内、およびその他の場所内のオブジェクトの参照に使用される名前を指定します。
通常、この名前は実行時作成演算子と同じですが、異なる場合もあります。たとえば、VLE では、テーブルの行の実行時作成演算子は row-prototype ですが、表示する名前は、単に row です。
注意: 基本モードでは、このフィールドは表示されません。
- DesignTimeGraphic サブクラス名
このテキスト フィールドは、このパレット アイテムを表すために定義する DesignTimeGraphic サブクラスの名前を指定します。
標準規則では、DesignTimexxx のような名前を使用します。ここで、xxx は実行時作成演算子です。実行時作成演算子がクラス名でない場合、異なる名前にすることもできます。
注意: 基本モードでは、このフィールドは表示されません。
ボタン設定ペインの下にあるタブ コンテナを使用して、プロパティおよびイベント ハンドラを定義します。[プロパティ] タブには、パレット ボタンに対して定義されるプロパティの名前を表示するツリー コントロールが含まれます。
[イベント ハンドラ] タブには、パレット ボタンに対して定義されるイベント ハンドラ名のリストと同様のリストが含まれます。
パレット ボタンを最初に定義する際には、標準的なプロパティとイベント ハンドラが定義されています。プロパティを選択して [削除] ボタンをクリックすることにより、リストからプロパティを削除することができます。
VLE で既に定義されたプロパティ名の場合、そのプロパティに関する VLE の既定の情報がプロパティ設定ペインに表示されます。VLE で既に定義されていないプロパティ名の場合、VLE 機能拡張エディタはリフレクションを使用して、有効な既定の情報をプロパティ ペインに適用します。使用するプロパティ エディタおよび表示するヘルプ テキストなどの、他の情報を指定する必要があります。いずれの場合も、VLE 機能拡張エディタによりこれらのフィールドに初期設定されている情報を変更します。
- プロパティ名
Curl API におけるこのプロパティの名前。オプションのプロパティの場合、これはオプション名です。キーワード引数の場合、これはキーワードです。
- メタデータ カテゴリ
プロパティが表示されるプロパティ シートのグループを制御します。これは、ドロップダウンに VLE 内の標準プロパティ グループを含むコンボ ボックスですが、これ以外のグループ名を使用することも可能です。コンボ ボックスに新しいグループ名を入力することもできます。
- プロパティ エディタ
VLE プロパティ シート内でこのプロパティを編集するために使用されるプロパティ エディタの名前。これも、ドロップダウンに標準プロパティ エディタ名を含むコンボ ボックスです。[...] ボタンをクリックすると、ダイアログ ボックスが表示され、列挙型の値のプロパティのためにカスタマイズされたプロパティ エディタを作成する方法を提供します。
新しいプロパティの編集を開始すると、VLE 機能拡張エディタはリフレクションを使用してプロパティの型の特定を試み、このプロパティの型に対して適切な最初の プロパティ エディタ の値の選択を試みます。
VLE 機能拡張エディタがリフレクションを使用して十分な情報を取得できない場合、たとえば、宣言されたオプションの型が any の場合、既定のプロパティ エディタとして SimpleCodeEditor を選択します。
- ヘルプ テキスト
このプロパティが設定される場合に、VLE のプロパティ シートの下に表示される情報のテキスト。
- ソース コードの初期値
VLE で最初にオブジェクトが作成される際にそのプロパティを設定する場合、このテキスト フィールドは、プロパティの初期値を提供する Curl 式を指定します。このテキスト フィールドを空白のままにしておくと、エンド ユーザーがこのパレット ボタンを使用してオブジェクトを作成する場合、プロパティは最初に設定されません。
- 既定のソース コード
値がこのプロパティの既定の値と等しい Curl 式。つまり、設定されていない状態のこのプロパティの値です。このテキスト フィールドを空白にすることは、既定のソース コードとして null を指定することと同じです。
注意: このフィールドは、実際、キーワード コンストラクタ引数を定義する場合のみ有効です。フィールドは、プロパティがキーワード コンストラクタ引数でない場合は、無効です。
- 表示されるプロパティ名
このテキスト フィールドは、VLE プロパティ シートを描画する場合、プロパティの表示名を指定します。たとえば、プロパティ シートの名前列内に表示されます。通常、プロパティ名と同じですが、異なる場合もあります。
注意: 基本モードでは、このフィールドは表示されません。
- ソート キー
このテキスト フィールドは、プロパティが名前でソートされる場合に、VLE プロパティ シート上でのこのプロパティの位置を決定するために使用される文字列を指定します (プロパティ シートの [名前] 見出しをクリックします)。通常、これは表示さるプロパティ名と同じですが、プロパティのソート順は、ソート キーの Unicode 文字コードを使用する単純なソートで決定されるため、場合によっては、ソートにより想定する位置にプロパティが配置されるために、ソート キーを変更する必要のある場合があります。
注意: 基本モードでは、このフィールドは表示されません。
- このプロパティは、ローカル オプションです。
このラジオ ボタンは、プロパティがローカル オプションの場合にオンにします。
- このプロパティは、非ローカル オプションです。
このラジオ ボタンは、プロパティが非ローカル オプションの場合にオンにします。
- このプロパティは、キーワード コンストラクタ引数です。
このラジオ ボタンは、プロパティがオブジェクト作成式のキーワード引数の場合にオンにします。このラジオ ボタンを設定すると、次のようなコントロール グループが有効になり、この場合に必要な追加の情報が提供されます。
注意: 基本モードでは、次のようなコントロールはどれも表示されません。
- この引数は必須です。
このチェックボタンの設定はキーワード引数がオブジェクト作成式で必須引数であることを示します。この場合、VLE の [プロパティ値を元に戻す] コマンドは、このプロパティに対して無効になります。
このチェックボタンの既定の設定は、引数が要求とされていないことを示します。
- デザイン時にこのプロパティを設定します。
このチェックボタンを設定すると、実行時だけでなく、デザイン時 (レイアウトペインに表示されるオブジェクト内) だけでなく実行時にも、この引数を設定するよう VLE に指定します。このチェックボックスが設定される場合、デザイン時オブジェクトは、プロパティ名と同じ名前のセッターを持つ必要があります。VLE は、このセッターを使用して、デザイン時にこのプロパティの値を変更します。
このチェックボタンの既定の設定は、デザイン時に引数が設定されないことを示します。
- この引数はデータバインドになります。
このチェックボタンを設定すると、bind 式によってバインドされるデータに対してこのプロパティ名を使用できることをVLE に通知します。このチェックボックスが設定される場合、実行時オブジェクトは、プロパティ名と同じ名前のセッターを持つ必要があります。データバインド メカニズムは、このセッターを使用して、プロパティの値を変更します。このチェックボタンを設定すると、このプロパティに対して VLE の [データ バインディングの編集] コマンドを使用できます。
このチェックボタンの既定の設定は、引数がデータバインドでないことを示します。
- 既定値
データバインドである非オプション プロパティの場合、データバインド メカニズムが設定解除するプロパティを判断する際にプロパティに使用する値を指定する必要があります。このテキスト フィールドは、その値に対するソース コードを示します。
Copyright © 1998-2019 SCSK Corporation.
All rights reserved.
Curl, the Curl logo, Surge, and the Surge logo are trademarks of SCSK Corporation.
that are registered in the United States. Surge
Lab, the Surge Lab logo, and the Surge Lab Visual Layout Editor (VLE)
logo are trademarks of SCSK Corporation.