1 package jimm.datavision.gui; 2 import jimm.datavision.*; 3 import jimm.datavision.gui.cmd.FormulaEditCommand; 4 import jimm.util.I18N; 5 import java.util.Observable ; 6 import java.util.Observer ; 7 8 15 public class FormulaWin extends ScriptEditorWin implements Observer { 16 17 protected Formula formula; 18 19 26 public FormulaWin(Designer designer, Report report, Formula formula) { 27 super(designer, report, formula.getEditableExpression(), 28 I18N.get("FormulaWin.title_prefix") + ' ' + formula.getName(), 29 "FormulaWin.error_unchanged", "FormulaWin.error_title"); 30 this.formula = formula; 31 formula.addObserver(this); 32 setLanguage(formula.getLanguage()); 33 } 34 35 protected void finalize() throws Throwable { 36 formula.deleteObserver(this); 37 super.finalize(); 38 } 39 40 public void update(Observable o, Object arg) { 41 setTitle(I18N.get("FormulaWin.title_prefix") + ' ' + formula.getName()); 42 codeField.setText(formula.getEditableExpression()); 43 } 44 45 52 public void save(String text) { 53 formula.deleteObserver(this); 54 command = new FormulaEditCommand(formula, text, getLanguage()); 55 } 56 57 } 58 | Popular Tags |