if (getBaseKarte() == null) {
return;
}
ChartImpl chart = (ChartImpl) getContext();
DocumentModel baseDocumentModel = getBaseKarte().getModel();
// すでに修正中の document があれば toFront するだけで帰る
if (chart.toFrontDocumentIfPresent(baseDocumentModel)) { return; }
// 削除フラグが設定されていたらenterしない
if (IInfoModel.STATUS_DELETE.equals(baseDocumentModel.getDocInfo().getStatus())){
return;
}
String docType = baseDocumentModel.getDocInfo().getDocType();
String dept = chart.getPatientVisit().getDepartment();
String deptCode = chart.getPatientVisit().getDepartmentCode();
Preferences prefs = Project.getPreferences();
NewKarteParams params = new NewKarteParams(Chart.NewKarteOption.BROWSER_MODIFY);
params.setDocType(docType);
params.setDepartment(dept);
params.setDepartmentCode(deptCode);
// このフラグはカルテを別ウインドウで編集するかどうか
params.setOpenFrame(prefs.getBoolean(Project.KARTE_PLACE_MODE, true));
DocumentModel editModel = chart.getKarteModelToEdit(baseDocumentModel);
KarteEditor editor = chart.createEditor();
editor.setModel(editModel);
editor.setEditable(true);
editor.setModify(true);
int mode = docType.equals(IInfoModel.DOCTYPE_KARTE) ? KarteEditor.DOUBLE_MODE : KarteEditor.SINGLE_MODE;