Eclipse プラグインからのビューをプログラムで表示する
-
05-07-2019 - |
質問
ビューを持つ Eclipse RCP アプリケーションへのプラグインがあります。RCP アプリケーションでイベントが発生した後、プラグインがインスタンス化され、そのメソッドが呼び出されてプラグインのモデルが設定されますが、[ビューの表示...] メニューに行かずにビューを表示する方法が見つかりません。 。
ワークベンチシングルトンにこれを処理できる何かがあると思いますが、その方法はどこにも見つかりません。
解決
おそらくこれを探しています:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
他のヒント
コマンドのハンドラーから呼び出された場合
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
私が知っているように、より良いでしょう。
ビューを開いて背景にプッシュした後、ビューを前面に表示する必要があることがわかりました。 activateメソッドがトリックを行います。
PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.activate(workbenchPartToActivate);
注:workbenchPartToActivateは IWorkbenchPart
のインスタンスです。
e4 では、EPartService がパーツを開く役割を果たします。これは、e3 ViewPart を開くためにも使用できます。IEclipseContext を通じて次のクラスをインスタンス化し、openPart-Method を呼び出すと、Eclipse の内部ブラウザ ビューが表示されるはずです。
public class Opener {
@Inject
EPartService partService;
public void openPart() {
MPart part = partService.createPart("org.eclipse.ui.browser.view");
part.setLabel("Browser");
partService.showPart(part, PartState.ACTIVATE);
}
}
ここ これが Application.e4xmi とどのように連携するかの例を見つけることができます。
所属していません StackOverflow