*概要 [#j6c3495b] -ユーザが着目(フォーカス)している可視化インタフェース上のデータを,処理モジュールの入力として利用します -結果として,組み合わせて用いられている可視化インタフェースの表示も更新されます -連動要請は,可視化インタフェースから行います -連動実行は,処理モジュールに記述します *実装方法 [#o13435a3] &ref(opelink.png,,40%,); **連動要請(可視化インタフェース) [#dc01b4dd] -可視化インタフェース内で,マウスで選択されているデータにフォーカスを与える記述を書きます -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)| -以下の変数にはアクセス用のメソッドを利用してください |ある文字列のフォーカス(第1,第2)(フォーカスなしなら"")| |ある実数のフォーカス(第1,第2)(フォーカスなしなら0.0)| |ある整数のフォーカス(第1,第2)(フォーカスなしなら0)| -アクセス用メソッド |void setMainFocusString(String word)|フォーカスする文字列のセット(第1)| |void setSubFocusString(String word)|フォーカスする文字列のセット(第2)| |void setMainFocusDouble(double value)|フォーカスする実数のセット(第1)| |void setSubFocusDouble(double value)|フォーカスする実数のセット(第2)| |void setMainFocusInteger(int value)|フォーカスする整数のセット(第1)| |void setSubFocusInteger(int value)|フォーカスする整数のセット(第2)| |String getMainFocusString()|フォーカスする文字列の取得(第1)| |String getSubFocusString()|フォーカスする文字列の取得(第2)| |double getMainFocusDouble()|フォーカスする実数の取得(第1)| |double getSubFocusDouble()|フォーカスする実数の取得(第2)| |int getMainFocusInteger()|フォーカスする整数の取得(第1)| |int getSubFocusInteger()|フォーカスする整数の取得(第2)| -フォーカス情報の初期化用メソッド --上記のすべての変数がフォーカスなしの状態にセットされます. |void clear()|フォーカス情報の全初期化| 例)public void mouseMoved(MouseEvent me) { text.focus.mainFocusSegment = touchSegmentNumber; } -可視化インタフェース内で,スーパークラスで用意されている以下のメソッドを呼び出すことで,コンストラクタ内で focusTouchExecute または focusClickExecute を true に設定している他の処理モジュールの処理を再実行(selectedFirstTime() と miningOperations()のcase 4501: または,case 4502: ならびに,ペアとなっている可視化インタフェースの initializeData(),displayOperations()のcase 0: を実行)します. ---executeAllByTouch():可視化インタフェース内でマウスで対象に触れたときに,すべての処理モジュールの処理を実行 ---executeAllByClick():可視化インタフェース内でマウスでクリックしたときに,すべての処理モジュールの処理を実行 ---executeOthersByTouch():可視化インタフェース内でマウスで対象に触れたときに,他の処理モジュールの処理を実行 ---executeOthersByClick():可視化インタフェース内でマウスでクリックしたときに,他の処理モジュールの処理を実行 -[注意点]上記メソッドの呼び出しは,それぞれマウスで対象に触れたとき,またはマウスでクリックが行われたときに行って下さい. **連動実行(処理モジュール) [#o5da49af] -処理モジュールのコンストラクタ内で &color(red){focusTouchExecute または focusClickExecute の値を true}; にセットします.(セットしていない場合,連動しません) -TextData クラスの内部クラス Focus 型のインスタンス text.focus を利用します -可視化インタフェース内で,Focus 型の変数の内容に応じて,フォーカスされているデータを強調して表示する記述を,miningOperations()のcase 4501: または,case 4502:から呼び出されるところに書きます 例)if(inputKeywords == 0) { for(int i=0;i<keywordNumber;i++) if(text.focus.focusKeywords[i]) inputKeywordList[inputKeywords++] = i; } *フォーカス情報による処理連動の処理フロー [#t2f706ea] &ref(focus_stream.png,,45%,);