00001 import java.util.Vector;
00002
00003 public class DiagnosisEditor extends Widget
00004 {
00005 public int active;
00006 public Vector diagnoses;
00007 public ActionButton action;
00008
00009 public static final int SAVE = 1;
00010 public static final int SAVEADD = 2;
00011 public static final int CANCEL = 3;
00012
00013 public TextBox name, description;
00014
00015 boolean done = false;
00016 boolean more = false;
00017
00018 public DiagnosisEditor(int active, Vector diagnoses, String prefix, Form form)
00019 {
00020 super(prefix, form);
00021 this.active = active;
00022 this.diagnoses = diagnoses;
00023 name = new TextBox(0,40, n("name"), form);
00024 description = new TextBox(10, 40, n("description"), form);
00025 action = new ActionButton(n("action"), form);
00026
00027 addChild(name);
00028 addChild(description);
00029 addChild(action);
00030 }
00031
00032 public void save()
00033 {
00034 Diagnosis d;
00035 if (active < 0)
00036 {
00037 d = new Diagnosis();
00038 diagnoses.add(d);
00039 }
00040 else
00041 {
00042 d = (Diagnosis) diagnoses.get(active);
00043 }
00044
00045 d.name = name.text;
00046 d.description = description.text;
00047 }
00048
00049 public void loadDefaults()
00050 {
00051 if (active < 0) return;
00052 Diagnosis load = (Diagnosis) diagnoses.get(active);
00053 name.text = load.name;
00054 description.text = load.description;
00055 }
00056
00057 public void loadValues()
00058 {
00059 super.loadValues();
00060
00061 switch(action.action)
00062 {
00063 case SAVE:
00064 done = true;
00065 save();
00066 break;
00067 case CANCEL:
00068 done = true;
00069 break;
00070 case SAVEADD:
00071 more = true;
00072 save();
00073 break;
00074 }
00075 }
00076
00077 public void display(boolean hidden)
00078 {
00079 if (hidden)
00080 {
00081 name.display(true);
00082 description.display(true);
00083 action.display(true);
00084 return;
00085 }
00086 p(
00087 "\n"+
00088 "<h4>Diagnosis</h4>\n"+
00089 "<table>\n"+
00090 "<tr>\n"+
00091 " <td valign=top>Name:</td>\n"+
00092 " <td>"); name.display(); p("</td>\n"+
00093 "</tr>\n"+
00094 "<tr>\n"+
00095 " <td valign=top>Description:</td>\n"+
00096 " <td>"); description.display(); p("</td>\n"+
00097 "</tr>\n"+
00098 "<tr>\n"+
00099 " <td> </td>\n"+
00100 " <td>\n"+
00101 "");
00102 action.display("Save", SAVE);
00103 action.display("Save and Add Another", SAVEADD);
00104 action.display("Cancel", CANCEL); p("\n"+
00105 " </td>\n"+
00106 "</tr>\n"+
00107 "</table>\n"+
00108 "");
00109 }
00110 };