Changeset 32767 in osm for applications/editors/josm/plugins/smed/src/panels/PanelMain.java
- Timestamp:
- 2016-08-04T02:27:43+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed/src/panels/PanelMain.java
r30295 r32767 3 3 import static org.openstreetmap.josm.tools.I18n.tr; 4 4 5 import java.awt.*; 6 import java.awt.event.*; 7 import javax.swing.*; 5 import java.awt.Color; 6 import java.awt.Insets; 7 import java.awt.Rectangle; 8 import java.awt.event.ActionEvent; 9 import java.awt.event.ActionListener; 10 import java.awt.event.FocusEvent; 11 import java.awt.event.FocusListener; 12 13 import javax.swing.BorderFactory; 14 import javax.swing.ButtonGroup; 15 import javax.swing.ImageIcon; 16 import javax.swing.JButton; 17 import javax.swing.JLabel; 18 import javax.swing.JPanel; 19 import javax.swing.JRadioButton; 20 import javax.swing.JTextField; 21 import javax.swing.SwingConstants; 8 22 9 23 import messages.Messages; 24 import seamarks.SeaMark; 10 25 import smed.SmedAction; 11 import seamarks.SeaMark;12 26 13 27 public class PanelMain extends JPanel { 14 28 15 private SmedAction dlg; 16 public SeaMark mark = null; 17 public PanelChan panelChan = null; 18 public PanelHaz panelHaz = null; 19 public PanelSpec panelSpec = null; 20 public PanelLights panelLights = null; 21 public PanelMore panelMore = null; 22 public PanelTop panelTop = null; 23 public PanelFog panelFog = null; 24 public PanelRadar panelRadar = null; 25 public PanelLit panelLit = null; 26 public JLabel nameLabel = null; 27 public JTextField nameBox = null; 28 public static JTextField messageBar = null; 29 private FocusListener flName = new FocusListener() { 30 public void focusLost(java.awt.event.FocusEvent e) { 31 mark.setName(nameBox.getText()); 32 } 33 public void focusGained(java.awt.event.FocusEvent e) { 34 } 35 }; 36 public JButton saveButton = null; 37 private ActionListener alSave = new ActionListener() { 38 public void actionPerformed(java.awt.event.ActionEvent e) { 39 mark.saveSign(dlg.node); 40 } 41 }; 42 public JButton moreButton = null; 43 private ActionListener alMore = new ActionListener() { 44 public void actionPerformed(java.awt.event.ActionEvent e) { 45 if (panelMore.isVisible()) { 46 moreButton.setText(">>"); 47 panelMore.setVisible(false); 48 topButton.setEnabled(true); 49 radButton.setEnabled(true); 50 fogButton.setEnabled(true); 51 litButton.setEnabled(true); 52 } else { 53 panelMore.setVisible(true); 54 moreButton.setText("<<"); 55 miscButtons.clearSelection(); 56 panelTop.setVisible(false); 57 topButton.setBorderPainted(false); 58 topButton.setEnabled(false); 59 panelRadar.setVisible(false); 60 radButton.setBorderPainted(false); 61 radButton.setEnabled(false); 62 panelFog.setVisible(false); 63 fogButton.setBorderPainted(false); 64 fogButton.setEnabled(false); 65 panelLit.setVisible(false); 66 litButton.setBorderPainted(false); 67 litButton.setEnabled(false); 68 } 69 } 70 }; 71 public ButtonGroup typeButtons = null; 72 public JRadioButton chanButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/ChanButton.png"))); 73 public JRadioButton hazButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/HazButton.png"))); 74 public JRadioButton specButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SpecButton.png"))); 75 public JRadioButton lightsButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightsButton.png"))); 76 private ActionListener alType = new ActionListener() { 77 public void actionPerformed(java.awt.event.ActionEvent e) { 78 if (chanButton.isSelected()) { 79 chanButton.setBorderPainted(true); 80 panelChan.syncPanel(); 81 panelChan.setVisible(true); 82 } else { 83 chanButton.setBorderPainted(false); 84 panelChan.setVisible(false); 85 } 86 if (hazButton.isSelected()) { 87 hazButton.setBorderPainted(true); 88 panelHaz.syncPanel(); 89 panelHaz.setVisible(true); 90 } else { 91 hazButton.setBorderPainted(false); 92 panelHaz.setVisible(false); 93 } 94 if (specButton.isSelected()) { 95 specButton.setBorderPainted(true); 96 panelSpec.syncPanel(); 97 panelSpec.setVisible(true); 98 } else { 99 specButton.setBorderPainted(false); 100 panelSpec.setVisible(false); 101 } 102 if (lightsButton.isSelected()) { 103 lightsButton.setBorderPainted(true); 104 panelLights.syncPanel(); 105 panelLights.setVisible(true); 106 } else { 107 lightsButton.setBorderPainted(false); 108 panelLights.setVisible(false); 109 } 110 } 111 }; 112 private ButtonGroup miscButtons = null; 113 public JRadioButton topButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TopButton.png"))); 114 public JRadioButton fogButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/FogButton.png"))); 115 public JRadioButton radButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/RadarButton.png"))); 116 public JRadioButton litButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LitButton.png"))); 117 private ActionListener alMisc = new ActionListener() { 118 public void actionPerformed(java.awt.event.ActionEvent e) { 119 if (topButton.isSelected()) { 120 moreButton.setText(">>"); 121 panelMore.setVisible(false); 122 topButton.setBorderPainted(true); 123 panelTop.setVisible(true); 124 panelTop.syncPanel(); 125 } else { 126 topButton.setBorderPainted(false); 127 panelTop.setVisible(false); 128 } 129 if (fogButton.isSelected()) { 130 moreButton.setText(">>"); 131 panelMore.setVisible(false); 132 fogButton.setBorderPainted(true); 133 panelFog.setVisible(true); 134 panelFog.syncPanel(); 135 } else { 136 fogButton.setBorderPainted(false); 137 panelFog.setVisible(false); 138 } 139 if (radButton.isSelected()) { 140 moreButton.setText(">>"); 141 panelMore.setVisible(false); 142 radButton.setBorderPainted(true); 143 panelRadar.setVisible(true); 144 panelRadar.syncPanel(); 145 } else { 146 radButton.setBorderPainted(false); 147 panelRadar.setVisible(false); 148 } 149 if (litButton.isSelected()) { 150 moreButton.setText(">>"); 151 panelMore.setVisible(false); 152 litButton.setBorderPainted(true); 153 panelLit.setVisible(true); 154 panelLit.syncPanel(); 155 } else { 156 litButton.setBorderPainted(false); 157 panelLit.setVisible(false); 158 } 159 } 160 }; 161 162 public PanelMain(SmedAction dia) { 163 164 dlg = dia; 165 setLayout(null); 166 mark = new SeaMark(dlg); 167 mark.setBounds(new Rectangle(235, 0, 165, 160)); 168 add(mark); 169 panelChan = new PanelChan(dlg); 170 panelChan.setBounds(new Rectangle(65, 0, 170, 160)); 171 panelChan.setVisible(false); 172 add(panelChan); 173 panelHaz = new PanelHaz(dlg); 174 panelHaz.setBounds(new Rectangle(65, 0, 170, 160)); 175 panelHaz.setVisible(false); 176 add(panelHaz); 177 panelSpec = new PanelSpec(dlg); 178 panelSpec.setBounds(new Rectangle(65, 0, 170, 160)); 179 panelSpec.setVisible(false); 180 add(panelSpec); 181 panelLights = new PanelLights(dlg); 182 panelLights.setBounds(new Rectangle(65, 0, 170, 160)); 183 panelLights.setVisible(false); 184 add(panelLights); 185 panelMore = new PanelMore(dlg); 186 panelMore.setBounds(new Rectangle(40, 165, 360, 160)); 187 panelMore.setVisible(false); 188 add(panelMore); 189 panelTop = new PanelTop(dlg); 190 panelTop.setBounds(new Rectangle(40, 165, 360, 160)); 191 panelTop.setVisible(false); 192 add(panelTop); 193 panelFog = new PanelFog(dlg); 194 panelFog.setBounds(new Rectangle(40, 165, 360, 160)); 195 panelFog.setVisible(false); 196 add(panelFog); 197 panelRadar = new PanelRadar(dlg); 198 panelRadar.setBounds(new Rectangle(40, 165, 360, 160)); 199 panelRadar.setVisible(false); 200 add(panelRadar); 201 panelLit = new PanelLit(dlg); 202 panelLit.setBounds(new Rectangle(40, 165, 360, 160)); 203 panelLit.setVisible(false); 204 add(panelLit); 205 206 add(getButton(chanButton, 0, 0, 62, 40, "Chan"), null); 207 add(getButton(hazButton, 0, 40, 62, 40, "Haz"), null); 208 add(getButton(specButton, 0, 80, 62, 40, "Spec"), null); 209 add(getButton(lightsButton, 0, 120, 62, 40, "Lights"), null); 210 typeButtons = new ButtonGroup(); 211 typeButtons.add(chanButton); 212 typeButtons.add(hazButton); 213 typeButtons.add(specButton); 214 typeButtons.add(lightsButton); 215 chanButton.addActionListener(alType); 216 hazButton.addActionListener(alType); 217 specButton.addActionListener(alType); 218 lightsButton.addActionListener(alType); 219 220 add(getButton(topButton, 0, 185, 34, 32, "Topmarks")); 221 add(getButton(fogButton, 0, 220, 34, 32, "FogSignals")); 222 add(getButton(radButton, 0, 255, 34, 32, "Radar")); 223 add(getButton(litButton, 0, 290, 34, 32, "Lit")); 224 miscButtons = new ButtonGroup(); 225 miscButtons.add(topButton); 226 miscButtons.add(fogButton); 227 miscButtons.add(radButton); 228 miscButtons.add(litButton); 229 topButton.addActionListener(alMisc); 230 fogButton.addActionListener(alMisc); 231 radButton.addActionListener(alMisc); 232 litButton.addActionListener(alMisc); 233 234 nameLabel = new JLabel(); 235 nameLabel.setBounds(new Rectangle(5, 329, 60, 20)); 236 nameLabel.setText(tr("Name:")); 237 add(nameLabel); 238 nameBox = new JTextField(); 239 nameBox.setBounds(new Rectangle(60, 330, 200, 20)); 240 nameBox.setHorizontalAlignment(SwingConstants.CENTER); 241 add(nameBox); 242 nameBox.addFocusListener(flName); 243 244 saveButton = new JButton(); 245 saveButton.setBounds(new Rectangle(285, 330, 100, 20)); 246 saveButton.setText(tr("Save")); 247 add(saveButton); 248 saveButton.addActionListener(alSave); 249 250 moreButton = new JButton(); 251 moreButton.setBounds(new Rectangle(0, 165, 34, 15)); 252 moreButton.setMargin(new Insets(0, 0, 0, 0)); 253 moreButton.setText(">>"); 254 add(moreButton); 255 moreButton.addActionListener(alMore); 256 257 messageBar = new JTextField(); 258 messageBar.setBounds(10, 355, 380, 20); 259 messageBar.setEditable(false); 260 messageBar.setBackground(Color.WHITE); 261 add(messageBar); 262 } 263 264 public void syncPanel() { 265 typeButtons.clearSelection(); 266 chanButton.setBorderPainted(false); 267 chanButton.setEnabled(false); 268 hazButton.setBorderPainted(false); 269 hazButton.setEnabled(false); 270 specButton.setBorderPainted(false); 271 specButton.setEnabled(false); 272 lightsButton.setBorderPainted(false); 273 lightsButton.setEnabled(false); 274 miscButtons.clearSelection(); 275 topButton.setEnabled(false); 276 topButton.setBorderPainted(false); 277 fogButton.setEnabled(false); 278 fogButton.setBorderPainted(false); 279 radButton.setEnabled(false); 280 radButton.setBorderPainted(false); 281 litButton.setEnabled(false); 282 litButton.setBorderPainted(false); 283 saveButton.setEnabled(false); 284 moreButton.setVisible(false); 285 moreButton.setText(">>"); 286 moreButton.setSelected(false); 287 panelChan.setVisible(false); 288 panelHaz.setVisible(false); 289 panelSpec.setVisible(false); 290 panelLights.setVisible(false); 291 panelMore.setVisible(false); 292 panelTop.setVisible(false); 293 panelFog.setVisible(false); 294 panelRadar.setVisible(false); 295 panelLit.setVisible(false); 296 nameBox.setEnabled(false); 297 if (mark != null) { 298 nameBox.setEnabled(true); 299 chanButton.setEnabled(true); 300 hazButton.setEnabled(true); 301 specButton.setEnabled(true); 302 lightsButton.setEnabled(true); 303 nameBox.setText(mark.getName()); 304 switch (SeaMark.GrpMAP.get(mark.getObject())) { 305 case LAT: 306 case SAW: 307 chanButton.setBorderPainted(true); 308 panelChan.setVisible(true); 309 panelChan.syncPanel(); 310 break; 311 case CAR: 312 case ISD: 313 hazButton.setBorderPainted(true); 314 panelHaz.setVisible(true); 315 panelHaz.syncPanel(); 316 break; 317 case SPP: 318 specButton.setBorderPainted(true); 319 panelSpec.setVisible(true); 320 panelSpec.syncPanel(); 321 break; 322 case LGT: 323 case STN: 324 case PLF: 325 lightsButton.setBorderPainted(true); 326 panelLights.setVisible(true); 327 panelLights.syncPanel(); 328 break; 329 } 330 panelMore.syncPanel(); 331 panelTop.syncPanel(); 332 panelFog.syncPanel(); 333 panelRadar.syncPanel(); 334 panelLit.syncPanel(); 335 } 336 } 337 338 private JRadioButton getButton(JRadioButton button, int x, int y, int w, int h, String tip) { 339 button.setBounds(new Rectangle(x, y, w, h)); 340 button.setBorder(BorderFactory.createLoweredBevelBorder()); 341 button.setToolTipText(Messages.getString(tip)); 342 return button; 343 } 29 private SmedAction dlg; 30 public SeaMark mark = null; 31 public PanelChan panelChan = null; 32 public PanelHaz panelHaz = null; 33 public PanelSpec panelSpec = null; 34 public PanelLights panelLights = null; 35 public PanelMore panelMore = null; 36 public PanelTop panelTop = null; 37 public PanelFog panelFog = null; 38 public PanelRadar panelRadar = null; 39 public PanelLit panelLit = null; 40 public JLabel nameLabel = null; 41 public JTextField nameBox = null; 42 public static JTextField messageBar = null; 43 private FocusListener flName = new FocusListener() { 44 @Override 45 public void focusLost(FocusEvent e) { 46 mark.setName(nameBox.getText()); 47 } 48 @Override 49 public void focusGained(FocusEvent e) { 50 } 51 }; 52 public JButton saveButton = null; 53 private ActionListener alSave = new ActionListener() { 54 @Override 55 public void actionPerformed(ActionEvent e) { 56 mark.saveSign(dlg.node); 57 } 58 }; 59 public JButton moreButton = null; 60 private ActionListener alMore = new ActionListener() { 61 @Override 62 public void actionPerformed(ActionEvent e) { 63 if (panelMore.isVisible()) { 64 moreButton.setText(">>"); 65 panelMore.setVisible(false); 66 topButton.setEnabled(true); 67 radButton.setEnabled(true); 68 fogButton.setEnabled(true); 69 litButton.setEnabled(true); 70 } else { 71 panelMore.setVisible(true); 72 moreButton.setText("<<"); 73 miscButtons.clearSelection(); 74 panelTop.setVisible(false); 75 topButton.setBorderPainted(false); 76 topButton.setEnabled(false); 77 panelRadar.setVisible(false); 78 radButton.setBorderPainted(false); 79 radButton.setEnabled(false); 80 panelFog.setVisible(false); 81 fogButton.setBorderPainted(false); 82 fogButton.setEnabled(false); 83 panelLit.setVisible(false); 84 litButton.setBorderPainted(false); 85 litButton.setEnabled(false); 86 } 87 } 88 }; 89 public ButtonGroup typeButtons = null; 90 public JRadioButton chanButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/ChanButton.png"))); 91 public JRadioButton hazButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/HazButton.png"))); 92 public JRadioButton specButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SpecButton.png"))); 93 public JRadioButton lightsButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightsButton.png"))); 94 private ActionListener alType = new ActionListener() { 95 @Override 96 public void actionPerformed(ActionEvent e) { 97 if (chanButton.isSelected()) { 98 chanButton.setBorderPainted(true); 99 panelChan.syncPanel(); 100 panelChan.setVisible(true); 101 } else { 102 chanButton.setBorderPainted(false); 103 panelChan.setVisible(false); 104 } 105 if (hazButton.isSelected()) { 106 hazButton.setBorderPainted(true); 107 panelHaz.syncPanel(); 108 panelHaz.setVisible(true); 109 } else { 110 hazButton.setBorderPainted(false); 111 panelHaz.setVisible(false); 112 } 113 if (specButton.isSelected()) { 114 specButton.setBorderPainted(true); 115 panelSpec.syncPanel(); 116 panelSpec.setVisible(true); 117 } else { 118 specButton.setBorderPainted(false); 119 panelSpec.setVisible(false); 120 } 121 if (lightsButton.isSelected()) { 122 lightsButton.setBorderPainted(true); 123 panelLights.syncPanel(); 124 panelLights.setVisible(true); 125 } else { 126 lightsButton.setBorderPainted(false); 127 panelLights.setVisible(false); 128 } 129 } 130 }; 131 private ButtonGroup miscButtons = null; 132 public JRadioButton topButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TopButton.png"))); 133 public JRadioButton fogButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/FogButton.png"))); 134 public JRadioButton radButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/RadarButton.png"))); 135 public JRadioButton litButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LitButton.png"))); 136 private ActionListener alMisc = new ActionListener() { 137 @Override 138 public void actionPerformed(ActionEvent e) { 139 if (topButton.isSelected()) { 140 moreButton.setText(">>"); 141 panelMore.setVisible(false); 142 topButton.setBorderPainted(true); 143 panelTop.setVisible(true); 144 panelTop.syncPanel(); 145 } else { 146 topButton.setBorderPainted(false); 147 panelTop.setVisible(false); 148 } 149 if (fogButton.isSelected()) { 150 moreButton.setText(">>"); 151 panelMore.setVisible(false); 152 fogButton.setBorderPainted(true); 153 panelFog.setVisible(true); 154 panelFog.syncPanel(); 155 } else { 156 fogButton.setBorderPainted(false); 157 panelFog.setVisible(false); 158 } 159 if (radButton.isSelected()) { 160 moreButton.setText(">>"); 161 panelMore.setVisible(false); 162 radButton.setBorderPainted(true); 163 panelRadar.setVisible(true); 164 panelRadar.syncPanel(); 165 } else { 166 radButton.setBorderPainted(false); 167 panelRadar.setVisible(false); 168 } 169 if (litButton.isSelected()) { 170 moreButton.setText(">>"); 171 panelMore.setVisible(false); 172 litButton.setBorderPainted(true); 173 panelLit.setVisible(true); 174 panelLit.syncPanel(); 175 } else { 176 litButton.setBorderPainted(false); 177 panelLit.setVisible(false); 178 } 179 } 180 }; 181 182 public PanelMain(SmedAction dia) { 183 184 dlg = dia; 185 setLayout(null); 186 mark = new SeaMark(dlg); 187 mark.setBounds(new Rectangle(235, 0, 165, 160)); 188 add(mark); 189 panelChan = new PanelChan(dlg); 190 panelChan.setBounds(new Rectangle(65, 0, 170, 160)); 191 panelChan.setVisible(false); 192 add(panelChan); 193 panelHaz = new PanelHaz(dlg); 194 panelHaz.setBounds(new Rectangle(65, 0, 170, 160)); 195 panelHaz.setVisible(false); 196 add(panelHaz); 197 panelSpec = new PanelSpec(dlg); 198 panelSpec.setBounds(new Rectangle(65, 0, 170, 160)); 199 panelSpec.setVisible(false); 200 add(panelSpec); 201 panelLights = new PanelLights(dlg); 202 panelLights.setBounds(new Rectangle(65, 0, 170, 160)); 203 panelLights.setVisible(false); 204 add(panelLights); 205 panelMore = new PanelMore(dlg); 206 panelMore.setBounds(new Rectangle(40, 165, 360, 160)); 207 panelMore.setVisible(false); 208 add(panelMore); 209 panelTop = new PanelTop(dlg); 210 panelTop.setBounds(new Rectangle(40, 165, 360, 160)); 211 panelTop.setVisible(false); 212 add(panelTop); 213 panelFog = new PanelFog(dlg); 214 panelFog.setBounds(new Rectangle(40, 165, 360, 160)); 215 panelFog.setVisible(false); 216 add(panelFog); 217 panelRadar = new PanelRadar(dlg); 218 panelRadar.setBounds(new Rectangle(40, 165, 360, 160)); 219 panelRadar.setVisible(false); 220 add(panelRadar); 221 panelLit = new PanelLit(dlg); 222 panelLit.setBounds(new Rectangle(40, 165, 360, 160)); 223 panelLit.setVisible(false); 224 add(panelLit); 225 226 add(getButton(chanButton, 0, 0, 62, 40, "Chan"), null); 227 add(getButton(hazButton, 0, 40, 62, 40, "Haz"), null); 228 add(getButton(specButton, 0, 80, 62, 40, "Spec"), null); 229 add(getButton(lightsButton, 0, 120, 62, 40, "Lights"), null); 230 typeButtons = new ButtonGroup(); 231 typeButtons.add(chanButton); 232 typeButtons.add(hazButton); 233 typeButtons.add(specButton); 234 typeButtons.add(lightsButton); 235 chanButton.addActionListener(alType); 236 hazButton.addActionListener(alType); 237 specButton.addActionListener(alType); 238 lightsButton.addActionListener(alType); 239 240 add(getButton(topButton, 0, 185, 34, 32, "Topmarks")); 241 add(getButton(fogButton, 0, 220, 34, 32, "FogSignals")); 242 add(getButton(radButton, 0, 255, 34, 32, "Radar")); 243 add(getButton(litButton, 0, 290, 34, 32, "Lit")); 244 miscButtons = new ButtonGroup(); 245 miscButtons.add(topButton); 246 miscButtons.add(fogButton); 247 miscButtons.add(radButton); 248 miscButtons.add(litButton); 249 topButton.addActionListener(alMisc); 250 fogButton.addActionListener(alMisc); 251 radButton.addActionListener(alMisc); 252 litButton.addActionListener(alMisc); 253 254 nameLabel = new JLabel(); 255 nameLabel.setBounds(new Rectangle(5, 329, 60, 20)); 256 nameLabel.setText(tr("Name:")); 257 add(nameLabel); 258 nameBox = new JTextField(); 259 nameBox.setBounds(new Rectangle(60, 330, 200, 20)); 260 nameBox.setHorizontalAlignment(SwingConstants.CENTER); 261 add(nameBox); 262 nameBox.addFocusListener(flName); 263 264 saveButton = new JButton(); 265 saveButton.setBounds(new Rectangle(285, 330, 100, 20)); 266 saveButton.setText(tr("Save")); 267 add(saveButton); 268 saveButton.addActionListener(alSave); 269 270 moreButton = new JButton(); 271 moreButton.setBounds(new Rectangle(0, 165, 34, 15)); 272 moreButton.setMargin(new Insets(0, 0, 0, 0)); 273 moreButton.setText(">>"); 274 add(moreButton); 275 moreButton.addActionListener(alMore); 276 277 messageBar = new JTextField(); 278 messageBar.setBounds(10, 355, 380, 20); 279 messageBar.setEditable(false); 280 messageBar.setBackground(Color.WHITE); 281 add(messageBar); 282 } 283 284 public void syncPanel() { 285 typeButtons.clearSelection(); 286 chanButton.setBorderPainted(false); 287 chanButton.setEnabled(false); 288 hazButton.setBorderPainted(false); 289 hazButton.setEnabled(false); 290 specButton.setBorderPainted(false); 291 specButton.setEnabled(false); 292 lightsButton.setBorderPainted(false); 293 lightsButton.setEnabled(false); 294 miscButtons.clearSelection(); 295 topButton.setEnabled(false); 296 topButton.setBorderPainted(false); 297 fogButton.setEnabled(false); 298 fogButton.setBorderPainted(false); 299 radButton.setEnabled(false); 300 radButton.setBorderPainted(false); 301 litButton.setEnabled(false); 302 litButton.setBorderPainted(false); 303 saveButton.setEnabled(false); 304 moreButton.setVisible(false); 305 moreButton.setText(">>"); 306 moreButton.setSelected(false); 307 panelChan.setVisible(false); 308 panelHaz.setVisible(false); 309 panelSpec.setVisible(false); 310 panelLights.setVisible(false); 311 panelMore.setVisible(false); 312 panelTop.setVisible(false); 313 panelFog.setVisible(false); 314 panelRadar.setVisible(false); 315 panelLit.setVisible(false); 316 nameBox.setEnabled(false); 317 if (mark != null) { 318 nameBox.setEnabled(true); 319 chanButton.setEnabled(true); 320 hazButton.setEnabled(true); 321 specButton.setEnabled(true); 322 lightsButton.setEnabled(true); 323 nameBox.setText(mark.getName()); 324 switch (SeaMark.GrpMAP.get(mark.getObject())) { 325 case LAT: 326 case SAW: 327 chanButton.setBorderPainted(true); 328 panelChan.setVisible(true); 329 panelChan.syncPanel(); 330 break; 331 case CAR: 332 case ISD: 333 hazButton.setBorderPainted(true); 334 panelHaz.setVisible(true); 335 panelHaz.syncPanel(); 336 break; 337 case SPP: 338 specButton.setBorderPainted(true); 339 panelSpec.setVisible(true); 340 panelSpec.syncPanel(); 341 break; 342 case LGT: 343 case STN: 344 case PLF: 345 lightsButton.setBorderPainted(true); 346 panelLights.setVisible(true); 347 panelLights.syncPanel(); 348 break; 349 } 350 panelMore.syncPanel(); 351 panelTop.syncPanel(); 352 panelFog.syncPanel(); 353 panelRadar.syncPanel(); 354 panelLit.syncPanel(); 355 } 356 } 357 358 private JRadioButton getButton(JRadioButton button, int x, int y, int w, int h, String tip) { 359 button.setBounds(new Rectangle(x, y, w, h)); 360 button.setBorder(BorderFactory.createLoweredBevelBorder()); 361 button.setToolTipText(Messages.getString(tip)); 362 return button; 363 } 344 364 345 365 }
Note:
See TracChangeset
for help on using the changeset viewer.
