added possibility to initialize ModelPanel from Match
authormkoschuc
Thu, 11 Aug 2005 18:00:48 +0200
changeset 2839da01ea06338b
parent 2838 c35e34720718
child 2840 e1c1724d70bb
added possibility to initialize ModelPanel from Match
src/java-tests/isac/gui/calcheadviews/TestCalcheadView.java
src/java/isac/gui/calcheadviews/CalcHeadView.java
src/java/isac/gui/calcheadviews/ModelPanel.java
     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  }