我有一个RCP应用程序,我需要在模式“对话框”中显示GEF编辑器。但由于编辑器框架似乎与工作台窗口等的使用紧密相关,我需要找到一个原因来打开一个新的工作台窗口(具有自己的WorkbenchWindowAdvisor等),以便我可以在此工作台窗口中打开我的GEF编辑器。一旦我打开这个workbenchWindow,我就会将WorkbenchWindow的shell的样式设置为应用程序模式。
答案 0 :(得分:2)
我在一个客户项目中使用以下组件完成了这项工作:
openNewWindow(String type, ...)
的静态类。这是您打开新窗口的方法。 type参数指定所需的窗口类型。ILocalWorkbenchWindowAdvisor
和初始透视ID。IWorkbench.openWorkbenchWindow(perspectiveID, ...)
ApplicationWorkbenchAdvisor.createWorkbenchWindowAdvisor(...)
中,根据保存的ILocalWorkbenchWindowAdvisor
创建新顾问程序 - 返回的顾问程序基本上将所有postWindowCreate(...)
等委托给ILocalWorkbenchWindowAdvisor
中的相同方法。 ILocalWorkbenchWindowAdvisor
- 这是打开第一个窗口的情况 - 查找并使用“mainWindow”类型...... 它工作得很好,让项目的所有部分根据需要添加新窗口。
答案 1 :(得分:0)
使用命令“org.eclipse.ui.window.newWindow”打开一个新窗口。在WorkbenchWindowAdvisor.preWindowOpen()中,将IWorkbenchWindowConfigurer上的shell样式设置为应用程序模式。您还可以隐藏冷却栏,菜单和状态栏,使其看起来更像是一个对话框而不是一个窗口。