1.1 --- a/src/java-tests/isac/gui/calcheadviews/TestCalcheadView.java Thu Aug 11 15:45:42 2005 +0200
1.2 +++ b/src/java-tests/isac/gui/calcheadviews/TestCalcheadView.java Thu Aug 11 18:00:48 2005 +0200
1.3 @@ -9,6 +9,7 @@
1.4 import isac.util.formulae.CalcHeadSimpleID;
1.5 import isac.util.formulae.Formula;
1.6 import isac.util.formulae.KEStoreID;
1.7 +import isac.util.formulae.Match;
1.8 import isac.util.formulae.Model;
1.9 import isac.util.formulae.ModelItem;
1.10 import isac.util.formulae.ModelItemList;
1.11 @@ -198,6 +199,7 @@
1.12 Locale l = Locale.getDefault();
1.13 chp_ = new CalcHeadPanel(l, ch_);
1.14
1.15 +
1.16 buildCalcHeadPanelButtons();
1.17
1.18 frame_.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2.1 --- a/src/java/isac/gui/calcheadviews/CalcHeadView.java Thu Aug 11 15:45:42 2005 +0200
2.2 +++ b/src/java/isac/gui/calcheadviews/CalcHeadView.java Thu Aug 11 18:00:48 2005 +0200
2.3 @@ -117,7 +117,7 @@
2.4
2.5 reset();
2.6 head_line_panel_.fillHeadLinePanelFromFormula(ch.getHeadLine());
2.7 - model_panel_.fillTextFieldsFromModel(ch.getModel());
2.8 + model_panel_.fillTextFieldsFromModel(ch.getModel(), true);
2.9 specification_panel_.fillTextFieldsFromSpecification(ch
2.10 .getSpecification());
2.11 }
3.1 --- a/src/java/isac/gui/calcheadviews/ModelPanel.java Thu Aug 11 15:45:42 2005 +0200
3.2 +++ b/src/java/isac/gui/calcheadviews/ModelPanel.java Thu Aug 11 18:00:48 2005 +0200
3.3 @@ -2,6 +2,7 @@
3.4
3.5 import isac.gui.util.SpringUtilities;
3.6 import isac.util.formulae.CalcHead;
3.7 +import isac.util.formulae.Match;
3.8 import isac.util.formulae.Model;
3.9 import isac.util.formulae.ModelItem;
3.10 import isac.util.formulae.ModelItemList;
3.11 @@ -156,10 +157,10 @@
3.12 public void caretUpdate(CaretEvent e) {
3.13 ModelItemsPanel panel = (ModelItemsPanel) ((JTextField) e.getSource())
3.14 .getParent();
3.15 -
3.16 +
3.17 // last field isn't empty->create new field
3.18 if (((JTextField) panel.getLastField()).getText().length() != 0) {
3.19 - addFieldToPanel(panel);
3.20 + addFieldToPanel(panel);
3.21
3.22 SpringUtilities.makeCompactGrid(panel, panel.getNumberOfFields(),
3.23 1, // rows, cols
3.24 @@ -223,7 +224,8 @@
3.25 * @return true, when all items are either correct or superflous
3.26 */
3.27
3.28 - private boolean checkAndFormatModelItems(Iterator it, ModelItemsPanel panel) {
3.29 + private boolean checkAndFormatModelItems(Iterator it,
3.30 + ModelItemsPanel panel, boolean editable) {
3.31
3.32 boolean correct = true;
3.33 while (it.hasNext()) {
3.34 @@ -235,9 +237,13 @@
3.35 txt.removeCaretListener(this);
3.36 txt.setText(chi.toSMLString());
3.37 txt.addCaretListener(this);
3.38 + if (txt.isEditable()) {
3.39 + txt.setEditable(editable);
3.40 + }
3.41 } else if (o instanceof String) {
3.42 String s = (String) o;
3.43 txt.setText(txt.getText() + s);
3.44 + txt.setEditable(editable);
3.45 }
3.46 if (it.hasNext())
3.47 this.addFieldToPanel(panel);
3.48 @@ -324,7 +330,7 @@
3.49 label_relate_ = new JLabel(res_bundle_.getString("relate"));
3.50 }
3.51
3.52 - public void fillTextFieldsFromModel(Model model) {
3.53 + public void fillTextFieldsFromModel(Model model, boolean editable) {
3.54
3.55 panel_given_.clearTextFields();
3.56 panel_where_.clearTextFields();
3.57 @@ -334,16 +340,16 @@
3.58 boolean correct = true;
3.59
3.60 correct = this.checkAndFormatModelItems(model.getGiven().getItems()
3.61 - .iterator(), panel_given_);
3.62 + .iterator(), panel_given_, editable);
3.63 this.colorizeLabel(correct, label_given_);
3.64 correct = this.checkAndFormatModelItems(model.getFind().getItems()
3.65 - .iterator(), panel_find_);
3.66 + .iterator(), panel_find_, editable);
3.67 this.colorizeLabel(correct, label_find_);
3.68 correct = this.checkAndFormatModelItems(model.getWhere().getItems()
3.69 - .iterator(), panel_where_);
3.70 + .iterator(), panel_where_, editable);
3.71 this.colorizeLabel(correct, label_where_);
3.72 correct = this.checkAndFormatModelItems(model.getRelate().getItems()
3.73 - .iterator(), panel_relate_);
3.74 + .iterator(), panel_relate_, editable);
3.75 this.colorizeLabel(correct, label_relate_);
3.76
3.77 }
3.78 @@ -469,4 +475,9 @@
3.79 }
3.80 return true;
3.81 }
3.82 +
3.83 + public void fillTextFieldsFromMatch(Match match) {
3.84 + fillTextFieldsFromModel(match.getModel(), false);
3.85 + }
3.86 +
3.87 }