巧妙設置編輯爲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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章