我有无头(CLI)RCP应用程序,通常处理命令行选项,但我偶尔也需要显示部分gui。 有没有办法在PlatformUI / Workbench没有运行时独立打开一个视图部分(分离很好)?
WorkbenchPage.showView(我通常用来打开视图的那个)通常会抛出"工作台没有运行"异常,当然是无头模式。
有没有合理的黑客做到这一点?我尝试使用事件循环运行RCP工作台 - 问题在于它阻止了执行并且看起来太重了。
我知道我可以创建新的嵌入视图小部件的Shell,但是我错过了正确视图附带的工具栏/菜单。
答案 0 :(得分:2)
所有UI代码完全依赖于运行的工作台。工作台必须以PlatformUI.createandRunWorkbench
启动。因此,如果不这样做,就无法显示UI。
简单的SWT只有Shell似乎是最简单的方法。
答案 1 :(得分:1)
排除RCP的概念,仅适用于SWT / JFace组件。
构建一些模拟PlatformUI.createandRunWorkbench
的工厂方法。相反,他们将创建Shell
并自己运行事件循环。
对我而言,如果应用程序规模很大,这似乎有点过分。它不是企业 - 那么我想你可以没有工作台框架。但是要注意悬空资源。