// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。

org.eclipse.search.ui.ISearchQuery はEclipseの検索フレームワークのコントローラになるクラスです。検索フレームワークの全体像はEclipse/プラグイン開発のTIPS集/Eclipseの検索画面を作成するにまとめてあるので、このインタフェースの各メソッドの意味だけまとめておきます。

***インタフェース [#c89ba63e]
 public interface ISearchQuery {
   IStatus run(IProgressMonitor monitor) throws OperationCanceledException;
   String getLabel();
   boolean canRerun();
   boolean canRunInBackground();
   ISearchResult getSearchResult();
 }


***各メソッド [#vb9bb1e4]
:IStatus run(IProgressMonitor monitor) throws OperationCanceledException;|検索処理を実行するメソッドです。このクラスで検索ビジネスロジックを実行し、getSearchResultで返却するためのISearchResult のインスタンスを構築します。

:String getLabel()|検索中ウィンドウの名称(左上のラベル)を設定します。

:boolean canRerun();|右クリックのショートカットメニューから「再検索」をできるようにするかどうか。

:boolean canRunInBackground();|trueにしておくと検索のバックグラウンド実行が可能。NewSearchUI.runQueryInBackground(new ISearchQuery()の実装クラス);などとすることができる。逆にfalseだと実行時エラーが発生する。falseの場合は、NewSearchUI.runQuery(new ISearchQuery()の実装クラス);やNewSearchUI.runQueryInForeground(new ProgressMonitorDialog(getShell()),new ISearchQuery()の実装クラス); を使う((第一引数はIRunnableContext何ですけど、何だっけ??プログレスバーか。))でもNewSearchUI.runQueryはすでにdeprecated。

:ISearchResult getSearchResult();|検索結果を取得するメソッド。これは検索中(上のrunね)にも呼ばれる。。 つまり検索しながら並行で結果が表示されるってこと。
 

**関連リンク [#o3caffd5]
-Eclipse/プラグイン開発のTIPS集/Eclipseの検索画面を作成する
-Eclipse/プラグイン開発のTIPS集/Eclipseの検索画面を作成する(cont.)


----
この記事は
#vote(おもしろかった,そうでもない)
#vote(おもしろかった[0],そうでもない[1])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS