如何将Eclipse编辑器标记为脏,同时不忽略编辑器中的其他更改

时间:2014-06-18 10:58:16

标签: java eclipse eclipse-plugin

我在Eclipse TextEditor中添加了一个OutlinePage,当在此大纲中进行更改时,TextEditor必须标记为脏。 建议的方法是使用

firePropertyChange(IEditorPart.PROP_DIRTY)

但是,我必须自己管理脏标志并将其返回

isDirty()

但这意味着,如果更改了TextEditor的内容,则不会自动设置脏标志。我想添加一个IPartProperyChangeListener并自己更改标志。这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

另一种方法是使用ISaveablesSource,它允许您的编辑器拥有多个Saveable个对象。每个Saveable都有一个单独的脏标志。

如果您使用基于AbstractTextEditor或其子类之一的文本编辑器,则编辑器已实现ISaveablesSource并为主编辑器提供Saveable,因此您只需添加您的大纲数据Saveable