1 19 20 package org.apache.tools.ant.module.wizards.shortcut; 21 22 import java.awt.Component ; 23 import java.util.HashSet ; 24 import java.util.Set ; 25 import javax.swing.event.ChangeEvent ; 26 import javax.swing.event.ChangeListener ; 27 import org.openide.WizardDescriptor; 28 import org.openide.util.HelpCtx; 29 import org.openide.util.NbBundle; 30 31 final class IntroPanel extends javax.swing.JPanel { 32 33 private IntroWizardPanel wiz; 34 35 36 public IntroPanel (IntroWizardPanel wiz) { 37 this.wiz = wiz; 38 initComponents (); 39 initAccessibility(); 40 setName (NbBundle.getMessage (IntroPanel.class, "IP_LBL_cfg_basic_opts")); 42 } 43 44 46 @Override 47 public void requestFocus () { 48 super.requestFocus (); 49 customizeCheck.requestFocus (); 50 } 51 52 53 private void initAccessibility () { 54 this.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroPanel.class, "IP_TEXT_select_how_to_install_shortcut")); 55 menuCheck.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroPanel.class, "ACS_IP_LBL_add_menu_item")); 56 toolbarCheck.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroPanel.class, "ACS_IP_LBL_add_toolbar_button")); 57 keyboardCheck.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroPanel.class, "ACS_IP_LBL_add_kbd_shortcut")); 58 customizeCheck.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroPanel.class, "ACS_IP_LBL_cust_code_checkbox")); 59 } 60 61 66 private void initComponents() { 68 java.awt.GridBagConstraints gridBagConstraints; 69 70 customizeCheck = new javax.swing.JCheckBox (); 71 menuCheck = new javax.swing.JCheckBox (); 72 toolbarCheck = new javax.swing.JCheckBox (); 73 keyboardCheck = new javax.swing.JCheckBox (); 74 hintsArea = new javax.swing.JTextArea (); 75 76 setLayout(new java.awt.GridBagLayout ()); 77 78 org.openide.awt.Mnemonics.setLocalizedText(customizeCheck, NbBundle.getMessage(IntroPanel.class, "IP_LBL_cust_code_checkbox")); gridBagConstraints = new java.awt.GridBagConstraints (); 80 gridBagConstraints.gridx = 0; 81 gridBagConstraints.gridy = 4; 82 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 83 gridBagConstraints.weighty = 1.0; 84 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 85 add(customizeCheck, gridBagConstraints); 86 87 org.openide.awt.Mnemonics.setLocalizedText(menuCheck, NbBundle.getMessage(IntroPanel.class, "IP_LBL_add_menu_item")); menuCheck.addActionListener(new java.awt.event.ActionListener () { 89 public void actionPerformed(java.awt.event.ActionEvent evt) { 90 someCheckboxClicked(evt); 91 } 92 }); 93 gridBagConstraints = new java.awt.GridBagConstraints (); 94 gridBagConstraints.gridx = 0; 95 gridBagConstraints.gridy = 1; 96 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 97 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 98 add(menuCheck, gridBagConstraints); 99 100 org.openide.awt.Mnemonics.setLocalizedText(toolbarCheck, NbBundle.getMessage(IntroPanel.class, "IP_LBL_add_toolbar_button")); toolbarCheck.addActionListener(new java.awt.event.ActionListener () { 102 public void actionPerformed(java.awt.event.ActionEvent evt) { 103 someCheckboxClicked(evt); 104 } 105 }); 106 gridBagConstraints = new java.awt.GridBagConstraints (); 107 gridBagConstraints.gridx = 0; 108 gridBagConstraints.gridy = 2; 109 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 110 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 111 add(toolbarCheck, gridBagConstraints); 112 113 org.openide.awt.Mnemonics.setLocalizedText(keyboardCheck, NbBundle.getMessage(IntroPanel.class, "IP_LBL_add_kbd_shortcut")); keyboardCheck.addActionListener(new java.awt.event.ActionListener () { 115 public void actionPerformed(java.awt.event.ActionEvent evt) { 116 someCheckboxClicked(evt); 117 } 118 }); 119 gridBagConstraints = new java.awt.GridBagConstraints (); 120 gridBagConstraints.gridx = 0; 121 gridBagConstraints.gridy = 3; 122 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 123 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 124 add(keyboardCheck, gridBagConstraints); 125 126 hintsArea.setEditable(false); 127 hintsArea.setFont(javax.swing.UIManager.getFont ("Label.font")); 128 hintsArea.setText(NbBundle.getMessage(IntroPanel.class, "IP_TEXT_select_how_to_install_shortcut")); hintsArea.setBackground(new java.awt.Color (204, 204, 204)); 130 hintsArea.setLineWrap(true); 131 hintsArea.setForeground(new java.awt.Color (102, 102, 153)); 132 hintsArea.setWrapStyleWord(true); 133 hintsArea.setDisabledTextColor(javax.swing.UIManager.getColor ("Label.foreground")); 134 hintsArea.setOpaque(false); 135 hintsArea.setEnabled(false); 136 gridBagConstraints = new java.awt.GridBagConstraints (); 137 gridBagConstraints.gridx = 0; 138 gridBagConstraints.gridy = 0; 139 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 140 gridBagConstraints.weightx = 1.0; 141 add(hintsArea, gridBagConstraints); 142 } 144 private void someCheckboxClicked (java.awt.event.ActionEvent evt) { wiz.fireChangeEvent (); 146 } 148 private javax.swing.JCheckBox customizeCheck; 150 private javax.swing.JTextArea hintsArea; 151 private javax.swing.JCheckBox keyboardCheck; 152 private javax.swing.JCheckBox menuCheck; 153 private javax.swing.JCheckBox toolbarCheck; 154 156 public static class IntroWizardPanel implements WizardDescriptor.Panel { 157 158 private IntroPanel panel = null; 159 private ShortcutWizard wiz = null; 160 161 public void initialize(ShortcutWizard wiz) { 162 this.wiz = wiz; 163 } 164 165 public Component getComponent () { 166 return getPanel(); 167 } 168 169 private IntroPanel getPanel() { 170 if (panel == null) { 171 panel = new IntroPanel(this); 172 } 173 return panel; 174 } 175 176 public HelpCtx getHelp () { 177 return HelpCtx.DEFAULT_HELP; 178 } 179 180 public boolean isValid () { 181 return getPanel().menuCheck.isSelected () || 182 getPanel().toolbarCheck.isSelected () || 183 getPanel().keyboardCheck.isSelected (); 184 } 185 186 private final Set <ChangeListener > listeners = new HashSet <ChangeListener >(1); 187 public final void addChangeListener (ChangeListener l) { 188 synchronized (listeners) { 189 listeners.add (l); 190 } 191 } 192 public final void removeChangeListener (ChangeListener l) { 193 synchronized (listeners) { 194 listeners.remove (l); 195 } 196 } 197 protected final void fireChangeEvent () { 198 storeSettings(wiz); 202 ChangeListener [] ls; 203 synchronized (listeners) { 204 ls = listeners.toArray(new ChangeListener [listeners.size()]); 205 } 206 ChangeEvent ev = new ChangeEvent (this); 207 for (ChangeListener l : ls) { 208 l.stateChanged (ev); 209 } 210 } 211 212 public void readSettings (Object settings) { 213 } 215 public void storeSettings (Object settings) { 216 WizardDescriptor wiz = (WizardDescriptor) settings; 217 wiz.putProperty(ShortcutWizard.PROP_SHOW_CUST, getPanel().customizeCheck.isSelected() ? Boolean.TRUE : Boolean.FALSE); 218 wiz.putProperty(ShortcutWizard.PROP_SHOW_MENU, getPanel().menuCheck.isSelected() ? Boolean.TRUE : Boolean.FALSE); 219 wiz.putProperty(ShortcutWizard.PROP_SHOW_TOOL, getPanel().toolbarCheck.isSelected() ? Boolean.TRUE : Boolean.FALSE); 220 wiz.putProperty(ShortcutWizard.PROP_SHOW_KEYB, getPanel().keyboardCheck.isSelected() ? Boolean.TRUE : Boolean.FALSE); 221 } 222 } 223 224 } 225 | Popular Tags |