如何访问兼容层 IViewPart (e4) MPart
How to access an compatibility layer IViewPart’s (e4) MPart
我正在将现有的 Eclipse 插件移植到 e4。从非移植 IViewPart
我想访问视图对应的 e4 MPart
但无法使以下内容可靠地工作:
EPartService partService = (EPartService) PlatformUI.getWorkbench().getService(EPartService.class);
MPart part = partService.findPart(getSite().getId());
置于createPartControlComposite)
我有时会收到 IllegalStateException
(“应用程序没有活动的 window”)。
避免使用来自 workbench 的部分服务,因为这仅在存在活动 window 时有效。
改为使用当前 window 的零件服务(可能未激活)。您可以使用以下方法在 IViewPart 中获取此内容:
EPartService partService = getSite().getService(EPartService.class);
MPart part = partService.findPart(getSite().getId());
我正在将现有的 Eclipse 插件移植到 e4。从非移植 IViewPart
我想访问视图对应的 e4 MPart
但无法使以下内容可靠地工作:
EPartService partService = (EPartService) PlatformUI.getWorkbench().getService(EPartService.class);
MPart part = partService.findPart(getSite().getId());
置于createPartControlComposite)
我有时会收到 IllegalStateException
(“应用程序没有活动的 window”)。
避免使用来自 workbench 的部分服务,因为这仅在存在活动 window 时有效。
改为使用当前 window 的零件服务(可能未激活)。您可以使用以下方法在 IViewPart 中获取此内容:
EPartService partService = getSite().getService(EPartService.class);
MPart part = partService.findPart(getSite().getId());