Prototype > Rogue Wave Views Studio を使った BGO の作成 > プロトタイプの作成と使用 > グラフィックの振る舞いを定義する
 
グラフィックの振る舞いを定義する
プロトタイプのグラフィックの振る舞いを、グループの詳細情報の「グラフィックの振る舞い」ページを使用して定義します (Figure 3.3を参照してください)。グラフィックの振る舞いは、アトリビュートの変更がどのようにプロトタイプの視覚的側面に影響するかを決定します。各アトリビュートに振る舞いを追加することができます。以下は、値が変更されるたびに行われる指示です。
図 3.3    グループの詳細情報の「グラフィックの振る舞い」タブ
振る舞いを追加するには、次の処理を行います。
1. リストのアトリビュートを選択します。
2. 「コントロール」、「表示」、「その他」メニューから、追加する振る舞いを選択します。
*振る舞いのコントロールにより、一定の条件下であるアトリビュートが他のアトリビュートの変更をトリガーできるようになります。たとえば、温度が任意の閾値を上回る場合に温度計を赤で表示させたい場合、ゲージの前景値に赤を割り当てる温度アトリビュート上に条件アクセサーを追加します。
*振る舞いの表示により、回転、ズーム、可視性あるいはオブジェクトのアニメーションなどのオブジェクトのグラフィック・プロパティーを変化させることができます。
さらに、グループあるいはプロトタイプのグラフィック外観が、1 つのアトリビュートの値が変更したときに完全に調整されるように、アトリビュートが他のアトリビュートにその変更を通知させるようにすることができます。「コントロール」メニューの通知の振る舞いで、それを監視している他のアトリビュートに振る舞いを実行するように伝え、「その他」メニューの監視の振る舞いで、あるアトリビュートが他のアトリビュートを監視していることを示すことができます。
すべての定義済み振る舞いの効果については、定義済みアクセサー を参照してください。
また、オンライン・ヘルプからこのページにアクセスすることもできます。メニュー・バーから「ヘルプ」を選択します。「コントロール」、「表示」、「その他」メニューから振る舞いを選択すると、振る舞いの効果を説明するヘルプがパネルの左ペインに表示されます。
「グラフィックの振る舞い」タブで「編集」メニューを使用する
「グラフィックの振る舞い」タブでは、次の処理が行えます。
*計算の中間ステータスで使用される中間アトリビュートあるいは非表示アトリビュートを追加します。
1. 「編集」>「新規アトリビュート」を選択し、アトリビュートを追加します。
新しい名前の付いていないアトリビュートが表示されます。
2. その名前およびタイプを、「インターフェース」タブで説明したように設定します。
3. アトリビュートが選択されているとき、1 つ以上の振る舞いをこれに追加することができます。
*切り取り/コピー/貼り付けの振る舞い。アトリビュート・ツリーの最初の行を選択してから「編集」>「コピー」あるいは「編集」>「切り取り」を選択して、アトリビュートおよびその振る舞い全体をコピーしたり、切り取ることができます。振る舞いの行を選択して、「編集」>「コピー」、「編集」>「切り取り」を選択して単一の振る舞いをコピーしたり、切り取ることもできます。まずアトリビュートを挿入する行を選択して、「編集」>「貼り付け」を選択すると、アトリビュート・クリップボードの内容を貼り付けることができます。
*選択したアトリビュート、振る舞い、パラメーターを削除する場合は、「編集」>「削除」を選択します。
*振る舞いを上下に移動します。振る舞いは、上から下への順番でトリガーされます。トリガーされる順番を決定することができます。
アクセサー・パラメーターの設定
クラスによっては、振る舞いを完全に定義するために追加パラメーターが必要となります。振る舞いパラメーターは、アトリビュート・ツリーの右のマトリックスで編集します。
グループの詳細情報は、コンボ・ボックスあるいはダイアログ・ボックスのパラメーター値を簡単に選択するだけでプロトタイプに複雑な振る舞いを定義できるようになっています。
各マトリックスの行はパラメーターに対応しています。
*左の列はパラメーター値を含んでいます。
*右の列はパラメーター・レベルを含んでいます。
振る舞いが追加されると、パラメーター・マトリックスはデフォルトあるいは適切な値を入力する必要がある空白の値で初期化されます。
パラメーター値を編集するには、マトリックスの対応するアイテムを 2 回クリックします。これで値アイテムの上に、コンボ・ボックスあるいはテキスト・フィールドのいずれかの編集フィールドが作成されます (Figure 3.4 を参照)。コンボ・ボックスは、このパラメーターに関連する値で初期化されます。
図 3.4    コンボ・ボックスとデフォルト値の例
パラメーターには、以下の表で示すように 4 つのタイプがあります。
振る舞いパラメーター
パラメーター・
タイプ
説明
記号
リテラル/明示
値は明示的に指定されなくてはならない文字列あるいは列挙型タイプです。
(e)
入力
値はアクセサーが評価されるときに問い合わせが行われます。これらの値は、定数 (文字列あるいは数値)、他のアトリビュートへの参照、あるいは定数および参照の組み合わせの式となります。
出力
値は振る舞いが評価されるときに変更されます。(changeValue メソッドへの呼び出しが行われます。)したがって、値は、プロトタイプの既存のアトリビュートを参照する名前になります。
オブジェクト/
ノード
パラメーターの値は、既存ノードの名前である必要があります。いくつかのアクセサーは、パラメーターとして特定の種類のオブジェクトのみを受け取ります。たとえば、表示の振る舞いはグラフィック・ノードの上でのみ機能します。
入力パラメーターの場合、編集フィールドはアクセサーのツリーならびに 2 つの特殊アイテムをツリーの始めに含むコンボ・ボックスです。
*[Immediate value] - このアイテムが選択されていると、編集フィールドはパラメーターの即値を編集するために設定されます。値タイプを決定できる場合、値セレクター (コンボ・ボックスまたはリソース・セレクター) が作成されます。即値の直接入力もできます。値が数値またはブール型値でない場合、値は二重引用符で囲むことができます (たとえば、色を "red" として入力します)。値は式にすることもできます。
*[All types / Matching types] - このアイテムは 2 つの値の間をトグルします。[All types] は、そのタイプが予想タイプと異なるものも含め、すべてのアクセサーを一覧表示します。[Matching types] は、その値について、予想タイプと一致するアクセサーのみを一覧表示します。通常は、編集フィールドは前のフィールドから取得できる情報を使用して初期化されることが多いため、パラメーター値の編集は上から下へと行う方が効率的です。
入力パラメーター式には、次を含めることができます。
*定数:数値あるいは文字列 (引用符の間に置く)
*変数:プロトタイプ値あるいはノード・アトリビュート
*算術演算子および括弧: (+, -, *, **, /, %, ==, !=, >, >=, <, <=, &&, ||)
*定義済み関数:abs、acos、asin、atan、ceil、cos、exp、floor、log、rand、rint、round、sin、sqrt、tan。(関数の意味については、標準 C/C++ ライブラリー・ユーザー・マニュアルを参照してください。)
メモ: C/C++ の場合とは異なり、rand は整数引数を取ります。非 0 引数は、乱数を発生させるときにシードとして乱数ジェネレーターが使用します。そうでない場合、rand(0) は乱数ジェネレーターが最後に初期化されたときに始まる乱数シーケンスの次の整数を返します。
振る舞いの通知には、単にアトリビュートの値を設定する代わりに、それらの監視アトリビュートに値を伝達するという二次作用があります。この場合、監視アトリビュートの振る舞いは遂次評価されます。そのような振る舞い (トリガー・アクセサー) は出力パラメーターの上に外向き矢印を表示し、接続された値は内向き矢印を表示します。
いくつかの振る舞いは、パラメーターの可変数を持つことができます。これらのアクセサーは、パラメーター列の最後の行、「<<アイテムを追加するためにクリックしてください>>」で識別されます。グループの詳細情報の編集マトリックスでこれらの振舞い用に新しい行を作成するには、最後のパラメーターの値フィールドで Enter キーを押すか、または示されているフィールドをクリックします。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.