KickJava   Java API By Example, From Geeks To Geeks.

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


1 package jimm.datavision.gui.cmd;
2 import jimm.datavision.*;
3 import jimm.datavision.gui.SectionWidget;
4 import jimm.util.I18N;
5
6 /**
7  * Handles suppression proc edits.
8  *
9  * @author Jim Menard, <a HREF="mailto:jimm@io.com">jimm@io.com</a>
10  */

11 public class SuppressionProcEditCommand extends CommandAdapter {
12
13 protected SectionWidget sectionWidget;
14 protected boolean oldHidden;
15 protected boolean newHidden;
16 protected String JavaDoc oldText;
17 protected String JavaDoc newText;
18 protected String JavaDoc oldLanguage;
19 protected String JavaDoc newLanguage;
20
21 public SuppressionProcEditCommand(SectionWidget sectionWidget, boolean hidden,
22                   String JavaDoc formulaText, String JavaDoc language)
23 {
24     super(I18N.get("SuppressionProcEditCommand.name"));
25     this.sectionWidget = sectionWidget;
26
27     SuppressionProc sp = sectionWidget.getSection().getSuppressionProc();
28     newHidden = hidden;
29     oldHidden = sp.isHidden();
30
31     Formula f = sp.getFormula();
32
33     newText = formulaText;
34     oldText = f.getExpression();
35
36     newLanguage = language;
37     oldLanguage = f.getLanguage();
38 }
39
40 public void perform() {
41     SuppressionProc sp = sectionWidget.getSection().getSuppressionProc();
42     sp.setHidden(newHidden);
43
44     Formula f = sp.getFormula();
45     f.setExpression(newText);
46     f.setLanguage(newLanguage);
47
48     // Possible background color change
49
sectionWidget.getFieldPanel().setHidden(newHidden);
50 }
51
52 public void undo() {
53     SuppressionProc sp = sectionWidget.getSection().getSuppressionProc();
54     sp.setHidden(oldHidden);
55
56     Formula f = sp.getFormula();
57     f.setExpression(oldText);
58     f.setLanguage(oldLanguage);
59
60     // Possible background color change
61
sectionWidget.getFieldPanel().setHidden(oldHidden);
62 }
63
64 }
65
Popular Tags