32

ビューを持つEclipseRCPアプリケーションへのプラグインがあります。RCPアプリケーションでイベントが発生すると、プラグインがインスタンス化され、そのメソッドが呼び出されてプラグインのモデルにデータが入力されますが、[ビューの表示...]メニューに移動しないとビューを表示する方法が見つかりません。 。

これを処理できる作業台シングルトンに何かがあると思いますが、どこにあるのかわかりません。

4

4 に答える 4

46

あなたはおそらくこれを探しています:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
于 2008-10-05T14:44:33.003 に答える
20

コマンドのハンドラから呼び出された場合

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);

私が知っているように、より良いでしょう。

于 2009-03-23T20:44:00.040 に答える
4

ビューを開いてバックグラウンドにプッシュした後、ビューを前面に表示する必要があることに気付きました。activate メソッドがそのトリックを行います。

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

注: workbenchPartToActivate は のインスタンスですIWorkbenchPart

于 2009-05-20T15:37:10.893 に答える
0

e4 では、EPartService がパーツを開く役割を果たします。これは、e3 ViewParts を開くためにも使用できます。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 とどのように連携するかの例を見つけることができます。

于 2014-03-24T14:33:05.887 に答える