Eclipse插件卸载事件处理程序(用于删除透视图)

tvmytwxo  于 2022-11-04  发布在  Eclipse
关注(0)|答案(1)|浏览(159)

我们正在为RCP应用程序构建一个插件,它提供了一个透视图。
问题是,当插件被卸载时,透视图仍然是一个可用的选择。这显然是预期的行为(参见herehere)。
但是,我们的要求是
1.在插件卸载后,透视图不应可见
1.如果安装了插件,应该可以直接在透视图中启动应用程序(例如,通过-Dperspective=<my-perspective>runtime option
实现(1)的解决方案是在应用程序关闭时从应用程序模型中删除透视图(例如使用@EventTopic.UILifeCycle.APP_SHUTDOWN_STARTED),并在每个应用程序启动时通过插件再次添加透视图(@EventTopic.UILifeCycle.APP_STARTUP_COMPLETE)。
这样做的问题是,当从-Dperspective开始时,Eclipse试图在APP_STARTUP_COMPLETE * 之前 * 切换到新的透视图,也就是说,透视图在那时不可用。这导致平台退回到其他透视图。
我可以做些什么来同时实现(1)和(2)?

mnemlml8

mnemlml81#

我想我想我要找的是指定“P2接触点指令建议”,AidoKidoAa.“P2动作”。
这里有一些官方文档,虽然很稀疏。这里有一个更有帮助的blog post,它附带了一个example implementation,说明了如果一个特性被安装(卸载),如何调用一个特定的处理程序。
这里的another nice article将更多地介绍P2接触点和一般P2操作。

相关问题