我在使用编辑器的应用程序中遇到了一些问题,我正在打开显示文件内容的编辑器。现在的问题是,当我在编辑器中打开文件并从后端更改文件内容时,现在当我用该文件打开一个新编辑器时,它显示的文件内容与首次打开的编辑器相同。理想情况下,如果资源在后端发生变化,则必须在编辑器中显示。但事实并非如此。
@IMP:我正在使用CTabItem Item作为编辑器的容器并在其中添加页面。
找到原因我认为这个陈述我正在使用创造问题:
fileStore = EFS.getLocalFileSystem().getStore(new Path(filePath));
可以看出它是单例类,它返回打开的实例而不是新实例。但理想情况下应该有资源更改事件,应该像eclipse一样重新加载文件。如果我实现IResourceChangeListener
那么我应该怎么做才能获得重新加载序列。
更新
IFileStore fileStore = null;
pageeditor = findEditorFromReference();
fileStore = EFS.getLocalFileSystem().getStore(
new Path(filePath));
fileStore = fileStore.getChild("");
//just assume reference to the code.
openEditor = new Editor();//just reference of working
EditorInput editorInput = new EditorInput(
fileStore, lineNo, filePath, title);
Integer pageIndexNo = pageeditor.getPageIndexNo(file
.getName());
if (pageIndexNo == -1) {
pageeditor.addPage(openEditor, editorInput, file
.getName(), file.getName());