我向 Eclipse TextEditor 添加了一个 OutlinePage,当在此 Outline 中进行更改时,必须将 TextEditor 标记为脏。 建议的方法是使用
firePropertyChange(IEditorPart.PROP_DIRTY)
但是,我也必须自己管理脏标志并将其返回
isDirty()
但这意味着,如果文本编辑器的内容发生更改,则不会自动设置脏标志。我想过添加一个 IPartProperyChangeListener 并自己更改标志。这是最好的方法吗?
最佳答案
另一种方法是使用ISaveablesSource
,它允许您的编辑器拥有多个Saveable
对象。每个 Saveable 都有一个单独的脏标志。
如果您使用的是基于 AbstractTextEditor
或其子类之一的文本编辑器,则该编辑器已经实现了 ISaveablesSource
并提供了 Saveable
主编辑器,因此您只需为大纲数据添加一个Saveable
。
关于java - 如何将 Eclipse 编辑器标记为脏,同时不忽略编辑器中所做的其他更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283808/