我正在编写Eclipse RCP应用程序。 我左边有一个View,右边有一个编辑器。视图是一个菜单。单击菜单中的按钮,编辑器应打开并且视图应该更改。单击后编辑器将打开,但视图不会更改。
我必须关闭菜单视图并打开一个新菜单吗?如果是,怎么样?
如果我在page.openEditor(..)之前写了page.showView(ID_of_my_view_class.ID),它会在显示的控制台旁边打开一个带有日志的新选项卡。
当前代码:
public Object execute(ExecutionEvent event) throws ExecutionException {
this.log.info(this.getClass().getSimpleName() + " called");
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
IWorkbenchPage page = window.getActivePage();
KuenstlerEditorInput input = new KuenstlerEditorInput(new Kuenstler());
try {
page.openEditor(input, KuenstlerEditor.ID);
} catch (PartInitException e) {
MessageDialog.openError(window.getShell(), "Error",
"Editor f¸r K¸nstler konnte nicht geˆffnet werden: "
+ e.getMessage());
this.log.error(e);
}
return null;
}
当我启动该程序时,它看起来像这样:http://i.imgur.com/KXHAe.png 当我执行page.showView(the_ID.ID)命令时,它看起来像这样:http://i.imgur.com/BZ8y1.png
视图应显示在左侧,而不是包含所有按钮的菜单。
答案 0 :(得分:1)
使用org.eclipse.ui.perspectives
扩展点创建透视图,然后提供IPerspectiveFactory
的实现,这将允许您定义您创建的命名视图的位置。
答案 1 :(得分:0)
创建或获取项目的对象,然后执行以下操作: (仅适用于导航器视图) project.refreshLocal(IResource.DEPTH_INFINITE,null);