« PatientSearchImpl の複数行選択対応 | トップページ | DiagnosisInspector 作成 »

2011年1月17日 (月)

SaveDialog の改造

オリジナルでは,カルテ保存の時,保存するためのダイアログが2回出る。考えてみたらムダなので,1回ですむようにした。すっかり2回リターンを打つ癖が付いてしまっていたが,2〜3日で慣れた。

Savedialogold

Savedialognew

修正前:ダイアログが2回出る 修正後:2つを1つにまとめた

 

client/SaveDialog2.java

client/EditorFrame.java

public void close() {    
  if (mode == EditorMode.EDITOR) {
    if (editor.isDirty()) {
      // キャンセル,破棄の処理は editor でまとめてすることにした
      editor.save();
    } else {
      stop();
    }
  } else {
    stop();
  }
}

client/KarteEditor.java

private SaveParams getSaveParams(boolean joinAreaNetwork) {
 :
  SaveDialog2 sd = new SaveDialog2(parent);
 :
 :
public void save() {
 :
  int selection = params.getSelection();
  if (selection == SaveDialog2.SAVE || selection == SaveDialog2.TMP_SAVE) {
    save2(params);
  }
  else if (selection == SaveDialog2.DISPOSE) {
    // save 前に SAVE_DONE を送って dispose する
    boundSupport.firePropertyChange(KarteEditor.SAVE_DONE, false, true);
  }
 :

client/SaveParams.java

// 保存,一時保存,破棄,キャンセル
private int selection;
public int getSelection() {
  return selection;
}
public void setSelection(int selection) {
  this.selection = selection;
}

« PatientSearchImpl の複数行選択対応 | トップページ | DiagnosisInspector 作成 »

OpenDolphin」カテゴリの記事