巧妙设置编辑为dirty

一。XXX extends DiagramDocumentEditor
private boolean dirty = false; //是否被修改
public boolean isDirty() {

return super.isDirty() || dirty;
}
/**
* @generated NOT
*/
public void setDirty(boolean dirty) {

if (isDirty() != dirty) {

this.dirty = dirty;

firePropertyChange(IEditorPart.PROP_DIRTY);
}
}

二。extends FormEditor 多页编辑器
private boolean dirty = false; // 是否修改的标识
@Override
public boolean isDirty() {
return dirty;
}
public void setDirty(boolean dirty) {
if (this.dirty != dirty) {
this.dirty = dirty;
editorDirtyStateChanged();
}
}
三。多页编辑器的其中一页extends FormPage
private boolean dirty = false; // 是否被修改
@Override
public boolean isDirty() {
return dirty;
}
public void setDirty(boolean dirty) {
this.dirty = dirty;
}
public void doSave(IProgressMonitor monitor) {
父编辑器[主编辑器]profileEditor.setDirty(false);

//当某一个属性改变时,需调用此方法
public void setDirtyAfterModify() {
profileEditor父编辑器[主编辑器].setDirty(true);
setDirty(true);
}

四。最普通的编辑器 extends EditorPart
@Override
public boolean isDirty() {
return dirty;
}

public void setDirty() {
firePropertyChange(IEditorPart.PROP_DIRTY);
}
doSave(){
dirty = false;
}
发布了57 篇原创文章 · 获赞 0 · 访问量 2600
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章