0
私は既存のEclipseプラグインをe4に移植しています。非移植IViewPart
内から私は、ビューの対応E4 MPart
にアクセスしたいと思いますが、確実に動作するには、以下のことができませんでした:createPartControlComposite)
に置か互換レイヤへのアクセス方法IViewPart(e4)MPart
EPartService partService = (EPartService) PlatformUI.getWorkbench().getService(EPartService.class);
MPart part = partService.findPart(getSite().getId());
を私は時々(「アプリケーションがありませんIllegalStateException
を取得アクティブウィンドウ ")。
これは私の必要としているようです。しかし、私はe4の内部動作をより良く理解するための迅速なフォローアップの質問を許可しています:(同じIDを持つ) 'IViewPart'の複数のインスタンスが許可されている場合、上記**保証されています** 'IViewPart' /' IViewSite'を呼び出しますか? –
いいえ。セカンダリIDも使用する場合は、同じIDを持つ複数のビューパーツしか作成できません。 e4がセカンダリIDで何をするのか分かりません。 –
説明をありがとう。幸いにも、私のビューの複数のコピーは許可されていないので、これは私にとって問題ではありません - 別々の "単一"ビューが存在するかもしれない複数のウィンドウが可能です。しかし、AFAICTでは、これらは別々の 'EPartService'を取得するので、' findPart'はウィンドウの正しいビューを見つけるはずです。 –