ブロードキャスト的にセレクションさせる方法

「ブロードキャスト的にセレクションさせる方法」の編集履歴(バックアップ)一覧はこちら

ブロードキャスト的にセレクションさせる方法」(2010/10/08 (金) 20:59:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

インタフェース ISetSelectionTarget を使う package org.eclipse.ui.part; import org.eclipse.jface.viewers.ISelection; public interface ISetSelectionTarget { public void selectReveal(ISelection selection); } 例えば、org.eclipse.ui.wizards.newresource.BasicNewResourceWizard では こんな感じで使われている public static void selectAndReveal(IResource resource, IWorkbenchWindow window) { ・・・ IWorkbenchPage page = window.getActivePage(); List parts = new ArrayList(); IWorkbenchPartReference refs[] = page.getViewReferences(); for (int i = 0; i < refs.length; i++) { IWorkbenchPart part = refs[i].getPart(false); if (part != null) { parts.add(part); } } refs = page.getEditorReferences(); for (int i = 0; i < refs.length; i++) { if (refs[i].getPart(false) != null) { parts.add(refs[i].getPart(false)); } } final ISelection selection = new StructuredSelection(resource); Iterator itr = parts.iterator(); while (itr.hasNext()) { IWorkbenchPart part = (IWorkbenchPart) itr.next(); ISetSelectionTarget target = null; if (part instanceof ISetSelectionTarget) { target = (ISetSelectionTarget) part; } else { target = (ISetSelectionTarget) part .getAdapter(ISetSelectionTarget.class); } if (target != null) { // select and reveal resource final ISetSelectionTarget finalTarget = target; window.getShell().getDisplay().asyncExec(new Runnable() { public void run() { finalTarget.selectReveal(selection); } }); } } } ちなみに、ISetSelectionTarget を実装しているクラスは CommonNavigator , ( ProjectExplorer ) , PackageExplorerPart ぐらい。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。