1 package jimm.datavision.gui; 2 import jimm.datavision.*; 3 import jimm.datavision.gui.cmd.SuppressionProcEditCommand; 4 import jimm.util.I18N; 5 import java.awt.BorderLayout ; 6 import java.awt.Color ; 7 import java.awt.event.ActionEvent ; 8 import javax.swing.*; 9 10 18 public class SuppressionProcWin extends ScriptEditorWin { 19 20 protected static final int CHECK_BOX_INDENT_WIDTH = 32; 21 22 protected SectionWidget sectionWidget; 23 protected JCheckBox hideCheckBox; 24 25 31 public SuppressionProcWin(Designer designer, SectionWidget sectionWidget) { 32 super(designer, sectionWidget.getSection().getReport(), 33 sectionWidget.getSection().getSuppressionProc().getFormula() 34 .getEditableExpression(), 35 I18N.get("SuppressionProcWin.title"), 36 "SuppressionProcWin.error_unchanged", 37 "SuppressionProcWin.error_title"); 38 39 hideCheckBox.setSelected(sectionWidget.getSection().getSuppressionProc() 41 .isHidden()); 42 enableEditBox(); 43 44 this.sectionWidget = sectionWidget; 45 setLanguage(sectionWidget.getSection().getSuppressionProc().getFormula() 46 .getLanguage()); 47 } 48 49 protected JComponent northPanel(Report report) { 50 hideCheckBox = new JCheckBox(I18N.get("SuppressionProcWin.always_hide")); 51 hideCheckBox.addActionListener(this); 52 53 Box box = Box.createHorizontalBox(); 54 box.add(Box.createHorizontalStrut(CHECK_BOX_INDENT_WIDTH)); 55 box.add(hideCheckBox); 56 57 JPanel northPanel = new JPanel(); 58 northPanel.add(box, BorderLayout.WEST); 59 northPanel.add(super.northPanel(report), BorderLayout.EAST); 60 61 return northPanel; 62 } 63 64 71 public void save(String text) { 72 command = new SuppressionProcEditCommand(sectionWidget, 73 hideCheckBox.isSelected(), text, 74 getLanguage()); 75 } 76 77 81 public void actionPerformed(ActionEvent e) { 82 String cmd = e.getActionCommand(); 83 if (I18N.get("SuppressionProcWin.always_hide").equals(cmd)) 84 enableEditBox(); 85 else 86 super.actionPerformed(e); 87 } 88 89 90 94 protected void enableEditBox() { 95 boolean hide = hideCheckBox.isSelected(); 96 codeField.setEditable(!hide); 97 codeField.setBackground(hide ? Color.lightGray : Color.white); 98 } 99 100 } 101 | Popular Tags |