質問

ビューを持つ 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 とどのように連携するかの例を見つけることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top