我在Eclipse TextEditor中添加了一个OutlinePage,当在此大纲中进行更改时,TextEditor必须标记为脏。 建议的方法是使用
firePropertyChange(IEditorPart.PROP_DIRTY)
但是,我必须自己管理脏标志并将其返回
isDirty()
但这意味着,如果更改了TextEditor的内容,则不会自动设置脏标志。我想添加一个IPartProperyChangeListener并自己更改标志。这是最好的方法吗?
答案 0 :(得分:1)
另一种方法是使用ISaveablesSource
,它允许您的编辑器拥有多个Saveable
个对象。每个Saveable都有一个单独的脏标志。
如果您使用基于AbstractTextEditor
或其子类之一的文本编辑器,则编辑器已实现ISaveablesSource
并为主编辑器提供Saveable
,因此您只需添加您的大纲数据Saveable
。