我在当前的E4世界中有一个标准的E3编辑器:
public class ProjectEditor extends EditorPart {
// implement
}
像这样注册:
<extension point="org.eclipse.ui.editors">
<editor
class="com.qualitype.gpm.project.rcp.ProjectEditor"
icon="icons/obj16/project.gif"
id="com.qualitype.gpm.project.rcp.ProjectEditor"
name="%view.project" >
</editor>
</extension>
我希望该编辑器始终开放。但是扩展点中缺少类似于视图的参数。
此外,对于视图,这将起作用:
public class ProjectPerspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
final IViewLayout projectLayout = layout.getViewLayout(ProjectEditor.ID);
projectLayout.setCloseable(false);
}
}
但当然不适合编辑。由于编辑器和视图在技术上是相同的(工作台部件),因此应该是可能的。
如何阻止用户关闭我的编辑器?
答案 0 :(得分:0)
编辑在概念上并不意味着可以关闭。它们在特定资源(或其他输入)上打开,并且意图在用户意愿关闭。
如果您需要不可关闭的部分,请使用视图。您可以让视图实现ISaveable以使其参与保存生命周期。
答案 1 :(得分:0)
您可以删除关闭的&#39; X&#39;在编辑器选项卡上清除MPart
可关闭标志。您可以在编辑器的init
方法中执行此操作:
@Override
public void init(IEditorSite site, IEditorInput editorInput) throws PartInitException
{
super.init(site, editorInput);
MPart part = getSite().getService(MPart.class);
part.setCloseable(false);
但&#39;文件&gt;关闭&#39;动作仍然可以关闭编辑器,因为它没有检查可关闭的标志,也没有不可关闭的编辑器的概念。