KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jimm > datavision > gui > cmd > ReportStartupScriptEditCommand


1 package jimm.datavision.gui.cmd;
2 import jimm.datavision.Report;
3 import jimm.datavision.Formula;
4 import jimm.util.I18N;
5
6 /**
7  * A command for changing the {@link Report}'s startup {@link Formula}'s code
8  * text.
9  *
10  * @author Jim Menard, <a HREF="mailto:jimm@io.com">jimm@io.com</a>
11  */

12 public class ReportStartupScriptEditCommand extends CommandAdapter {
13
14 protected Report report;
15 protected String JavaDoc newExpression;
16 protected String JavaDoc oldExpression;
17 protected String JavaDoc oldLanguage;
18 protected String JavaDoc newLanguage;
19
20 public ReportStartupScriptEditCommand(Report report, String JavaDoc expression,
21                       String JavaDoc language)
22 {
23     super(I18N.get("ReportStartupScriptEditCommand.name"));
24     this.report = report;
25
26     Formula f = report.getStartFormula();
27
28     newExpression = expression;
29     oldExpression = f == null ? null : f.getExpression();
30
31     newLanguage = language;
32     oldLanguage = f == null ? null : f.getLanguage();
33 }
34
35 public void perform() {
36     Formula f = null;
37     if (oldExpression == null) {
38     f = new Formula(null, report, "", "");
39     report.setStartFormula(f);
40     }
41     else
42     f = report.getStartFormula();
43
44     f.setEditableExpression(newExpression);
45     f.setLanguage(newLanguage);
46 }
47
48 public void undo() {
49     if (oldExpression == null)
50     report.setStartFormula(null);
51     else {
52     Formula f = report.getStartFormula();
53     f.setEditableExpression(oldExpression);
54     f.setLanguage(oldLanguage);
55     }
56 }
57
58 }
59
Popular Tags