- 追加された行はこの色です。
- 削除された行はこの色です。
*概要 [#idc005f9]
-異なるパネルにセットされている可視化インタフェースの表示を変更します
-特に,ユーザが着目(フォーカス)している可視化インタフェース上のデータを,他の可視化インタフェース上でも強調表示します
-連動要請と連動実行は,それぞれ別の可視化インタフェースで行います
-連動要請には,<フォーカス情報を利用した処理実行>と共通のデータ型(Focus 型)を利用します
*実装方法 [#n6984dc1]
&ref(displayop.png,,35%,);
**連動要請(可視化インタフェース) [#h8a168af]
-可視化インタフェース内で,マウスで選択されているデータにフォーカスを与える記述を書きます
-TextData クラスの内部クラス Focus 型のインスタンス text.focus を利用します
-Focus 型
|変数名|説明|
|boolean focusKeywords[];|各キーワードのフォーカスのon, off|
|boolean focusSegments[];|各セグメントのフォーカスのon, off|
|boolean focusSentences[];|各文のフォーカスのon, off|
|int mainFocusKeyword, subFocusKeyword;|あるキーワードのフォーカス(第1,第2)(数値はキーワードID,フォーカスなしなら-1)|
|int mainFocusSentence, subFocusSentence;|ある文のフォーカス(第1,第2)(数値は文番号,フォーカスなしなら-1)|
|int mainFocusSegment, subFocusSegment;|あるセグメントのフォーカス(第1,第2)(数値はセグメント番号,フォーカスなしなら-1)|
|String mainFocusString, subFocusString;|ある文字列のフォーカス(第1,第2)(フォーカスなしなら"")|
|double mainFocusDouble, subFocusDouble;|ある実数のフォーカス(第1,第2)(フォーカスなしなら0.0)|
|int mainFocusInteger, subFocusInteger;|ある整数のフォーカス(第1,第2)(フォーカスなしなら0)|
例)public void mouseMoved(MouseEvent me)
{
text.focus.mainFocusSegment = touchSegmentNumber;
}
-可視化インタフェース内で,スーパークラスで用意されている以下のメソッドを呼び出すことで,他の可視化モジュールの表示を更新( displayOperations()のcase 4501:(Touchの場合)または, case 4502:(Clickの場合) を実行)します
---repaintOthersByTouch():可視化インタフェース内でマウスで対象に触れたときに,他の可視化インタフェースの表示を更新
---repaintOthersByClick():可視化インタフェース内でマウスでクリックしたときに,他の可視化インタフェースの表示を更新
-[注意点]上記メソッドの呼び出しは,それぞれマウスで対象に触れたとき,またはマウスでクリックが行われたときに行って下さい.
**連動実行(可視化インタフェース) [#m668232b]
-TextData クラスの内部クラス Focus 型のインスタンス text.focus を利用します
-可視化インタフェース内で,Focus 型の変数の内容に応じて,フォーカスされているデータを強調して表示する記述を,displayOperations()のcase 4501: または,case 4502:から呼び出されるところに書きます
例)void drawForLinkage(Graphics2D g2)
{
if(text.focus.mainFocusSegment >= 0) {
g2.setColor(Color.red); drawNodeName(g2, text.focus.mainFocusSegment);
}
}
&ref(rendou.png,,50%,);