Eclipse RCP:新建编辑器向导
Eclipse RCP: New Editor Wizard
我对 Eclipse RCP 有一点经验 - 3.X 我通过 org.eclipse.ui.editors 扩展点创建了我自己的编辑器,为了拥有该编辑器的多个实例,我实现了一个新的编辑器向导如下所示;
IFile file = page1.createNewFile();
IWorkbenchWindow window = _workbench.getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
try {
IDE.openEditor(page, file, SimpleEditor.ID, true);
} catch (PartInitException e) {
e.printStackTrace();
}
我的问题是,我找到的唯一方法是创建一个新文件并将该文件与您唯一的编辑器 ID 相关联。我想要的是,我想将一些由用户定义的初始值解析为向导中的编辑器。但是在这个过程中我们真的没有实例化EditorPartclass
我怎样才能做到这一点?
IDE.openEditor
调用 returns 打开的 IEditorPart
- 这将是您的编辑器的一个实例 class 因此您可以:
IEditorPart part = IDE.openEditor(page, file, SimpleEditor.ID, true);
if (part instanceof SimpleEditor) {
SimpleEditor editor = (SimpleEditor)part;
// TODO call methods you define in the editor to set the parameters
}
或者您可以使用自定义 IEditorInput
并调用 IDE
openEditor(IWorkbenchPage page,
IEditorInput input, String editorId)
方法。编辑器的init
方法被赋予了你指定的IEditorInput
。
我对 Eclipse RCP 有一点经验 - 3.X 我通过 org.eclipse.ui.editors 扩展点创建了我自己的编辑器,为了拥有该编辑器的多个实例,我实现了一个新的编辑器向导如下所示;
IFile file = page1.createNewFile();
IWorkbenchWindow window = _workbench.getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
try {
IDE.openEditor(page, file, SimpleEditor.ID, true);
} catch (PartInitException e) {
e.printStackTrace();
}
我的问题是,我找到的唯一方法是创建一个新文件并将该文件与您唯一的编辑器 ID 相关联。我想要的是,我想将一些由用户定义的初始值解析为向导中的编辑器。但是在这个过程中我们真的没有实例化EditorPartclass
我怎样才能做到这一点?
IDE.openEditor
调用 returns 打开的 IEditorPart
- 这将是您的编辑器的一个实例 class 因此您可以:
IEditorPart part = IDE.openEditor(page, file, SimpleEditor.ID, true);
if (part instanceof SimpleEditor) {
SimpleEditor editor = (SimpleEditor)part;
// TODO call methods you define in the editor to set the parameters
}
或者您可以使用自定义 IEditorInput
并调用 IDE
openEditor(IWorkbenchPage page,
IEditorInput input, String editorId)
方法。编辑器的init
方法被赋予了你指定的IEditorInput
。