2D Graphics > Rogue Wave Views Studio でプロトタイプを作成する > プロトタイプの変更
 
プロトタイプの変更
温度計に外見を似せるため、作成したプロトタイプを変更します。
1. メイン・ウィンドウの「ウィンドウ」メニューから、myproto を選択し、Prototype バッファー・ウィンドウを前面に表示します。
2. パレット・パネルの上側ぺインで、ツリーを下へスクロールし、Graphics をクリックします。
3. 下側ぺインに表示される「グラフィック」パレットから、塗りつぶし楕円 (IlvFilledEllipse) を myproto.ivp ウィンドウへドラッグします。
4. 楕円の形状とサイズを変更します。楕円をゲージの下に置き、2 つのグラフィック・オブジェクトの組み合わせて温度計に見えるようにします。
5. 「グループの詳細情報」パネルの「グラフィックの振る舞い」タブをクリックして、対応するノートブック・ページを前面に表示します。
6. 現在、選択されているアトリビュートがないことを確認します。必要ならば、「編集」>「解除」を選択するか、またはマウスの中央ボタンで選択されているアトリビュートをクリックして選択を解除します。
7. 「コントロール」>「複数」を選択します。これによって、「Action」という新しい中間アトリビュートが作成されます。
8. Action というラベルをクリックしてから color とタイプして、このアトリビュートの名前を設定します。Enter キーを押します。
9. 最初の Attribute パラメーターの右側列を 2 度クリックしてから、[All Types] を選択します。コンボ・ボックスのメニューから「gauge」>「foreground」を選択します。代わりに直接、gauge.foreground と入力して、Enter キーを押すこともできます。
10. 「<<アイテムを追加するためにクリックしてください>>」というラベルが付いた 2 番目のパラメーターを 2 度クリックします。[All Types] を選んで、コンボ・ボックスのメニューから IlvFilledEllipse > foreground を選択します。
ゲージと楕円両方の前景色を設定された色に対応させる、color 中間アトリビュートがこれで追加できました。
gauge.foreground アトリビュートの代わりに color アクセサーを使うには、temperature.Condition アクセサーの編集が必要です。
1. [グラフィックの振る舞い] タブのツリーで、temperature > Condition アクセサーを、 > threshold ? gauge.foreground =... 行の左にある [+] ボタンのクリックにより展開します。
gauge.foreground パラメーターがページ右側の行列内に表示され、編集できるようになります。
2. このパラメーターを 2 度クリックするとコンボ・ボックスが開くので、color を選択します。
3. これによって以前のアクセサー定義が、温度を変更すると楕円とゲージ両方の前景色が変わる新しい定義に置き換わります。
4. メイン・ウィンドウの「ファイル」メニューから「保存」を選択して、プロトタイプを保存します。
「インターフェース」ページに戻って温度値を変更してプロトタイプの新しい振る舞いをテストし、この条件付き振る舞いが楕円とゲージの両方に影響することを確認できます。
最後に、これらの温度アトリビュートを簡略化します。この温度は常に内部の gauge.value アトリビュートに等しいので、タイプを変更できます。単純な Int 値とする代わりに、この温度アトリビュートに直接 gauge.value を参照させることができます。これを行うには、次の手順に従います。
1. 「グループの詳細情報」の「グラフィックの振る舞い」タブに移動します。
2. temperature アトリビュートの右側にある、タイプを示すラベル Int を 2 度クリックします。コンボ・ボックスが表示されます。
3. コンボ・ボックスのメニューで、「リファレンス」>「gauge」>「value」と選択します。
Int タイプが ^gauge.value に置き換えられます。これは、温度の変更が直接 gauge.value サブ・アトリビュートの設定に、同等の値で反映されることを意味します。
4. アトリビュート・ツリーの gauge.value=temperature 行を選択します。次に、「編集」>「削除」を選びます。
これは、冗長な割り当てを削除する効果があります。

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