Changeset 23269 in osm for applications/editors
- Timestamp:
- 2010-09-19T15:13:59+02:00 (15 years ago)
- Location:
- applications/editors/josm/plugins/toms/src/toms
- Files:
-
- 10 edited
-
dialogs/SmpDialogAction.java (modified) (6 diffs)
-
seamarks/SeaMark.java (modified) (1 diff)
-
seamarks/buoys/Buoy.java (modified) (2 diffs)
-
seamarks/buoys/BuoyCard.java (modified) (4 diffs)
-
seamarks/buoys/BuoyIsol.java (modified) (3 diffs)
-
seamarks/buoys/BuoyLat.java (modified) (3 diffs)
-
seamarks/buoys/BuoyNota.java (modified) (1 diff)
-
seamarks/buoys/BuoySaw.java (modified) (3 diffs)
-
seamarks/buoys/BuoySpec.java (modified) (4 diffs)
-
seamarks/buoys/BuoyUkn.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
r23268 r23269 62 62 63 63 public class SmpDialogAction extends JosmAction { 64 private static final long serialVersionUID = -2976230949744302905L;65 66 /**67 * lokale Variable, private68 */69 private SmpDialogAction dia = null; // Variable für den Handle von70 // SmpDialogAction71 private Buoy buoy = null; // Variable für Objekte des Typs "Tonne" //72 // @jve:decl-index=0:73 private boolean isOpen = false; // zeigt den Status des Dialogs an74 private Node onode = null; // gemerkter Knoten75 private Buoy obuoy = null; // gemerkte Tonne // @jve:decl-index=0:76 private JMenuItem SmpItem = null; // Info über item in der Werkzeugleiste77 private String smt = ""; // value vom key "seamark:type" // @jve:decl-index=0: //$NON-NLS-1$78 private String smb = ""; // value vom key "seamark" // @jve:decl-index=0: //$NON-NLS-1$79 private Collection<? extends OsmPrimitive> Selection = null; // @jve:decl-index=0:80 private OsmPrimitive SelNode = null;81 private String Os = ""; // @jve:decl-index=0: //$NON-NLS-1$82 private String UserHome = ""; // @jve:decl-index=0: //$NON-NLS-1$83 84 // SelectionChangedListner der in die Eventqueue von josm eingehängt wird85 private SelectionChangedListener SmpListener = new SelectionChangedListener() {86 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {87 Node node;88 Selection = newSelection;89 90 // System.out.println("hello");91 for (OsmPrimitive osm : Selection) {92 if (osm instanceof Node) {93 node = (Node) osm;94 if (Selection.size() == 1)95 // Absicherung gegen Doppelevents96 if (node.compareTo(SelNode) != 0) {97 SelNode = node;98 parseSeaMark();99 buoy.paintSign();100 }101 }102 }103 104 Selection = null;105 106 }107 };108 109 /**110 * lokale Variable der Maske111 */112 private JDialog dM01SeaMap = null;113 private JPanel pM01SeaMap = null;114 private JLabel lM01Head = null;115 private JLabel lM01Region = null;116 private JLabel lM02Region = null;117 public ButtonGroup bgM01Region = null;118 public JRadioButton rbM01RegionA = null;119 public JRadioButton rbM01RegionB = null;120 public JLabel lM01Icon = null; // Shape121 public JLabel lM02Icon = null; // Light122 public JLabel lM03Icon = null; // Reflector123 public JLabel lM04Icon = null; // Racon124 public JLabel lM05Icon = null; // Fog125 public JLabel lM06Icon = null; // Topmark126 public JLabel lM01NameMark = null;127 public JLabel lM01FireMark = null;128 public JLabel lM01FogMark = null;129 public JLabel lM01RadarMark = null;130 private JLabel lM01TypeOfMark = null;131 public JComboBox cbM01TypeOfMark = null;132 public JLabel lM01CatOfMark = null;133 public JComboBox cbM01CatOfMark = null;134 public JLabel lM01StyleOfMark = null;135 public JComboBox cbM01StyleOfMark = null;136 private JLabel lM01Name = null;137 public JTextField tfM01Name = null;138 private JLabel lM01Props02 = null;139 public JCheckBox cM01TopMark = null;140 public JComboBox cbM01TopMark = null;141 public JCheckBox cM01Radar = null;142 public JCheckBox cM01Racon = null;143 public JComboBox cbM01Racon = null;144 public JTextField tfM01Racon = null;145 public JLabel lM01Racon = null;146 public JCheckBox cM01Fog = null;147 public JComboBox cbM01Fog = null;148 public JLabel lM01FogGroup = null;149 public JTextField tfM01FogGroup = null;150 public JLabel lM01FogPeriod = null;151 public JTextField tfM01FogPeriod = null;152 public JCheckBox cM01Fired = null;153 public ButtonGroup bgM01Fired = null;154 public JRadioButton rbM01Fired1 = null;155 public JRadioButton rbM01FiredN = null;156 public JLabel lM01Kennung = null;157 public JComboBox cbM01Kennung = null;158 public JLabel lM01Height = null;159 public JTextField tfM01Height = null;160 public JLabel lM01Range = null;161 public JTextField tfM01Range = null;162 public JLabel lM01Group = null;163 public JTextField tfM01Group = null;164 public JLabel lM01RepeatTime = null;165 public JTextField tfM01RepeatTime = null;166 public JLabel lM01Sector = null;167 public JComboBox cbM01Sector = null;168 public JLabel lM01Colour = null;169 public JComboBox cbM01Colour = null;170 public JLabel lM01Bearing = null;171 public JTextField tfM01Bearing = null;172 public JTextField tfM02Bearing = null;173 public JTextField tfM01Radius = null;174 public JButton bM01Save = null;175 public JButton bM01Close = null;176 public JCheckBox cM01IconVisible = null;177 public JTextField sM01StatusBar = null;178 179 public boolean paintlock = false;180 181 public JMenuItem getSmpItem() {182 return SmpItem;183 }184 185 public void setSmpItem(JMenuItem smpItem) {186 SmpItem = smpItem;187 }188 189 public boolean isOpen() {190 return isOpen;191 }192 193 public void setOpen(boolean isOpen) {194 this.isOpen = isOpen;195 }196 197 public String getOs() {198 return Os;199 }200 201 public void setOs(String os) {202 Os = os;203 }204 205 public String getUserHome() {206 return UserHome;207 }208 209 public void setUserHome(String userHome) {210 UserHome = userHome;211 }212 213 public SmpDialogAction() {214 super(215 Messages.getString("SmpDialogAction.4"), "Smp", Messages.getString("SmpDialogAction.0"), Shortcut //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$216 .registerShortcut(217 "tools:Semarks", //$NON-NLS-1$218 tr("Tool: {0}", Messages.getString("SmpDialogAction.9")), KeyEvent.VK_S, //$NON-NLS-1$ //$NON-NLS-2$219 Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);220 221 dia = this;222 String str = Main.pref.get("mappaint.style.sources"); //$NON-NLS-1$223 if (!str.contains("dev.openseamap.org")) { //$NON-NLS-1$224 if (!str.isEmpty()) //$NON-NLS-1$225 str += new String(new char[] { 0x1e });226 Main.pref.put("mappaint.style.sources", str //$NON-NLS-1$227 + "http://dev.openseamap.org/josm/seamark_styles.xml"); //$NON-NLS-1$228 }229 str = Main.pref.get("color.background"); //$NON-NLS-1$230 if (str.equals("#000000") || str.isEmpty()) //$NON-NLS-1$ //$NON-NLS-2$231 Main.pref.put("color.background", "#606060"); //$NON-NLS-1$ //$NON-NLS-2$232 }233 234 public void CloseDialog() {235 onode = null;236 DataSet.removeSelectionListener(SmpListener);237 Selection = null;238 239 if (isOpen)240 dM01SeaMap.dispose();241 isOpen = false;242 243 }244 245 public void actionPerformed(ActionEvent e) {246 247 /*248 * int option = JOptionPane.showConfirmDialog(Main.parent,249 * tr("THIS IS EXPERIMENTAL. Save your work and verify before uploading.\n"250 * + "Are you really sure to continue?"),251 * tr("Please abort if you are not sure"), JOptionPane.YES_NO_OPTION,252 * JOptionPane.WARNING_MESSAGE);253 * 254 * if (option != JOptionPane.YES_OPTION) { return; }255 */256 257 onode = null;258 obuoy = null;259 260 SwingUtilities.invokeLater(new Runnable() {261 public void run() {262 JDialog dialog = getDM01SeaMap();263 264 if (SmpItem == null) {265 }266 dialog.setVisible(true);267 }268 });269 270 setOpen(true);271 272 if (SmpItem == null) {273 return;274 }275 SmpItem.setEnabled(false);276 277 // Ausprobe: Möglichkeit der Benachrichtigung, wenn etwas neu278 // selektiert wird (ueber SelectionChangedListener)279 // private Collection<? extends OsmPrimitive> sel;280 // siehe org.openstreetmap.josm.plugins.osb -> OsbLayer.java281 // Einhängen des Listeners in die Eventqueue von josm282 DataSet.addSelectionListener(SmpListener);283 }284 285 private void PicRebuild() {286 287 DataSet ds = Main.main.getCurrentDataSet();288 289 if (obuoy == null) {290 return;291 }292 293 Node n = obuoy.getNode();294 295 if (n != null) {296 Command c;297 298 if (smb != "") { //$NON-NLS-1$299 300 c = new ChangePropertyCommand(n, "seamark", smb); //$NON-NLS-1$301 c.executeCommand();302 ds.fireSelectionChanged();303 304 smb = ""; //$NON-NLS-1$305 }306 307 if (smt != "") { //$NON-NLS-1$308 309 c = new ChangePropertyCommand(n, "seamark:type", smt); //$NON-NLS-1$310 c.executeCommand();311 ds.fireSelectionChanged();312 313 smt = ""; //$NON-NLS-1$314 }315 }316 317 obuoy = null;318 319 }320 321 private void parseSeaMark() {322 323 int nodes = 0;324 Node node = null;325 Collection<Node> selection = null;326 Map<String, String> keys;327 DataSet ds;328 329 ds = Main.main.getCurrentDataSet();330 331 if (ds == null) {332 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.26")); //$NON-NLS-1$333 buoy.setNode(null);334 return;335 }336 337 selection = ds.getSelectedNodes();338 nodes = selection.size();339 340 if (nodes == 0) {341 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.27")); //$NON-NLS-1$342 buoy.setNode(null);343 return;344 }345 346 if (nodes > 1) {347 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.28")); //$NON-NLS-1$348 buoy.setNode(null);349 return;350 }351 352 Iterator<Node> it = selection.iterator();353 node = it.next();354 355 if (onode != null)356 if (node.equals(onode))357 return;358 359 // Knoten wurde gewechselt -> die alten tags (benutzt zum Ausblenden der360 // Pictogramme) wiederherstellen361 if (obuoy != null)362 PicRebuild();363 364 onode = node;365 366 cM01IconVisible.setEnabled(true);367 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(368 "/images/Auge.png"))); //$NON-NLS-1$369 370 cbM01TypeOfMark.setEnabled(true);371 372 // Soweit das Vorspiel. Ab hier beginnt das Parsen373 String type = ""; //$NON-NLS-1$374 String str = ""; //$NON-NLS-1$375 376 keys = node.getKeys();377 378 // vorsorglich den Namen holen und verwenden, wenn es ein379 // Seezeichen ist. Name kann durch die weiteren Tags ueber-380 // schrieben werden381 382 if (keys.containsKey("seamark:type")) //$NON-NLS-1$383 type = keys.get("seamark:type"); //$NON-NLS-1$384 385 if (type.equals("buoy_lateral") || type.equals("beacon_lateral") //$NON-NLS-1$ //$NON-NLS-2$386 || keys.containsKey("seamark:buoy_lateral:category") //$NON-NLS-1$387 || keys.containsKey("seamark:buoy_lateral:shape") //$NON-NLS-1$388 || keys.containsKey("seamark:buoy_lateral:colour") //$NON-NLS-1$389 || keys.containsKey("seamark:beacon_lateral:category") //$NON-NLS-1$390 || keys.containsKey("seamark:beacon_lateral:shape") //$NON-NLS-1$391 || keys.containsKey("seamark:beacon_lateral:colour")) { //$NON-NLS-1$392 buoy = new BuoyLat(this, node);393 return;394 395 } else if (type.equals("buoy_cardinal") || type.equals("beacon_cardinal") //$NON-NLS-1$ //$NON-NLS-2$396 || keys.containsKey("seamark:buoy_cardinal:category") //$NON-NLS-1$397 || keys.containsKey("seamark:buoy_cardinal:shape") //$NON-NLS-1$398 || keys.containsKey("seamark:buoy_cardinal:colour") //$NON-NLS-1$399 || keys.containsKey("seamark:beacon_cardinal:category") //$NON-NLS-1$400 || keys.containsKey("seamark:beacon_cardinal:shape") //$NON-NLS-1$401 || keys.containsKey("seamark:beacon_cardinal:colour")) { //$NON-NLS-1$402 buoy = new BuoyCard(this, node);403 return;404 405 } else if (type.equals("buoy_safe_water") //$NON-NLS-1$406 || type.equals("beacon_safe_water") //$NON-NLS-1$407 || keys.containsKey("seamark:buoy_safe_water:shape") //$NON-NLS-1$408 || keys.containsKey("seamark:buoy_safe_water:colour") //$NON-NLS-1$409 || keys.containsKey("seamark:beacon_safe_water:shape") //$NON-NLS-1$410 || keys.containsKey("seamark:beacon_safe_water:colour")) { //$NON-NLS-1$411 buoy = new BuoySaw(this, node);412 return;413 414 } else if (type.equals("buoy_special_purpose") //$NON-NLS-1$415 || type.equals("beacon_special_purpose") //$NON-NLS-1$416 || keys.containsKey("seamark:buoy_special_purpose:shape") //$NON-NLS-1$417 || keys.containsKey("seamark:buoy_special_purpose:colour") //$NON-NLS-1$418 || keys.containsKey("seamark:beacon_special_purpose:shape") //$NON-NLS-1$419 || keys.containsKey("seamark:beacon_special_purpose:colour")) { //$NON-NLS-1$420 buoy = new BuoySpec(this, node);421 return;422 423 } else if (type.equals("buoy_isolated_danger") //$NON-NLS-1$424 || type.equals("beacon_isolated_danger") //$NON-NLS-1$425 || keys.containsKey("seamark:buoy_isolated_danger:shape") //$NON-NLS-1$426 || keys.containsKey("seamark:buoy_isolated_danger:colour") //$NON-NLS-1$427 || keys.containsKey("seamark:beacon_isolated_danger:shape") //$NON-NLS-1$428 || keys.containsKey("seamark:beacon_isolated_danger:colour")) { //$NON-NLS-1$429 buoy = new BuoyIsol(this, node);430 return;431 432 } else if (type.equals("landmark") || type.equals("light_vessel") //$NON-NLS-1$433 || type.equals("light_major") || type.equals("light_minor")) { //$NON-NLS-1$434 buoy = new BuoyNota(this, node);435 return;436 437 } else if (type.equals("light_float")) { //$NON-NLS-1$438 if (keys.containsKey("seamark:light_float:colour")) { //$NON-NLS-1$439 str = keys.get("seamark:light_float:colour"); //$NON-NLS-1$440 if (str.equals("red") || str.equals("green") //$NON-NLS-1$ //$NON-NLS-2$441 || str.equals("red;green;red") || str.equals("green;red;green")) { //$NON-NLS-1$ //$NON-NLS-2$442 buoy = new BuoyLat(this, node);443 return;444 } else if (str.equals("black;yellow") //$NON-NLS-1$445 || str.equals("black;yellow;black") || str.equals("yellow;black") //$NON-NLS-1$ //$NON-NLS-2$446 || str.equals("yellow;black;yellow")) { //$NON-NLS-1$447 buoy = new BuoyCard(this, node);448 return;449 } else if (str.equals("black;red;black")) { //$NON-NLS-1$450 buoy = new BuoyIsol(this, node);451 return;452 } else if (str.equals("red;white")) { //$NON-NLS-1$453 buoy = new BuoySaw(this, node);454 return;455 } else if (str.equals("yellow")) { //$NON-NLS-1$456 buoy = new BuoySpec(this, node);457 return;458 }459 } else if (keys.containsKey("seamark:light_float:topmark:shape")) { //$NON-NLS-1$460 str = keys.get("seamark:light_float:topmark:shape"); //$NON-NLS-1$461 if (str.equals("cylinder") || str.equals("cone, point up")) { //$NON-NLS-1$ //$NON-NLS-2$462 buoy = new BuoyLat(this, node);463 return;464 }465 } else if (keys.containsKey("seamark:light_float:topmark:colour")) { //$NON-NLS-1$466 str = keys.get("seamark:light_float:topmark:colour"); //$NON-NLS-1$467 if (str.equals("red") || str.equals("green")) { //$NON-NLS-1$ //$NON-NLS-2$468 buoy = new BuoyLat(this, node);469 return;470 }471 }472 }64 private static final long serialVersionUID = -2976230949744302905L; 65 66 /** 67 * lokale Variable, private 68 */ 69 private SmpDialogAction dia = null; // Variable für den Handle von 70 // SmpDialogAction 71 private Buoy buoy = null; // Variable für Objekte des Typs "Tonne" // 72 // @jve:decl-index=0: 73 private boolean isOpen = false; // zeigt den Status des Dialogs an 74 private Node onode = null; // gemerkter Knoten 75 private Buoy obuoy = null; // gemerkte Tonne // @jve:decl-index=0: 76 private JMenuItem SmpItem = null; // Info über item in der Werkzeugleiste 77 private String smt = ""; // value vom key "seamark:type" // @jve:decl-index=0: //$NON-NLS-1$ 78 private String smb = ""; // value vom key "seamark" // @jve:decl-index=0: //$NON-NLS-1$ 79 private Collection<? extends OsmPrimitive> Selection = null; // @jve:decl-index=0: 80 private OsmPrimitive SelNode = null; 81 private String Os = ""; // @jve:decl-index=0: //$NON-NLS-1$ 82 private String UserHome = ""; // @jve:decl-index=0: //$NON-NLS-1$ 83 84 // SelectionChangedListner der in die Eventqueue von josm eingehängt wird 85 private SelectionChangedListener SmpListener = new SelectionChangedListener() { 86 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) { 87 Node node; 88 Selection = newSelection; 89 90 // System.out.println("hello"); 91 for (OsmPrimitive osm : Selection) { 92 if (osm instanceof Node) { 93 node = (Node) osm; 94 if (Selection.size() == 1) 95 // Absicherung gegen Doppelevents 96 if (node.compareTo(SelNode) != 0) { 97 SelNode = node; 98 parseSeaMark(); 99 buoy.paintSign(); 100 } 101 } 102 } 103 104 Selection = null; 105 106 } 107 }; 108 109 /** 110 * lokale Variable der Maske 111 */ 112 private JDialog dM01SeaMap = null; 113 private JPanel pM01SeaMap = null; 114 private JLabel lM01Head = null; 115 private JLabel lM01Region = null; 116 private JLabel lM02Region = null; 117 public ButtonGroup bgM01Region = null; 118 public JRadioButton rbM01RegionA = null; 119 public JRadioButton rbM01RegionB = null; 120 public JLabel lM01Icon = null; // Shape 121 public JLabel lM02Icon = null; // Light 122 public JLabel lM03Icon = null; // Reflector 123 public JLabel lM04Icon = null; // Racon 124 public JLabel lM05Icon = null; // Fog 125 public JLabel lM06Icon = null; // Topmark 126 public JLabel lM01NameMark = null; 127 public JLabel lM01FireMark = null; 128 public JLabel lM01FogMark = null; 129 public JLabel lM01RadarMark = null; 130 private JLabel lM01TypeOfMark = null; 131 public JComboBox cbM01TypeOfMark = null; 132 public JLabel lM01CatOfMark = null; 133 public JComboBox cbM01CatOfMark = null; 134 public JLabel lM01StyleOfMark = null; 135 public JComboBox cbM01StyleOfMark = null; 136 private JLabel lM01Name = null; 137 public JTextField tfM01Name = null; 138 private JLabel lM01Props02 = null; 139 public JCheckBox cM01TopMark = null; 140 public JComboBox cbM01TopMark = null; 141 public JCheckBox cM01Radar = null; 142 public JCheckBox cM01Racon = null; 143 public JComboBox cbM01Racon = null; 144 public JTextField tfM01Racon = null; 145 public JLabel lM01Racon = null; 146 public JCheckBox cM01Fog = null; 147 public JComboBox cbM01Fog = null; 148 public JLabel lM01FogGroup = null; 149 public JTextField tfM01FogGroup = null; 150 public JLabel lM01FogPeriod = null; 151 public JTextField tfM01FogPeriod = null; 152 public JCheckBox cM01Fired = null; 153 public ButtonGroup bgM01Fired = null; 154 public JRadioButton rbM01Fired1 = null; 155 public JRadioButton rbM01FiredN = null; 156 public JLabel lM01Kennung = null; 157 public JComboBox cbM01Kennung = null; 158 public JLabel lM01Height = null; 159 public JTextField tfM01Height = null; 160 public JLabel lM01Range = null; 161 public JTextField tfM01Range = null; 162 public JLabel lM01Group = null; 163 public JTextField tfM01Group = null; 164 public JLabel lM01RepeatTime = null; 165 public JTextField tfM01RepeatTime = null; 166 public JLabel lM01Sector = null; 167 public JComboBox cbM01Sector = null; 168 public JLabel lM01Colour = null; 169 public JComboBox cbM01Colour = null; 170 public JLabel lM01Bearing = null; 171 public JTextField tfM01Bearing = null; 172 public JTextField tfM02Bearing = null; 173 public JTextField tfM01Radius = null; 174 public JButton bM01Save = null; 175 public JButton bM01Close = null; 176 public JCheckBox cM01IconVisible = null; 177 public JTextField sM01StatusBar = null; 178 179 public boolean paintlock = false; 180 181 public JMenuItem getSmpItem() { 182 return SmpItem; 183 } 184 185 public void setSmpItem(JMenuItem smpItem) { 186 SmpItem = smpItem; 187 } 188 189 public boolean isOpen() { 190 return isOpen; 191 } 192 193 public void setOpen(boolean isOpen) { 194 this.isOpen = isOpen; 195 } 196 197 public String getOs() { 198 return Os; 199 } 200 201 public void setOs(String os) { 202 Os = os; 203 } 204 205 public String getUserHome() { 206 return UserHome; 207 } 208 209 public void setUserHome(String userHome) { 210 UserHome = userHome; 211 } 212 213 public SmpDialogAction() { 214 super( 215 Messages.getString("SmpDialogAction.4"), "Smp", Messages.getString("SmpDialogAction.0"), Shortcut //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 216 .registerShortcut( 217 "tools:Semarks", //$NON-NLS-1$ 218 tr("Tool: {0}", Messages.getString("SmpDialogAction.9")), KeyEvent.VK_S, //$NON-NLS-1$ //$NON-NLS-2$ 219 Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true); 220 221 dia = this; 222 String str = Main.pref.get("mappaint.style.sources"); //$NON-NLS-1$ 223 if (!str.contains("dev.openseamap.org")) { //$NON-NLS-1$ 224 if (!str.isEmpty()) //$NON-NLS-1$ 225 str += new String(new char[] { 0x1e }); 226 Main.pref.put("mappaint.style.sources", str //$NON-NLS-1$ 227 + "http://dev.openseamap.org/josm/seamark_styles.xml"); //$NON-NLS-1$ 228 } 229 str = Main.pref.get("color.background"); //$NON-NLS-1$ 230 if (str.equals("#000000") || str.isEmpty()) //$NON-NLS-1$ //$NON-NLS-2$ 231 Main.pref.put("color.background", "#606060"); //$NON-NLS-1$ //$NON-NLS-2$ 232 } 233 234 public void CloseDialog() { 235 onode = null; 236 DataSet.removeSelectionListener(SmpListener); 237 Selection = null; 238 239 if (isOpen) 240 dM01SeaMap.dispose(); 241 isOpen = false; 242 243 } 244 245 public void actionPerformed(ActionEvent e) { 246 247 /* 248 * int option = JOptionPane.showConfirmDialog(Main.parent, 249 * tr("THIS IS EXPERIMENTAL. Save your work and verify before uploading.\n" 250 * + "Are you really sure to continue?"), 251 * tr("Please abort if you are not sure"), JOptionPane.YES_NO_OPTION, 252 * JOptionPane.WARNING_MESSAGE); 253 * 254 * if (option != JOptionPane.YES_OPTION) { return; } 255 */ 256 257 onode = null; 258 obuoy = null; 259 260 SwingUtilities.invokeLater(new Runnable() { 261 public void run() { 262 JDialog dialog = getDM01SeaMap(); 263 264 if (SmpItem == null) { 265 } 266 dialog.setVisible(true); 267 } 268 }); 269 270 setOpen(true); 271 272 if (SmpItem == null) { 273 return; 274 } 275 SmpItem.setEnabled(false); 276 277 // Ausprobe: Möglichkeit der Benachrichtigung, wenn etwas neu 278 // selektiert wird (ueber SelectionChangedListener) 279 // private Collection<? extends OsmPrimitive> sel; 280 // siehe org.openstreetmap.josm.plugins.osb -> OsbLayer.java 281 // Einhängen des Listeners in die Eventqueue von josm 282 DataSet.addSelectionListener(SmpListener); 283 } 284 285 private void PicRebuild() { 286 287 DataSet ds = Main.main.getCurrentDataSet(); 288 289 if (obuoy == null) { 290 return; 291 } 292 293 Node n = obuoy.getNode(); 294 295 if (n != null) { 296 Command c; 297 298 if (smb != "") { //$NON-NLS-1$ 299 300 c = new ChangePropertyCommand(n, "seamark", smb); //$NON-NLS-1$ 301 c.executeCommand(); 302 ds.fireSelectionChanged(); 303 304 smb = ""; //$NON-NLS-1$ 305 } 306 307 if (smt != "") { //$NON-NLS-1$ 308 309 c = new ChangePropertyCommand(n, "seamark:type", smt); //$NON-NLS-1$ 310 c.executeCommand(); 311 ds.fireSelectionChanged(); 312 313 smt = ""; //$NON-NLS-1$ 314 } 315 } 316 317 obuoy = null; 318 319 } 320 321 private void parseSeaMark() { 322 323 int nodes = 0; 324 Node node = null; 325 Collection<Node> selection = null; 326 Map<String, String> keys; 327 DataSet ds; 328 329 ds = Main.main.getCurrentDataSet(); 330 331 if (ds == null) { 332 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.26")); //$NON-NLS-1$ 333 buoy.setNode(null); 334 return; 335 } 336 337 selection = ds.getSelectedNodes(); 338 nodes = selection.size(); 339 340 if (nodes == 0) { 341 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.27")); //$NON-NLS-1$ 342 buoy.setNode(null); 343 return; 344 } 345 346 if (nodes > 1) { 347 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.28")); //$NON-NLS-1$ 348 buoy.setNode(null); 349 return; 350 } 351 352 Iterator<Node> it = selection.iterator(); 353 node = it.next(); 354 355 if (onode != null) 356 if (node.equals(onode)) 357 return; 358 359 // Knoten wurde gewechselt -> die alten tags (benutzt zum Ausblenden der 360 // Pictogramme) wiederherstellen 361 if (obuoy != null) 362 PicRebuild(); 363 364 onode = node; 365 366 cM01IconVisible.setEnabled(true); 367 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource( 368 "/images/Auge.png"))); //$NON-NLS-1$ 369 370 cbM01TypeOfMark.setEnabled(true); 371 372 // Soweit das Vorspiel. Ab hier beginnt das Parsen 373 String type = ""; //$NON-NLS-1$ 374 String str = ""; //$NON-NLS-1$ 375 376 keys = node.getKeys(); 377 378 // vorsorglich den Namen holen und verwenden, wenn es ein 379 // Seezeichen ist. Name kann durch die weiteren Tags ueber- 380 // schrieben werden 381 382 if (keys.containsKey("seamark:type")) //$NON-NLS-1$ 383 type = keys.get("seamark:type"); //$NON-NLS-1$ 384 385 if (type.equals("buoy_lateral") || type.equals("beacon_lateral") //$NON-NLS-1$ //$NON-NLS-2$ 386 || keys.containsKey("seamark:buoy_lateral:category") //$NON-NLS-1$ 387 || keys.containsKey("seamark:buoy_lateral:shape") //$NON-NLS-1$ 388 || keys.containsKey("seamark:buoy_lateral:colour") //$NON-NLS-1$ 389 || keys.containsKey("seamark:beacon_lateral:category") //$NON-NLS-1$ 390 || keys.containsKey("seamark:beacon_lateral:shape") //$NON-NLS-1$ 391 || keys.containsKey("seamark:beacon_lateral:colour")) { //$NON-NLS-1$ 392 buoy = new BuoyLat(this, node); 393 return; 394 395 } else if (type.equals("buoy_cardinal") || type.equals("beacon_cardinal") //$NON-NLS-1$ //$NON-NLS-2$ 396 || keys.containsKey("seamark:buoy_cardinal:category") //$NON-NLS-1$ 397 || keys.containsKey("seamark:buoy_cardinal:shape") //$NON-NLS-1$ 398 || keys.containsKey("seamark:buoy_cardinal:colour") //$NON-NLS-1$ 399 || keys.containsKey("seamark:beacon_cardinal:category") //$NON-NLS-1$ 400 || keys.containsKey("seamark:beacon_cardinal:shape") //$NON-NLS-1$ 401 || keys.containsKey("seamark:beacon_cardinal:colour")) { //$NON-NLS-1$ 402 buoy = new BuoyCard(this, node); 403 return; 404 405 } else if (type.equals("buoy_safe_water") //$NON-NLS-1$ 406 || type.equals("beacon_safe_water") //$NON-NLS-1$ 407 || keys.containsKey("seamark:buoy_safe_water:shape") //$NON-NLS-1$ 408 || keys.containsKey("seamark:buoy_safe_water:colour") //$NON-NLS-1$ 409 || keys.containsKey("seamark:beacon_safe_water:shape") //$NON-NLS-1$ 410 || keys.containsKey("seamark:beacon_safe_water:colour")) { //$NON-NLS-1$ 411 buoy = new BuoySaw(this, node); 412 return; 413 414 } else if (type.equals("buoy_special_purpose") //$NON-NLS-1$ 415 || type.equals("beacon_special_purpose") //$NON-NLS-1$ 416 || keys.containsKey("seamark:buoy_special_purpose:shape") //$NON-NLS-1$ 417 || keys.containsKey("seamark:buoy_special_purpose:colour") //$NON-NLS-1$ 418 || keys.containsKey("seamark:beacon_special_purpose:shape") //$NON-NLS-1$ 419 || keys.containsKey("seamark:beacon_special_purpose:colour")) { //$NON-NLS-1$ 420 buoy = new BuoySpec(this, node); 421 return; 422 423 } else if (type.equals("buoy_isolated_danger") //$NON-NLS-1$ 424 || type.equals("beacon_isolated_danger") //$NON-NLS-1$ 425 || keys.containsKey("seamark:buoy_isolated_danger:shape") //$NON-NLS-1$ 426 || keys.containsKey("seamark:buoy_isolated_danger:colour") //$NON-NLS-1$ 427 || keys.containsKey("seamark:beacon_isolated_danger:shape") //$NON-NLS-1$ 428 || keys.containsKey("seamark:beacon_isolated_danger:colour")) { //$NON-NLS-1$ 429 buoy = new BuoyIsol(this, node); 430 return; 431 432 } else if (type.equals("landmark") || type.equals("light_vessel") //$NON-NLS-1$ 433 || type.equals("light_major") || type.equals("light_minor")) { //$NON-NLS-1$ 434 buoy = new BuoyNota(this, node); 435 return; 436 437 } else if (type.equals("light_float")) { //$NON-NLS-1$ 438 if (keys.containsKey("seamark:light_float:colour")) { //$NON-NLS-1$ 439 str = keys.get("seamark:light_float:colour"); //$NON-NLS-1$ 440 if (str.equals("red") || str.equals("green") //$NON-NLS-1$ //$NON-NLS-2$ 441 || str.equals("red;green;red") || str.equals("green;red;green")) { //$NON-NLS-1$ //$NON-NLS-2$ 442 buoy = new BuoyLat(this, node); 443 return; 444 } else if (str.equals("black;yellow") //$NON-NLS-1$ 445 || str.equals("black;yellow;black") || str.equals("yellow;black") //$NON-NLS-1$ //$NON-NLS-2$ 446 || str.equals("yellow;black;yellow")) { //$NON-NLS-1$ 447 buoy = new BuoyCard(this, node); 448 return; 449 } else if (str.equals("black;red;black")) { //$NON-NLS-1$ 450 buoy = new BuoyIsol(this, node); 451 return; 452 } else if (str.equals("red;white")) { //$NON-NLS-1$ 453 buoy = new BuoySaw(this, node); 454 return; 455 } else if (str.equals("yellow")) { //$NON-NLS-1$ 456 buoy = new BuoySpec(this, node); 457 return; 458 } 459 } else if (keys.containsKey("seamark:light_float:topmark:shape")) { //$NON-NLS-1$ 460 str = keys.get("seamark:light_float:topmark:shape"); //$NON-NLS-1$ 461 if (str.equals("cylinder") || str.equals("cone, point up")) { //$NON-NLS-1$ //$NON-NLS-2$ 462 buoy = new BuoyLat(this, node); 463 return; 464 } 465 } else if (keys.containsKey("seamark:light_float:topmark:colour")) { //$NON-NLS-1$ 466 str = keys.get("seamark:light_float:topmark:colour"); //$NON-NLS-1$ 467 if (str.equals("red") || str.equals("green")) { //$NON-NLS-1$ //$NON-NLS-2$ 468 buoy = new BuoyLat(this, node); 469 return; 470 } 471 } 472 } 473 473 474 474 buoy = new BuoyUkn(this, Messages.getString("SmpDialogAction.91")); //$NON-NLS-1$ … … 478 478 } 479 479 480 private JDialog getDM01SeaMap() {481 482 if (dM01SeaMap == null) {483 dM01SeaMap = new JDialog();484 dM01SeaMap.setSize(new Dimension(400, 400));485 dM01SeaMap.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);486 dM01SeaMap.setModal(false);487 dM01SeaMap.setResizable(false);488 dM01SeaMap.setContentPane(getPM01SeaMap());489 dM01SeaMap.setTitle(Messages.getString("SmpDialogAction.9")); //$NON-NLS-1$490 dM01SeaMap.setVisible(false);491 dM01SeaMap.setAlwaysOnTop(true);492 dM01SeaMap.addWindowListener(new java.awt.event.WindowAdapter() {493 public void windowClosing(java.awt.event.WindowEvent e) {494 495 // Pictogramme wiederherstellen und aufraeumen496 if (obuoy != null)497 PicRebuild();498 // Deaktivierung des Listeners499 DataSet.removeSelectionListener(SmpListener);500 Selection = null;501 502 SmpItem.setEnabled(true);503 }504 505 public void windowActivated(WindowEvent arg0) {506 parseSeaMark();507 buoy.paintSign();508 }509 });510 }511 return dM01SeaMap;512 }513 514 private JPanel getPM01SeaMap() {515 if (pM01SeaMap == null) {516 517 lM01Icon = new JLabel();518 lM01Icon.setBounds(new Rectangle(220, 20, 150, 200));519 lM01Icon.setIcon(null);520 lM01Icon.setText(""); //$NON-NLS-1$521 522 lM02Icon = new JLabel();523 lM02Icon.setBounds(new Rectangle(220, 20, 150, 200));524 lM02Icon.setIcon(null);525 lM02Icon.setText(""); //$NON-NLS-1$526 527 lM03Icon = new JLabel();528 lM03Icon.setBounds(new Rectangle(220, 20, 150, 200));529 lM03Icon.setIcon(null);530 lM03Icon.setText(""); //$NON-NLS-1$531 532 lM04Icon = new JLabel();533 lM04Icon.setBounds(new Rectangle(220, 20, 150, 200));534 lM04Icon.setIcon(null);535 lM04Icon.setText(""); //$NON-NLS-1$536 537 lM05Icon = new JLabel();538 lM05Icon.setBounds(new Rectangle(220, 20, 150, 200));539 lM05Icon.setIcon(null);540 lM05Icon.setText(""); //$NON-NLS-1$541 542 lM06Icon = new JLabel();543 lM06Icon.setBounds(new Rectangle(220, 20, 150, 200));544 lM06Icon.setIcon(null);545 lM06Icon.setText(""); //$NON-NLS-1$546 547 lM01FireMark = new JLabel();548 lM01FireMark.setBounds(new Rectangle(315, 85, 80, 20));549 lM01FireMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$550 lM01FireMark.setText(""); //$NON-NLS-1$551 552 lM01NameMark = new JLabel();553 lM01NameMark.setBounds(new Rectangle(315, 65, 80, 20));554 lM01NameMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$555 lM01NameMark.setText(""); //$NON-NLS-1$556 557 lM01FogMark = new JLabel();558 lM01FogMark.setBounds(new Rectangle(220, 85, 70, 20));559 lM01FogMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$560 lM01FogMark.setText(""); //$NON-NLS-1$561 562 lM01RadarMark = new JLabel();563 lM01RadarMark.setBounds(new Rectangle(230, 65, 70, 20));564 lM01RadarMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$565 lM01RadarMark.setText(""); //$NON-NLS-1$566 567 lM01Head = new JLabel();568 lM01Head.setBounds(new Rectangle(5, 3, 316, 16));569 lM01Head.setText(Messages.getString("SmpDialogAction.97")); //$NON-NLS-1$570 571 lM01Region = new JLabel();572 lM01Region.setBounds(new Rectangle(220, 7, 120, 16));573 lM01Region.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$574 lM01Region.setText(Messages.getString("SmpDialogAction.99")); //$NON-NLS-1$575 576 lM02Region = new JLabel();577 lM02Region.setBounds(new Rectangle(270, 7, 120, 16));578 lM02Region.setFont(new Font("Dialog", Font.BOLD, 12)); //$NON-NLS-1$579 lM02Region.setText(Messages.getString("SmpDialogAction.101")); //$NON-NLS-1$580 581 lM01TypeOfMark = new JLabel();582 lM01TypeOfMark.setBounds(new Rectangle(5, 28, 120, 16));583 lM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$584 lM01TypeOfMark.setText(Messages.getString("SmpDialogAction.103")); //$NON-NLS-1$585 586 lM01CatOfMark = new JLabel();587 lM01CatOfMark.setBounds(new Rectangle(5, 58, 120, 16));588 lM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$589 lM01CatOfMark.setText(Messages.getString("SmpDialogAction.1")); //$NON-NLS-1$590 591 lM01StyleOfMark = new JLabel();592 lM01StyleOfMark.setBounds(new Rectangle(5, 88, 148, 16));593 lM01StyleOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$594 lM01StyleOfMark.setText(Messages.getString("SmpDialogAction.107")); //$NON-NLS-1$595 596 lM01Name = new JLabel();597 lM01Name.setBounds(new Rectangle(5, 120, 82, 16));598 lM01Name.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$599 lM01Name.setText(Messages.getString("SmpDialogAction.109")); //$NON-NLS-1$600 601 lM01Props02 = new JLabel();602 lM01Props02.setBounds(new Rectangle(5, 150, 172, 16));603 lM01Props02.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$604 lM01Props02.setText(Messages.getString("SmpDialogAction.111")); //$NON-NLS-1$605 606 lM01Racon = new JLabel();607 lM01Racon.setBounds(new Rectangle(335, 195, 65, 20));608 lM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$609 lM01Racon.setText(Messages.getString("SmpDialogAction.113")); //$NON-NLS-1$610 611 lM01FogGroup = new JLabel();612 lM01FogGroup.setBounds(new Rectangle(190, 220, 100, 20));613 lM01FogGroup.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$614 lM01FogGroup.setText(Messages.getString("SmpDialogAction.115")); //$NON-NLS-1$615 616 lM01FogPeriod = new JLabel();617 lM01FogPeriod.setBounds(new Rectangle(300, 220, 100, 20));618 lM01FogPeriod.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$619 lM01FogPeriod.setText(Messages.getString("SmpDialogAction.117")); //$NON-NLS-1$620 621 lM01Kennung = new JLabel();622 lM01Kennung.setBounds(new Rectangle(240, 245, 60, 20));623 lM01Kennung.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$624 lM01Kennung.setText(Messages.getString("SmpDialogAction.119")); //$NON-NLS-1$625 626 lM01Height = new JLabel();627 lM01Height.setBounds(new Rectangle(10, 270, 100, 20));628 lM01Height.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$629 lM01Height.setText(Messages.getString("SmpDialogAction.121")); //$NON-NLS-1$630 631 lM01Range = new JLabel();632 lM01Range.setBounds(new Rectangle(108, 270, 100, 20));633 lM01Range.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$634 lM01Range.setText(Messages.getString("SmpDialogAction.123")); //$NON-NLS-1$635 636 lM01Group = new JLabel();637 lM01Group.setBounds(new Rectangle(204, 270, 100, 20));638 lM01Group.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$639 lM01Group.setText(Messages.getString("SmpDialogAction.125")); //$NON-NLS-1$640 641 lM01RepeatTime = new JLabel();642 lM01RepeatTime.setBounds(new Rectangle(300, 270, 100, 20));643 lM01RepeatTime.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$644 lM01RepeatTime.setText(Messages.getString("SmpDialogAction.127")); //$NON-NLS-1$645 646 lM01Sector = new JLabel();647 lM01Sector.setBounds(new Rectangle(10, 295, 180, 20));648 lM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$649 lM01Sector.setText(Messages.getString("SmpDialogAction.129")); //$NON-NLS-1$650 651 lM01Colour = new JLabel();652 lM01Colour.setBounds(new Rectangle(120, 295, 180, 20));653 lM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$654 lM01Colour.setText(Messages.getString("SmpDialogAction.131")); //$NON-NLS-1$655 656 lM01Bearing = new JLabel();657 lM01Bearing.setBounds(new Rectangle(228, 295, 180, 20));658 lM01Bearing.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$659 lM01Bearing.setText(Messages.getString("SmpDialogAction.133")); //$NON-NLS-1$660 661 rbM01RegionA = new JRadioButton(662 Messages.getString("SmpDialogAction.134"), Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$663 .equals("A")); //$NON-NLS-1$664 rbM01RegionA.setBounds(new Rectangle(305, 0, 50, 30));665 rbM01RegionB = new JRadioButton("-B", Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$666 .equals("B")); //$NON-NLS-1$667 rbM01RegionB.setBounds(new Rectangle(352, 0, 50, 30));668 bgM01Region = new ButtonGroup();669 bgM01Region.add(rbM01RegionA);670 bgM01Region.add(rbM01RegionB);671 672 ActionListener alM01Region = new ActionListener() {673 public void actionPerformed(java.awt.event.ActionEvent e) {674 if (buoy instanceof BuoyLat) {675 buoy.setRegion(rbM01RegionB.isSelected());676 buoy.setLightColour();677 buoy.paintSign();678 }679 }680 };681 rbM01RegionA.addActionListener(alM01Region);682 rbM01RegionB.addActionListener(alM01Region);683 684 rbM01Fired1 = new JRadioButton(685 Messages.getString("SmpDialogAction.140"), true); //$NON-NLS-1$686 rbM01Fired1.setBounds(new Rectangle(85, 240, 70, 30));687 rbM01FiredN = new JRadioButton(688 Messages.getString("SmpDialogAction.141"), false); //$NON-NLS-1$689 rbM01FiredN.setBounds(new Rectangle(155, 240, 80, 30));690 bgM01Fired = new ButtonGroup();691 bgM01Fired.add(rbM01Fired1);692 bgM01Fired.add(rbM01FiredN);693 694 ActionListener alM01Fired = new ActionListener() {695 public void actionPerformed(java.awt.event.ActionEvent e) {696 buoy.setSectored(rbM01FiredN.isSelected());697 cbM01Sector.setSelectedIndex(0);698 buoy.setSectorIndex(0);699 buoy.paintSign();700 }701 };702 rbM01Fired1.addActionListener(alM01Fired);703 rbM01FiredN.addActionListener(alM01Fired);704 705 pM01SeaMap = new JPanel();706 pM01SeaMap.setLayout(null);707 pM01SeaMap.add(lM01Head, null);708 pM01SeaMap.add(rbM01RegionA, null);709 pM01SeaMap.add(rbM01RegionB, null);710 pM01SeaMap.add(lM01Region, null);711 pM01SeaMap.add(lM02Region, null);712 pM01SeaMap.add(lM01Icon, null);713 pM01SeaMap.add(lM02Icon, null);714 pM01SeaMap.add(lM03Icon, null);715 pM01SeaMap.add(lM04Icon, null);716 pM01SeaMap.add(lM05Icon, null);717 pM01SeaMap.add(lM06Icon, null);718 pM01SeaMap.add(getCbM01TypeOfMark(), null);719 pM01SeaMap.add(lM01TypeOfMark, null);720 pM01SeaMap.add(getCbM01CatOfMark(), null);721 pM01SeaMap.add(lM01CatOfMark, null);722 pM01SeaMap.add(getCbM01StyleOfMark(), null);723 pM01SeaMap.add(lM01StyleOfMark, null);724 pM01SeaMap.add(lM01Name, null);725 pM01SeaMap.add(getTfM01Name(), null);726 pM01SeaMap.add(lM01Props02, null);727 pM01SeaMap.add(getCM01TopMark(), null);728 pM01SeaMap.add(getCbM01TopMark(), null);729 pM01SeaMap.add(getCM01Radar(), null);730 pM01SeaMap.add(getCM01Racon(), null);731 pM01SeaMap.add(getCbM01Racon(), null);732 pM01SeaMap.add(getTfM01Racon(), null);733 pM01SeaMap.add(lM01Racon, null);734 pM01SeaMap.add(getCM01Fog(), null);735 pM01SeaMap.add(getCbM01Fog(), null);736 pM01SeaMap.add(getTfM01FogGroup(), null);737 pM01SeaMap.add(lM01FogGroup, null);738 pM01SeaMap.add(getTfM01FogPeriod(), null);739 pM01SeaMap.add(lM01FogPeriod, null);740 pM01SeaMap.add(getCM01Fired(), null);741 pM01SeaMap.add(rbM01Fired1, null);742 pM01SeaMap.add(rbM01FiredN, null);743 pM01SeaMap.add(getTfM01RepeatTime(), null);744 pM01SeaMap.add(lM01RepeatTime, null);745 pM01SeaMap.add(getCbM01Kennung(), null);746 pM01SeaMap.add(lM01Kennung, null);747 pM01SeaMap.add(lM01Group, null);748 pM01SeaMap.add(getTfM01Group(), null);749 pM01SeaMap.add(lM01Sector, null);750 pM01SeaMap.add(getCbM01Sector(), null);751 pM01SeaMap.add(lM01Colour, null);752 pM01SeaMap.add(getCbM01Colour(), null);753 pM01SeaMap.add(lM01Bearing, null);754 pM01SeaMap.add(getTfM01Bearing(), null);755 pM01SeaMap.add(getTfM02Bearing(), null);756 pM01SeaMap.add(getTfM01Radius(), null);757 pM01SeaMap.add(lM01Height, null);758 pM01SeaMap.add(getTfM01Height(), null);759 pM01SeaMap.add(lM01Range, null);760 pM01SeaMap.add(getTfM01Range(), null);761 pM01SeaMap.add(lM01FireMark, null);762 pM01SeaMap.add(lM01NameMark, null);763 pM01SeaMap.add(lM01FogMark, null);764 pM01SeaMap.add(lM01RadarMark, null);765 pM01SeaMap.add(getBM01Save(), null);766 pM01SeaMap.add(getSM01StatusBar(), null);767 pM01SeaMap.add(getBM01Close(), null);768 pM01SeaMap.add(getCM01IconVisible(), null);769 }770 return pM01SeaMap;771 }772 773 private JComboBox getCbM01TypeOfMark() {774 775 if (cbM01TypeOfMark == null) {776 777 cbM01TypeOfMark = new JComboBox();778 779 // Inhalt der ComboBox780 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.142")); //$NON-NLS-1$781 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.143")); //$NON-NLS-1$782 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.144")); //$NON-NLS-1$783 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.145")); //$NON-NLS-1$784 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.146")); //$NON-NLS-1$785 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.147")); //$NON-NLS-1$786 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.148")); //$NON-NLS-1$787 788 cbM01TypeOfMark.setBounds(new Rectangle(45, 25, 165, 25));789 // cbM01TypeOfMark.setEditable(false);790 cbM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$791 cbM01TypeOfMark.setEnabled(true);792 793 cbM01TypeOfMark.addActionListener(new ActionListener() {794 public void actionPerformed(java.awt.event.ActionEvent e) {795 int type = cbM01TypeOfMark.getSelectedIndex();480 private JDialog getDM01SeaMap() { 481 482 if (dM01SeaMap == null) { 483 dM01SeaMap = new JDialog(); 484 dM01SeaMap.setSize(new Dimension(400, 400)); 485 dM01SeaMap.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 486 dM01SeaMap.setModal(false); 487 dM01SeaMap.setResizable(false); 488 dM01SeaMap.setContentPane(getPM01SeaMap()); 489 dM01SeaMap.setTitle(Messages.getString("SmpDialogAction.9")); //$NON-NLS-1$ 490 dM01SeaMap.setVisible(false); 491 dM01SeaMap.setAlwaysOnTop(true); 492 dM01SeaMap.addWindowListener(new java.awt.event.WindowAdapter() { 493 public void windowClosing(java.awt.event.WindowEvent e) { 494 495 // Pictogramme wiederherstellen und aufraeumen 496 if (obuoy != null) 497 PicRebuild(); 498 // Deaktivierung des Listeners 499 DataSet.removeSelectionListener(SmpListener); 500 Selection = null; 501 502 SmpItem.setEnabled(true); 503 } 504 505 public void windowActivated(WindowEvent arg0) { 506 parseSeaMark(); 507 buoy.paintSign(); 508 } 509 }); 510 } 511 return dM01SeaMap; 512 } 513 514 private JPanel getPM01SeaMap() { 515 if (pM01SeaMap == null) { 516 517 lM01Icon = new JLabel(); 518 lM01Icon.setBounds(new Rectangle(220, 20, 150, 200)); 519 lM01Icon.setIcon(null); 520 lM01Icon.setText(""); //$NON-NLS-1$ 521 522 lM02Icon = new JLabel(); 523 lM02Icon.setBounds(new Rectangle(220, 20, 150, 200)); 524 lM02Icon.setIcon(null); 525 lM02Icon.setText(""); //$NON-NLS-1$ 526 527 lM03Icon = new JLabel(); 528 lM03Icon.setBounds(new Rectangle(220, 20, 150, 200)); 529 lM03Icon.setIcon(null); 530 lM03Icon.setText(""); //$NON-NLS-1$ 531 532 lM04Icon = new JLabel(); 533 lM04Icon.setBounds(new Rectangle(220, 20, 150, 200)); 534 lM04Icon.setIcon(null); 535 lM04Icon.setText(""); //$NON-NLS-1$ 536 537 lM05Icon = new JLabel(); 538 lM05Icon.setBounds(new Rectangle(220, 20, 150, 200)); 539 lM05Icon.setIcon(null); 540 lM05Icon.setText(""); //$NON-NLS-1$ 541 542 lM06Icon = new JLabel(); 543 lM06Icon.setBounds(new Rectangle(220, 20, 150, 200)); 544 lM06Icon.setIcon(null); 545 lM06Icon.setText(""); //$NON-NLS-1$ 546 547 lM01FireMark = new JLabel(); 548 lM01FireMark.setBounds(new Rectangle(315, 85, 80, 20)); 549 lM01FireMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$ 550 lM01FireMark.setText(""); //$NON-NLS-1$ 551 552 lM01NameMark = new JLabel(); 553 lM01NameMark.setBounds(new Rectangle(315, 65, 80, 20)); 554 lM01NameMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$ 555 lM01NameMark.setText(""); //$NON-NLS-1$ 556 557 lM01FogMark = new JLabel(); 558 lM01FogMark.setBounds(new Rectangle(220, 85, 70, 20)); 559 lM01FogMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$ 560 lM01FogMark.setText(""); //$NON-NLS-1$ 561 562 lM01RadarMark = new JLabel(); 563 lM01RadarMark.setBounds(new Rectangle(230, 65, 70, 20)); 564 lM01RadarMark.setFont(new Font("Dialog", Font.PLAIN, 10)); //$NON-NLS-1$ 565 lM01RadarMark.setText(""); //$NON-NLS-1$ 566 567 lM01Head = new JLabel(); 568 lM01Head.setBounds(new Rectangle(5, 3, 316, 16)); 569 lM01Head.setText(Messages.getString("SmpDialogAction.97")); //$NON-NLS-1$ 570 571 lM01Region = new JLabel(); 572 lM01Region.setBounds(new Rectangle(220, 7, 120, 16)); 573 lM01Region.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 574 lM01Region.setText(Messages.getString("SmpDialogAction.99")); //$NON-NLS-1$ 575 576 lM02Region = new JLabel(); 577 lM02Region.setBounds(new Rectangle(270, 7, 120, 16)); 578 lM02Region.setFont(new Font("Dialog", Font.BOLD, 12)); //$NON-NLS-1$ 579 lM02Region.setText(Messages.getString("SmpDialogAction.101")); //$NON-NLS-1$ 580 581 lM01TypeOfMark = new JLabel(); 582 lM01TypeOfMark.setBounds(new Rectangle(5, 28, 120, 16)); 583 lM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 584 lM01TypeOfMark.setText(Messages.getString("SmpDialogAction.103")); //$NON-NLS-1$ 585 586 lM01CatOfMark = new JLabel(); 587 lM01CatOfMark.setBounds(new Rectangle(5, 58, 120, 16)); 588 lM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 589 lM01CatOfMark.setText(Messages.getString("SmpDialogAction.1")); //$NON-NLS-1$ 590 591 lM01StyleOfMark = new JLabel(); 592 lM01StyleOfMark.setBounds(new Rectangle(5, 88, 148, 16)); 593 lM01StyleOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 594 lM01StyleOfMark.setText(Messages.getString("SmpDialogAction.107")); //$NON-NLS-1$ 595 596 lM01Name = new JLabel(); 597 lM01Name.setBounds(new Rectangle(5, 120, 82, 16)); 598 lM01Name.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 599 lM01Name.setText(Messages.getString("SmpDialogAction.109")); //$NON-NLS-1$ 600 601 lM01Props02 = new JLabel(); 602 lM01Props02.setBounds(new Rectangle(5, 150, 172, 16)); 603 lM01Props02.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 604 lM01Props02.setText(Messages.getString("SmpDialogAction.111")); //$NON-NLS-1$ 605 606 lM01Racon = new JLabel(); 607 lM01Racon.setBounds(new Rectangle(335, 195, 65, 20)); 608 lM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 609 lM01Racon.setText(Messages.getString("SmpDialogAction.113")); //$NON-NLS-1$ 610 611 lM01FogGroup = new JLabel(); 612 lM01FogGroup.setBounds(new Rectangle(190, 220, 100, 20)); 613 lM01FogGroup.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 614 lM01FogGroup.setText(Messages.getString("SmpDialogAction.115")); //$NON-NLS-1$ 615 616 lM01FogPeriod = new JLabel(); 617 lM01FogPeriod.setBounds(new Rectangle(300, 220, 100, 20)); 618 lM01FogPeriod.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 619 lM01FogPeriod.setText(Messages.getString("SmpDialogAction.117")); //$NON-NLS-1$ 620 621 lM01Kennung = new JLabel(); 622 lM01Kennung.setBounds(new Rectangle(240, 245, 60, 20)); 623 lM01Kennung.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 624 lM01Kennung.setText(Messages.getString("SmpDialogAction.119")); //$NON-NLS-1$ 625 626 lM01Height = new JLabel(); 627 lM01Height.setBounds(new Rectangle(10, 270, 100, 20)); 628 lM01Height.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 629 lM01Height.setText(Messages.getString("SmpDialogAction.121")); //$NON-NLS-1$ 630 631 lM01Range = new JLabel(); 632 lM01Range.setBounds(new Rectangle(108, 270, 100, 20)); 633 lM01Range.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 634 lM01Range.setText(Messages.getString("SmpDialogAction.123")); //$NON-NLS-1$ 635 636 lM01Group = new JLabel(); 637 lM01Group.setBounds(new Rectangle(204, 270, 100, 20)); 638 lM01Group.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 639 lM01Group.setText(Messages.getString("SmpDialogAction.125")); //$NON-NLS-1$ 640 641 lM01RepeatTime = new JLabel(); 642 lM01RepeatTime.setBounds(new Rectangle(300, 270, 100, 20)); 643 lM01RepeatTime.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 644 lM01RepeatTime.setText(Messages.getString("SmpDialogAction.127")); //$NON-NLS-1$ 645 646 lM01Sector = new JLabel(); 647 lM01Sector.setBounds(new Rectangle(10, 295, 180, 20)); 648 lM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 649 lM01Sector.setText(Messages.getString("SmpDialogAction.129")); //$NON-NLS-1$ 650 651 lM01Colour = new JLabel(); 652 lM01Colour.setBounds(new Rectangle(120, 295, 180, 20)); 653 lM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 654 lM01Colour.setText(Messages.getString("SmpDialogAction.131")); //$NON-NLS-1$ 655 656 lM01Bearing = new JLabel(); 657 lM01Bearing.setBounds(new Rectangle(228, 295, 180, 20)); 658 lM01Bearing.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 659 lM01Bearing.setText(Messages.getString("SmpDialogAction.133")); //$NON-NLS-1$ 660 661 rbM01RegionA = new JRadioButton( 662 Messages.getString("SmpDialogAction.134"), Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$ 663 .equals("A")); //$NON-NLS-1$ 664 rbM01RegionA.setBounds(new Rectangle(305, 0, 50, 30)); 665 rbM01RegionB = new JRadioButton("-B", Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$ 666 .equals("B")); //$NON-NLS-1$ 667 rbM01RegionB.setBounds(new Rectangle(352, 0, 50, 30)); 668 bgM01Region = new ButtonGroup(); 669 bgM01Region.add(rbM01RegionA); 670 bgM01Region.add(rbM01RegionB); 671 672 ActionListener alM01Region = new ActionListener() { 673 public void actionPerformed(java.awt.event.ActionEvent e) { 674 if (buoy instanceof BuoyLat) { 675 buoy.setRegion(rbM01RegionB.isSelected()); 676 buoy.setLightColour(); 677 buoy.paintSign(); 678 } 679 } 680 }; 681 rbM01RegionA.addActionListener(alM01Region); 682 rbM01RegionB.addActionListener(alM01Region); 683 684 rbM01Fired1 = new JRadioButton( 685 Messages.getString("SmpDialogAction.140"), true); //$NON-NLS-1$ 686 rbM01Fired1.setBounds(new Rectangle(85, 240, 70, 30)); 687 rbM01FiredN = new JRadioButton( 688 Messages.getString("SmpDialogAction.141"), false); //$NON-NLS-1$ 689 rbM01FiredN.setBounds(new Rectangle(155, 240, 80, 30)); 690 bgM01Fired = new ButtonGroup(); 691 bgM01Fired.add(rbM01Fired1); 692 bgM01Fired.add(rbM01FiredN); 693 694 ActionListener alM01Fired = new ActionListener() { 695 public void actionPerformed(java.awt.event.ActionEvent e) { 696 buoy.setSectored(rbM01FiredN.isSelected()); 697 cbM01Sector.setSelectedIndex(0); 698 buoy.setSectorIndex(0); 699 buoy.paintSign(); 700 } 701 }; 702 rbM01Fired1.addActionListener(alM01Fired); 703 rbM01FiredN.addActionListener(alM01Fired); 704 705 pM01SeaMap = new JPanel(); 706 pM01SeaMap.setLayout(null); 707 pM01SeaMap.add(lM01Head, null); 708 pM01SeaMap.add(rbM01RegionA, null); 709 pM01SeaMap.add(rbM01RegionB, null); 710 pM01SeaMap.add(lM01Region, null); 711 pM01SeaMap.add(lM02Region, null); 712 pM01SeaMap.add(lM01Icon, null); 713 pM01SeaMap.add(lM02Icon, null); 714 pM01SeaMap.add(lM03Icon, null); 715 pM01SeaMap.add(lM04Icon, null); 716 pM01SeaMap.add(lM05Icon, null); 717 pM01SeaMap.add(lM06Icon, null); 718 pM01SeaMap.add(getCbM01TypeOfMark(), null); 719 pM01SeaMap.add(lM01TypeOfMark, null); 720 pM01SeaMap.add(getCbM01CatOfMark(), null); 721 pM01SeaMap.add(lM01CatOfMark, null); 722 pM01SeaMap.add(getCbM01StyleOfMark(), null); 723 pM01SeaMap.add(lM01StyleOfMark, null); 724 pM01SeaMap.add(lM01Name, null); 725 pM01SeaMap.add(getTfM01Name(), null); 726 pM01SeaMap.add(lM01Props02, null); 727 pM01SeaMap.add(getCM01TopMark(), null); 728 pM01SeaMap.add(getCbM01TopMark(), null); 729 pM01SeaMap.add(getCM01Radar(), null); 730 pM01SeaMap.add(getCM01Racon(), null); 731 pM01SeaMap.add(getCbM01Racon(), null); 732 pM01SeaMap.add(getTfM01Racon(), null); 733 pM01SeaMap.add(lM01Racon, null); 734 pM01SeaMap.add(getCM01Fog(), null); 735 pM01SeaMap.add(getCbM01Fog(), null); 736 pM01SeaMap.add(getTfM01FogGroup(), null); 737 pM01SeaMap.add(lM01FogGroup, null); 738 pM01SeaMap.add(getTfM01FogPeriod(), null); 739 pM01SeaMap.add(lM01FogPeriod, null); 740 pM01SeaMap.add(getCM01Fired(), null); 741 pM01SeaMap.add(rbM01Fired1, null); 742 pM01SeaMap.add(rbM01FiredN, null); 743 pM01SeaMap.add(getTfM01RepeatTime(), null); 744 pM01SeaMap.add(lM01RepeatTime, null); 745 pM01SeaMap.add(getCbM01Kennung(), null); 746 pM01SeaMap.add(lM01Kennung, null); 747 pM01SeaMap.add(lM01Group, null); 748 pM01SeaMap.add(getTfM01Group(), null); 749 pM01SeaMap.add(lM01Sector, null); 750 pM01SeaMap.add(getCbM01Sector(), null); 751 pM01SeaMap.add(lM01Colour, null); 752 pM01SeaMap.add(getCbM01Colour(), null); 753 pM01SeaMap.add(lM01Bearing, null); 754 pM01SeaMap.add(getTfM01Bearing(), null); 755 pM01SeaMap.add(getTfM02Bearing(), null); 756 pM01SeaMap.add(getTfM01Radius(), null); 757 pM01SeaMap.add(lM01Height, null); 758 pM01SeaMap.add(getTfM01Height(), null); 759 pM01SeaMap.add(lM01Range, null); 760 pM01SeaMap.add(getTfM01Range(), null); 761 pM01SeaMap.add(lM01FireMark, null); 762 pM01SeaMap.add(lM01NameMark, null); 763 pM01SeaMap.add(lM01FogMark, null); 764 pM01SeaMap.add(lM01RadarMark, null); 765 pM01SeaMap.add(getBM01Save(), null); 766 pM01SeaMap.add(getSM01StatusBar(), null); 767 pM01SeaMap.add(getBM01Close(), null); 768 pM01SeaMap.add(getCM01IconVisible(), null); 769 } 770 return pM01SeaMap; 771 } 772 773 private JComboBox getCbM01TypeOfMark() { 774 775 if (cbM01TypeOfMark == null) { 776 777 cbM01TypeOfMark = new JComboBox(); 778 779 // Inhalt der ComboBox 780 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.142")); //$NON-NLS-1$ 781 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.143")); //$NON-NLS-1$ 782 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.144")); //$NON-NLS-1$ 783 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.145")); //$NON-NLS-1$ 784 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.146")); //$NON-NLS-1$ 785 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.147")); //$NON-NLS-1$ 786 cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.148")); //$NON-NLS-1$ 787 788 cbM01TypeOfMark.setBounds(new Rectangle(45, 25, 165, 25)); 789 // cbM01TypeOfMark.setEditable(false); 790 cbM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 791 cbM01TypeOfMark.setEnabled(true); 792 793 cbM01TypeOfMark.addActionListener(new ActionListener() { 794 public void actionPerformed(java.awt.event.ActionEvent e) { 795 int type = cbM01TypeOfMark.getSelectedIndex(); 796 796 797 797 if (buoy == null) { … … 801 801 } 802 802 803 Node n = buoy.getNode();804 if (n == null)805 return;806 807 paintlock = true;808 switch (type) {803 Node n = buoy.getNode(); 804 if (n == null) 805 return; 806 807 paintlock = true; 808 switch (type) { 809 809 810 810 case SeaMark.UNKNOWN_TYPE: … … 814 814 break; 815 815 816 case SeaMark.LATERAL:817 if (!(buoy instanceof BuoyLat)) {818 buoy = new BuoyLat(dia, n);819 buoy.setBuoyIndex(0);820 }821 break;822 823 case SeaMark.CARDINAL:824 if (!(buoy instanceof BuoyCard)) {825 buoy = new BuoyCard(dia, n);826 buoy.setBuoyIndex(0);827 }828 break;829 830 case SeaMark.SAFE_WATER:831 if (!(buoy instanceof BuoySaw)) {832 buoy = new BuoySaw(dia, n);833 }834 buoy.setBuoyIndex(type);835 break;836 837 case SeaMark.ISOLATED_DANGER:838 if (!(buoy instanceof BuoyIsol)) {839 buoy = new BuoyIsol(dia, n);840 }841 buoy.setBuoyIndex(type);842 break;843 844 case SeaMark.SPECIAL_PURPOSE:845 if (!(buoy instanceof BuoySpec)) {846 buoy = new BuoySpec(dia, n);847 }848 buoy.setBuoyIndex(type);849 break;850 851 case SeaMark.LIGHT:852 if (!(buoy instanceof BuoyNota)) {853 buoy = new BuoyNota(dia, n);854 buoy.setBuoyIndex(0);855 }856 break;857 }858 859 buoy.refreshStyles();860 buoy.refreshLights();861 buoy.setLightColour();862 paintlock = false;863 buoy.paintSign();864 }865 });866 }867 return cbM01TypeOfMark;868 }869 870 private JComboBox getCbM01CatOfMark() {871 if (cbM01CatOfMark == null) {872 cbM01CatOfMark = new JComboBox();873 cbM01CatOfMark.setBounds(new Rectangle(60, 55, 150, 25));874 cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$875 cbM01CatOfMark.setEnabled(true);876 877 cbM01CatOfMark.addActionListener(new ActionListener() {878 public void actionPerformed(ActionEvent e) {879 int cat = cbM01CatOfMark.getSelectedIndex();816 case SeaMark.LATERAL: 817 if (!(buoy instanceof BuoyLat)) { 818 buoy = new BuoyLat(dia, n); 819 buoy.setBuoyIndex(0); 820 } 821 break; 822 823 case SeaMark.CARDINAL: 824 if (!(buoy instanceof BuoyCard)) { 825 buoy = new BuoyCard(dia, n); 826 buoy.setBuoyIndex(0); 827 } 828 break; 829 830 case SeaMark.SAFE_WATER: 831 if (!(buoy instanceof BuoySaw)) { 832 buoy = new BuoySaw(dia, n); 833 } 834 buoy.setBuoyIndex(type); 835 break; 836 837 case SeaMark.ISOLATED_DANGER: 838 if (!(buoy instanceof BuoyIsol)) { 839 buoy = new BuoyIsol(dia, n); 840 } 841 buoy.setBuoyIndex(type); 842 break; 843 844 case SeaMark.SPECIAL_PURPOSE: 845 if (!(buoy instanceof BuoySpec)) { 846 buoy = new BuoySpec(dia, n); 847 } 848 buoy.setBuoyIndex(type); 849 break; 850 851 case SeaMark.LIGHT: 852 if (!(buoy instanceof BuoyNota)) { 853 buoy = new BuoyNota(dia, n); 854 buoy.setBuoyIndex(0); 855 } 856 break; 857 } 858 859 buoy.refreshStyles(); 860 buoy.refreshLights(); 861 buoy.setLightColour(); 862 paintlock = false; 863 buoy.paintSign(); 864 } 865 }); 866 } 867 return cbM01TypeOfMark; 868 } 869 870 private JComboBox getCbM01CatOfMark() { 871 if (cbM01CatOfMark == null) { 872 cbM01CatOfMark = new JComboBox(); 873 cbM01CatOfMark.setBounds(new Rectangle(60, 55, 150, 25)); 874 cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 875 cbM01CatOfMark.setEnabled(true); 876 877 cbM01CatOfMark.addActionListener(new ActionListener() { 878 public void actionPerformed(ActionEvent e) { 879 int cat = cbM01CatOfMark.getSelectedIndex(); 880 880 881 881 if (buoy == null) { … … 885 885 } 886 886 887 Node n = buoy.getNode();888 if (n == null)889 return;887 Node n = buoy.getNode(); 888 if (n == null) 889 return; 890 890 891 891 buoy.setBuoyIndex(cat); 892 buoy.refreshStyles();893 buoy.refreshLights();894 buoy.setLightColour();895 buoy.paintSign();896 }897 });898 }899 return cbM01CatOfMark;900 }892 buoy.refreshStyles(); 893 buoy.refreshLights(); 894 buoy.setLightColour(); 895 buoy.paintSign(); 896 } 897 }); 898 } 899 return cbM01CatOfMark; 900 } 901 901 902 902 private JComboBox getCbM01StyleOfMark() { … … 920 920 } 921 921 922 private JTextField getTfM01Name() {923 if (tfM01Name == null) {924 tfM01Name = new JTextField();925 tfM01Name.setBounds(new Rectangle(50, 120, 150, 20));926 tfM01Name.addFocusListener(new FocusAdapter() {927 public void focusLost(FocusEvent e) {928 buoy.setName(tfM01Name.getText());929 buoy.paintSign();930 }931 });932 }933 return tfM01Name;934 }935 936 private JCheckBox getCM01TopMark() {937 if (cM01TopMark == null) {938 cM01TopMark = new JCheckBox();939 cM01TopMark.setBounds(new Rectangle(10, 170, 100, 20));940 cM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$941 cM01TopMark.setText(Messages.getString("SmpDialogAction.166")); //$NON-NLS-1$942 cM01TopMark.addItemListener(new ItemListener() {943 public void itemStateChanged(ItemEvent e) {944 if (buoy == null) {945 return;946 }947 buoy.setTopMark(cM01TopMark.isSelected());948 buoy.paintSign();949 }950 });951 }952 return cM01TopMark;953 }954 955 private JComboBox getCbM01TopMark() {956 if (cbM01TopMark == null) {957 cbM01TopMark = new JComboBox();958 cbM01TopMark.setBounds(new Rectangle(110, 170, 80, 20));959 cbM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$960 cbM01TopMark.addActionListener(new ActionListener() {961 public void actionPerformed(ActionEvent e) {962 int top = cbM01TopMark.getSelectedIndex();963 buoy.paintSign();964 }965 });966 }967 return cbM01TopMark;968 }969 970 private JCheckBox getCM01Radar() {971 if (cM01Radar == null) {972 cM01Radar = new JCheckBox();973 cM01Radar.setBounds(new Rectangle(10, 195, 120, 20));974 cM01Radar.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$975 cM01Radar.setText(Messages.getString("SmpDialogAction.169")); //$NON-NLS-1$976 cM01Radar.addActionListener(new ActionListener() {977 public void actionPerformed(ActionEvent e) {978 if (cM01Radar.isSelected()) {979 buoy.setRadar(true);980 buoy.setRacon(false);981 cM01Racon.setSelected(false);982 } else {983 buoy.setRadar(false);984 }985 buoy.paintSign();986 }987 });988 }989 return cM01Radar;990 }991 992 private JCheckBox getCM01Racon() {993 if (cM01Racon == null) {994 cM01Racon = new JCheckBox();995 cM01Racon.setBounds(new Rectangle(130, 195, 110, 20));996 cM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$997 cM01Racon.setText(Messages.getString("SmpDialogAction.171")); //$NON-NLS-1$998 cM01Racon.addActionListener(new ActionListener() {999 public void actionPerformed(ActionEvent e) {1000 if (cM01Racon.isSelected()) {1001 buoy.setRacon(true);1002 buoy.setRadar(false);1003 cM01Radar.setSelected(false);1004 } else {1005 buoy.setRacon(false);1006 }1007 buoy.paintSign();1008 }1009 });1010 }1011 return cM01Racon;1012 }1013 1014 private JComboBox getCbM01Racon() {1015 if (cbM01Racon == null) {1016 cbM01Racon = new JComboBox();1017 cbM01Racon.setBounds(new Rectangle(240, 195, 80, 20));1018 cbM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1019 cbM01Racon.removeAllItems();1020 cbM01Racon.addItem("Any");1021 cbM01Racon.addItem("Racon");1022 cbM01Racon.addItem("Ramark");1023 cbM01Racon.addItem("Leading");1024 cbM01Racon.addActionListener(new ActionListener() {1025 public void actionPerformed(ActionEvent e) {1026 int rac = cbM01Racon.getSelectedIndex();1027 buoy.setRaType(rac);1028 buoy.paintSign();1029 }1030 });1031 }1032 return cbM01Racon;1033 }1034 1035 private JTextField getTfM01Racon() {1036 if (tfM01Racon == null) {1037 tfM01Racon = new JTextField();1038 tfM01Racon.setBounds(new Rectangle(345, 195, 30, 20));1039 tfM01Racon.addFocusListener(new FocusAdapter() {1040 public void focusLost(FocusEvent e) {1041 buoy.setRaconGroup(tfM01Racon.getText().trim());1042 buoy.paintSign();1043 }1044 });1045 }1046 return tfM01Racon;1047 }1048 1049 private JCheckBox getCM01Fog() {1050 if (cM01Fog == null) {1051 cM01Fog = new JCheckBox();1052 cM01Fog.setBounds(new Rectangle(10, 220, 90, 20));1053 cM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1054 cM01Fog.setText(Messages.getString("SmpDialogAction.174")); //$NON-NLS-1$1055 cM01Fog.addActionListener(new ActionListener() {1056 public void actionPerformed(ActionEvent e) {1057 buoy.setFog(cM01Fog.isSelected());1058 buoy.paintSign();1059 }1060 });1061 }1062 return cM01Fog;1063 }1064 1065 private JComboBox getCbM01Fog() {1066 if (cbM01Fog == null) {1067 cbM01Fog = new JComboBox();1068 cbM01Fog.setBounds(new Rectangle(100, 220, 70, 20));1069 cbM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1070 cbM01Fog.removeAllItems();1071 cbM01Fog.addItem("Any");1072 cbM01Fog.addItem("Horn");1073 cbM01Fog.addItem("Siren");1074 cbM01Fog.addItem("Dia");1075 cbM01Fog.addItem("Bell");1076 cbM01Fog.addItem("Whis");1077 cbM01Fog.addItem("Gong");1078 cbM01Fog.addItem("Explos");1079 cbM01Fog.addActionListener(new ActionListener() {1080 public void actionPerformed(ActionEvent e) {1081 if (cbM01Fog.getSelectedIndex() > 0)1082 buoy.setFogSound(cbM01Fog.getSelectedIndex());1083 else1084 buoy.setFogSound(0);1085 buoy.paintSign();1086 }1087 });1088 }1089 return cbM01Fog;1090 }1091 1092 private JTextField getTfM01FogGroup() {1093 if (tfM01FogGroup == null) {1094 tfM01FogGroup = new JTextField();1095 tfM01FogGroup.setBounds(new Rectangle(243, 220, 30, 20));1096 tfM01FogGroup.addFocusListener(new FocusAdapter() {1097 public void focusLost(FocusEvent e) {1098 buoy.setFogGroup(tfM01FogGroup.getText().trim());1099 buoy.paintSign();1100 }1101 });1102 }1103 return tfM01FogGroup;1104 }1105 1106 private JTextField getTfM01FogPeriod() {1107 if (tfM01FogPeriod == null) {1108 tfM01FogPeriod = new JTextField();1109 tfM01FogPeriod.setBounds(new Rectangle(345, 220, 30, 20));1110 tfM01FogPeriod.addFocusListener(new FocusAdapter() {1111 public void focusLost(FocusEvent e) {1112 buoy.setFogPeriod(tfM01FogPeriod.getText().trim());1113 buoy.paintSign();1114 }1115 });1116 }1117 return tfM01FogPeriod;1118 }1119 1120 private JCheckBox getCM01Fired() {1121 if (cM01Fired == null) {1122 cM01Fired = new JCheckBox();1123 cM01Fired.setBounds(new Rectangle(10, 245, 75, 20));1124 cM01Fired.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1125 cM01Fired.setText(Messages.getString("SmpDialogAction.177")); //$NON-NLS-1$1126 cM01Fired.addItemListener(new ItemListener() {1127 public void itemStateChanged(ItemEvent e) {1128 if (buoy == null) {1129 return;1130 }1131 buoy.setFired(cM01Fired.isSelected());1132 buoy.setLightColour();1133 buoy.paintSign();1134 }1135 });1136 }1137 1138 return cM01Fired;1139 }1140 1141 private JComboBox getCbM01Kennung() {1142 if (cbM01Kennung == null) {1143 cbM01Kennung = new JComboBox();1144 cbM01Kennung.setBounds(new Rectangle(305, 245, 70, 20));1145 cbM01Kennung.addActionListener(new ActionListener() {1146 public void actionPerformed(ActionEvent e) {1147 int i1, i2;1148 String c = ""; //$NON-NLS-1$ //$NON-NLS-2$1149 String it = (String) cbM01Kennung.getSelectedItem();1150 1151 if (it == null)1152 return;1153 if (it.equals(Messages.getString("SmpDialogAction.212"))) //$NON-NLS-1$1154 return;1155 if (buoy == null)1156 return;1157 1158 if (it.contains("(")) {1159 i1 = it.indexOf("(");1160 i2 = it.indexOf(")");1161 c = it.substring(i1 + 1, i2);1162 it = it.substring(0, i1) + it.substring(i2 + 1);1163 }1164 if (!c.isEmpty())1165 buoy.setLightGroup(c);1166 ;1167 buoy.setLightChar(it);1168 buoy.paintSign();1169 }1170 });1171 }1172 return cbM01Kennung;1173 }1174 1175 private JTextField getTfM01Height() {1176 if (tfM01Height == null) {1177 tfM01Height = new JTextField();1178 tfM01Height.setBounds(new Rectangle(54, 270, 30, 20));1179 tfM01Height.addFocusListener(new FocusAdapter() {1180 public void focusLost(FocusEvent e) {1181 buoy.setHeight(tfM01Height.getText().trim());1182 buoy.paintSign();1183 }1184 });1185 }1186 return tfM01Height;1187 }1188 1189 private JTextField getTfM01Range() {1190 if (tfM01Range == null) {1191 tfM01Range = new JTextField();1192 tfM01Range.setBounds(new Rectangle(151, 270, 30, 20));1193 tfM01Range.addFocusListener(new FocusAdapter() {1194 public void focusLost(FocusEvent e) {1195 buoy.setRange(tfM01Range.getText().trim());1196 buoy.paintSign();1197 }1198 });1199 }1200 return tfM01Range;1201 }1202 1203 private JTextField getTfM01Group() {1204 if (tfM01Group == null) {1205 tfM01Group = new JTextField();1206 tfM01Group.setBounds(new Rectangle(255, 270, 30, 20));1207 tfM01Group.addFocusListener(new FocusAdapter() {1208 public void focusLost(FocusEvent e) {1209 buoy.setLightGroup(tfM01Group.getText().trim());1210 buoy.paintSign();1211 }1212 });1213 }1214 return tfM01Group;1215 }1216 1217 private JTextField getTfM01RepeatTime() {1218 if (tfM01RepeatTime == null) {1219 tfM01RepeatTime = new JTextField();1220 tfM01RepeatTime.setBounds(new Rectangle(345, 270, 30, 20));1221 tfM01RepeatTime.addActionListener(new ActionListener() {1222 public void actionPerformed(ActionEvent e) {1223 buoy.setLightPeriod(tfM01RepeatTime.getText().trim());1224 buoy.paintSign();1225 }1226 });1227 1228 tfM01RepeatTime.addFocusListener(new FocusAdapter() {1229 public void focusLost(FocusEvent e) {1230 buoy.setLightPeriod(tfM01RepeatTime.getText().trim());1231 buoy.paintSign();1232 }1233 });1234 }1235 return tfM01RepeatTime;1236 }1237 1238 private JComboBox getCbM01Colour() {1239 if (cbM01Colour == null) {1240 cbM01Colour = new JComboBox();1241 cbM01Colour.setBounds(new Rectangle(165, 295, 40, 20));1242 cbM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1243 cbM01Colour.addItem(""); //$NON-NLS-1$1244 cbM01Colour.addItem(Messages.getString("SmpDialogAction.190")); //$NON-NLS-1$1245 cbM01Colour.addItem(Messages.getString("SmpDialogAction.191")); //$NON-NLS-1$1246 cbM01Colour.addItem(Messages.getString("SmpDialogAction.192")); //$NON-NLS-1$1247 cbM01Colour.addActionListener(new ActionListener() {1248 public void actionPerformed(ActionEvent e) {1249 buoy.setLightColour((String) cbM01Colour.getSelectedItem());1250 buoy.paintSign();1251 }1252 });1253 }1254 return cbM01Colour;1255 }1256 1257 private JComboBox getCbM01Sector() {1258 if (cbM01Sector == null) {1259 cbM01Sector = new JComboBox();1260 cbM01Sector.setBounds(new Rectangle(55, 295, 50, 20));1261 cbM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$1262 cbM01Sector.addItem(Messages.getString("SmpDialogAction.194")); //$NON-NLS-1$1263 cbM01Sector.addItem(Messages.getString("SmpDialogAction.195")); //$NON-NLS-1$1264 cbM01Sector.addItem(Messages.getString("SmpDialogAction.196")); //$NON-NLS-1$1265 cbM01Sector.addItem(Messages.getString("SmpDialogAction.197")); //$NON-NLS-1$1266 cbM01Sector.addItem(Messages.getString("SmpDialogAction.198")); //$NON-NLS-1$1267 cbM01Sector.addItem(Messages.getString("SmpDialogAction.199")); //$NON-NLS-1$1268 cbM01Sector.addItem(Messages.getString("SmpDialogAction.200")); //$NON-NLS-1$1269 cbM01Sector.addItem(Messages.getString("SmpDialogAction.201")); //$NON-NLS-1$1270 cbM01Sector.addItem(Messages.getString("SmpDialogAction.202")); //$NON-NLS-1$1271 cbM01Sector.addItem(Messages.getString("SmpDialogAction.203")); //$NON-NLS-1$1272 cbM01Sector.addActionListener(new ActionListener() {1273 public void actionPerformed(ActionEvent e) {1274 buoy.setSectorIndex(cbM01Sector.getSelectedIndex());1275 buoy.paintSign();1276 }1277 });1278 }1279 return cbM01Sector;1280 }1281 1282 private JTextField getTfM01Bearing() {1283 if (tfM01Bearing == null) {1284 tfM01Bearing = new JTextField();1285 tfM01Bearing.setBounds(new Rectangle(255, 295, 30, 20));1286 tfM01Bearing.addFocusListener(new FocusAdapter() {1287 public void focusLost(FocusEvent e) {1288 buoy.setBearing1(tfM01Bearing.getText().trim());1289 }1290 });1291 }1292 return tfM01Bearing;1293 }1294 1295 private JTextField getTfM02Bearing() {1296 if (tfM02Bearing == null) {1297 tfM02Bearing = new JTextField();1298 tfM02Bearing.setBounds(new Rectangle(300, 295, 30, 20));1299 tfM02Bearing.addFocusListener(new FocusAdapter() {1300 public void focusLost(FocusEvent e) {1301 buoy.setBearing2(tfM02Bearing.getText().trim());1302 }1303 });1304 }1305 return tfM02Bearing;1306 }1307 1308 private JTextField getTfM01Radius() {1309 if (tfM01Radius == null) {1310 tfM01Radius = new JTextField();1311 tfM01Radius.setBounds(new Rectangle(355, 295, 30, 20));1312 tfM01Radius.addFocusListener(new FocusAdapter() {1313 public void focusLost(FocusEvent e) {1314 buoy.setRadius(tfM01Radius.getText().trim());1315 }1316 });1317 }1318 return tfM01Radius;1319 }1320 1321 private JButton getBM01Close() {1322 if (bM01Close == null) {1323 bM01Close = new JButton();1324 bM01Close.setBounds(new Rectangle(20, 325, 110, 20));1325 bM01Close.setText(tr("Close"));1326 bM01Close.addActionListener(new ActionListener() {1327 public void actionPerformed(ActionEvent e) {1328 // aufraeumen1329 if (obuoy != null)1330 PicRebuild();1331 // Deaktivierung des Listeners1332 DataSet.removeSelectionListener(SmpListener);1333 Selection = null;1334 SmpItem.setEnabled(true);1335 onode = null;1336 1337 dM01SeaMap.dispose();1338 }1339 });1340 }1341 1342 return bM01Close;1343 }1344 1345 private JButton getBM01Save() {1346 if (bM01Save == null) {1347 bM01Save = new JButton();1348 bM01Save.setBounds(new Rectangle(150, 325, 110, 20));1349 bM01Save.setText(tr("Save"));1350 bM01Save.setEnabled(false);1351 1352 bM01Save.addActionListener(new ActionListener() {1353 public void actionPerformed(ActionEvent e) {1354 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(1355 "/images/Auge.png"))); //$NON-NLS-1$1356 cM01IconVisible.setSelected(true);1357 1358 buoy.saveSign();1359 }1360 });1361 }1362 1363 return bM01Save;1364 }1365 1366 private JCheckBox getCM01IconVisible() {1367 if (cM01IconVisible == null) {1368 cM01IconVisible = new JCheckBox();1369 cM01IconVisible.setBounds(new Rectangle(310, 325, 30, 21));1370 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(1371 "/images/AugeN.png"))); //$NON-NLS-1$1372 cM01IconVisible.setSelected(false);1373 cM01IconVisible.addActionListener(new ActionListener() {1374 public void actionPerformed(ActionEvent e) {1375 Command c;1376 Node n = null;1377 DataSet ds = Main.main.getCurrentDataSet();1378 1379 if (buoy != null)1380 n = buoy.getNode();1381 1382 if (cM01IconVisible.isSelected()) {1383 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(1384 "/images/AugeN.png"))); //$NON-NLS-1$1385 if (n != null) {1386 // seamark loeschen, wenn notwendig1387 if (n.getKeys().containsKey("seamark")) { //$NON-NLS-1$1388 smb = n.getKeys().get("seamark"); // smb merken //$NON-NLS-1$1389 1390 c = new ChangePropertyCommand(n, "seamark", null); //$NON-NLS-1$1391 c.executeCommand();1392 ds.fireSelectionChanged();1393 obuoy = buoy;1394 }1395 1396 // seamark:type loeschen, wenn notwendig1397 if (n.getKeys().containsKey("seamark:type")) { //$NON-NLS-1$1398 smt = n.getKeys().get("seamark:type"); // smt merken //$NON-NLS-1$1399 1400 c = new ChangePropertyCommand(n, "seamark:type", null); //$NON-NLS-1$1401 c.executeCommand();1402 ds.fireSelectionChanged();1403 obuoy = buoy;1404 }1405 1406 }1407 } else {1408 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(1409 "/images/Auge.png"))); //$NON-NLS-1$1410 PicRebuild();1411 obuoy = null;1412 }1413 buoy.paintSign();1414 }1415 });1416 }1417 return cM01IconVisible;1418 }1419 1420 private JTextField getSM01StatusBar() {1421 if (sM01StatusBar == null) {1422 sM01StatusBar = new JTextField();1423 sM01StatusBar.setBounds(new Rectangle(7, 355, 385, 20));1424 sM01StatusBar.setBackground(SystemColor.activeCaptionBorder);1425 }1426 return sM01StatusBar;1427 }922 private JTextField getTfM01Name() { 923 if (tfM01Name == null) { 924 tfM01Name = new JTextField(); 925 tfM01Name.setBounds(new Rectangle(50, 120, 150, 20)); 926 tfM01Name.addFocusListener(new FocusAdapter() { 927 public void focusLost(FocusEvent e) { 928 buoy.setName(tfM01Name.getText()); 929 buoy.paintSign(); 930 } 931 }); 932 } 933 return tfM01Name; 934 } 935 936 private JCheckBox getCM01TopMark() { 937 if (cM01TopMark == null) { 938 cM01TopMark = new JCheckBox(); 939 cM01TopMark.setBounds(new Rectangle(10, 170, 100, 20)); 940 cM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 941 cM01TopMark.setText(Messages.getString("SmpDialogAction.166")); //$NON-NLS-1$ 942 cM01TopMark.addItemListener(new ItemListener() { 943 public void itemStateChanged(ItemEvent e) { 944 if (buoy == null) { 945 return; 946 } 947 buoy.setTopMark(cM01TopMark.isSelected()); 948 buoy.paintSign(); 949 } 950 }); 951 } 952 return cM01TopMark; 953 } 954 955 private JComboBox getCbM01TopMark() { 956 if (cbM01TopMark == null) { 957 cbM01TopMark = new JComboBox(); 958 cbM01TopMark.setBounds(new Rectangle(110, 170, 80, 20)); 959 cbM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 960 cbM01TopMark.addActionListener(new ActionListener() { 961 public void actionPerformed(ActionEvent e) { 962 int top = cbM01TopMark.getSelectedIndex(); 963 buoy.paintSign(); 964 } 965 }); 966 } 967 return cbM01TopMark; 968 } 969 970 private JCheckBox getCM01Radar() { 971 if (cM01Radar == null) { 972 cM01Radar = new JCheckBox(); 973 cM01Radar.setBounds(new Rectangle(10, 195, 120, 20)); 974 cM01Radar.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 975 cM01Radar.setText(Messages.getString("SmpDialogAction.169")); //$NON-NLS-1$ 976 cM01Radar.addActionListener(new ActionListener() { 977 public void actionPerformed(ActionEvent e) { 978 if (cM01Radar.isSelected()) { 979 buoy.setRadar(true); 980 buoy.setRacon(false); 981 cM01Racon.setSelected(false); 982 } else { 983 buoy.setRadar(false); 984 } 985 buoy.paintSign(); 986 } 987 }); 988 } 989 return cM01Radar; 990 } 991 992 private JCheckBox getCM01Racon() { 993 if (cM01Racon == null) { 994 cM01Racon = new JCheckBox(); 995 cM01Racon.setBounds(new Rectangle(130, 195, 110, 20)); 996 cM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 997 cM01Racon.setText(Messages.getString("SmpDialogAction.171")); //$NON-NLS-1$ 998 cM01Racon.addActionListener(new ActionListener() { 999 public void actionPerformed(ActionEvent e) { 1000 if (cM01Racon.isSelected()) { 1001 buoy.setRacon(true); 1002 buoy.setRadar(false); 1003 cM01Radar.setSelected(false); 1004 } else { 1005 buoy.setRacon(false); 1006 } 1007 buoy.paintSign(); 1008 } 1009 }); 1010 } 1011 return cM01Racon; 1012 } 1013 1014 private JComboBox getCbM01Racon() { 1015 if (cbM01Racon == null) { 1016 cbM01Racon = new JComboBox(); 1017 cbM01Racon.setBounds(new Rectangle(240, 195, 80, 20)); 1018 cbM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1019 cbM01Racon.removeAllItems(); 1020 cbM01Racon.addItem("Any"); 1021 cbM01Racon.addItem("Racon"); 1022 cbM01Racon.addItem("Ramark"); 1023 cbM01Racon.addItem("Leading"); 1024 cbM01Racon.addActionListener(new ActionListener() { 1025 public void actionPerformed(ActionEvent e) { 1026 int rac = cbM01Racon.getSelectedIndex(); 1027 buoy.setRaType(rac); 1028 buoy.paintSign(); 1029 } 1030 }); 1031 } 1032 return cbM01Racon; 1033 } 1034 1035 private JTextField getTfM01Racon() { 1036 if (tfM01Racon == null) { 1037 tfM01Racon = new JTextField(); 1038 tfM01Racon.setBounds(new Rectangle(345, 195, 30, 20)); 1039 tfM01Racon.addFocusListener(new FocusAdapter() { 1040 public void focusLost(FocusEvent e) { 1041 buoy.setRaconGroup(tfM01Racon.getText().trim()); 1042 buoy.paintSign(); 1043 } 1044 }); 1045 } 1046 return tfM01Racon; 1047 } 1048 1049 private JCheckBox getCM01Fog() { 1050 if (cM01Fog == null) { 1051 cM01Fog = new JCheckBox(); 1052 cM01Fog.setBounds(new Rectangle(10, 220, 90, 20)); 1053 cM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1054 cM01Fog.setText(Messages.getString("SmpDialogAction.174")); //$NON-NLS-1$ 1055 cM01Fog.addActionListener(new ActionListener() { 1056 public void actionPerformed(ActionEvent e) { 1057 buoy.setFog(cM01Fog.isSelected()); 1058 buoy.paintSign(); 1059 } 1060 }); 1061 } 1062 return cM01Fog; 1063 } 1064 1065 private JComboBox getCbM01Fog() { 1066 if (cbM01Fog == null) { 1067 cbM01Fog = new JComboBox(); 1068 cbM01Fog.setBounds(new Rectangle(100, 220, 70, 20)); 1069 cbM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1070 cbM01Fog.removeAllItems(); 1071 cbM01Fog.addItem("Any"); 1072 cbM01Fog.addItem("Horn"); 1073 cbM01Fog.addItem("Siren"); 1074 cbM01Fog.addItem("Dia"); 1075 cbM01Fog.addItem("Bell"); 1076 cbM01Fog.addItem("Whis"); 1077 cbM01Fog.addItem("Gong"); 1078 cbM01Fog.addItem("Explos"); 1079 cbM01Fog.addActionListener(new ActionListener() { 1080 public void actionPerformed(ActionEvent e) { 1081 if (cbM01Fog.getSelectedIndex() > 0) 1082 buoy.setFogSound(cbM01Fog.getSelectedIndex()); 1083 else 1084 buoy.setFogSound(0); 1085 buoy.paintSign(); 1086 } 1087 }); 1088 } 1089 return cbM01Fog; 1090 } 1091 1092 private JTextField getTfM01FogGroup() { 1093 if (tfM01FogGroup == null) { 1094 tfM01FogGroup = new JTextField(); 1095 tfM01FogGroup.setBounds(new Rectangle(243, 220, 30, 20)); 1096 tfM01FogGroup.addFocusListener(new FocusAdapter() { 1097 public void focusLost(FocusEvent e) { 1098 buoy.setFogGroup(tfM01FogGroup.getText().trim()); 1099 buoy.paintSign(); 1100 } 1101 }); 1102 } 1103 return tfM01FogGroup; 1104 } 1105 1106 private JTextField getTfM01FogPeriod() { 1107 if (tfM01FogPeriod == null) { 1108 tfM01FogPeriod = new JTextField(); 1109 tfM01FogPeriod.setBounds(new Rectangle(345, 220, 30, 20)); 1110 tfM01FogPeriod.addFocusListener(new FocusAdapter() { 1111 public void focusLost(FocusEvent e) { 1112 buoy.setFogPeriod(tfM01FogPeriod.getText().trim()); 1113 buoy.paintSign(); 1114 } 1115 }); 1116 } 1117 return tfM01FogPeriod; 1118 } 1119 1120 private JCheckBox getCM01Fired() { 1121 if (cM01Fired == null) { 1122 cM01Fired = new JCheckBox(); 1123 cM01Fired.setBounds(new Rectangle(10, 245, 75, 20)); 1124 cM01Fired.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1125 cM01Fired.setText(Messages.getString("SmpDialogAction.177")); //$NON-NLS-1$ 1126 cM01Fired.addItemListener(new ItemListener() { 1127 public void itemStateChanged(ItemEvent e) { 1128 if (buoy == null) { 1129 return; 1130 } 1131 buoy.setFired(cM01Fired.isSelected()); 1132 buoy.setLightColour(); 1133 buoy.paintSign(); 1134 } 1135 }); 1136 } 1137 1138 return cM01Fired; 1139 } 1140 1141 private JComboBox getCbM01Kennung() { 1142 if (cbM01Kennung == null) { 1143 cbM01Kennung = new JComboBox(); 1144 cbM01Kennung.setBounds(new Rectangle(305, 245, 70, 20)); 1145 cbM01Kennung.addActionListener(new ActionListener() { 1146 public void actionPerformed(ActionEvent e) { 1147 int i1, i2; 1148 String c = ""; //$NON-NLS-1$ //$NON-NLS-2$ 1149 String it = (String) cbM01Kennung.getSelectedItem(); 1150 1151 if (it == null) 1152 return; 1153 if (it.equals(Messages.getString("SmpDialogAction.212"))) //$NON-NLS-1$ 1154 return; 1155 if (buoy == null) 1156 return; 1157 1158 if (it.contains("(")) { 1159 i1 = it.indexOf("("); 1160 i2 = it.indexOf(")"); 1161 c = it.substring(i1 + 1, i2); 1162 it = it.substring(0, i1) + it.substring(i2 + 1); 1163 } 1164 if (!c.isEmpty()) 1165 buoy.setLightGroup(c); 1166 ; 1167 buoy.setLightChar(it); 1168 buoy.paintSign(); 1169 } 1170 }); 1171 } 1172 return cbM01Kennung; 1173 } 1174 1175 private JTextField getTfM01Height() { 1176 if (tfM01Height == null) { 1177 tfM01Height = new JTextField(); 1178 tfM01Height.setBounds(new Rectangle(54, 270, 30, 20)); 1179 tfM01Height.addFocusListener(new FocusAdapter() { 1180 public void focusLost(FocusEvent e) { 1181 buoy.setHeight(tfM01Height.getText().trim()); 1182 buoy.paintSign(); 1183 } 1184 }); 1185 } 1186 return tfM01Height; 1187 } 1188 1189 private JTextField getTfM01Range() { 1190 if (tfM01Range == null) { 1191 tfM01Range = new JTextField(); 1192 tfM01Range.setBounds(new Rectangle(151, 270, 30, 20)); 1193 tfM01Range.addFocusListener(new FocusAdapter() { 1194 public void focusLost(FocusEvent e) { 1195 buoy.setRange(tfM01Range.getText().trim()); 1196 buoy.paintSign(); 1197 } 1198 }); 1199 } 1200 return tfM01Range; 1201 } 1202 1203 private JTextField getTfM01Group() { 1204 if (tfM01Group == null) { 1205 tfM01Group = new JTextField(); 1206 tfM01Group.setBounds(new Rectangle(255, 270, 30, 20)); 1207 tfM01Group.addFocusListener(new FocusAdapter() { 1208 public void focusLost(FocusEvent e) { 1209 buoy.setLightGroup(tfM01Group.getText().trim()); 1210 buoy.paintSign(); 1211 } 1212 }); 1213 } 1214 return tfM01Group; 1215 } 1216 1217 private JTextField getTfM01RepeatTime() { 1218 if (tfM01RepeatTime == null) { 1219 tfM01RepeatTime = new JTextField(); 1220 tfM01RepeatTime.setBounds(new Rectangle(345, 270, 30, 20)); 1221 tfM01RepeatTime.addActionListener(new ActionListener() { 1222 public void actionPerformed(ActionEvent e) { 1223 buoy.setLightPeriod(tfM01RepeatTime.getText().trim()); 1224 buoy.paintSign(); 1225 } 1226 }); 1227 1228 tfM01RepeatTime.addFocusListener(new FocusAdapter() { 1229 public void focusLost(FocusEvent e) { 1230 buoy.setLightPeriod(tfM01RepeatTime.getText().trim()); 1231 buoy.paintSign(); 1232 } 1233 }); 1234 } 1235 return tfM01RepeatTime; 1236 } 1237 1238 private JComboBox getCbM01Colour() { 1239 if (cbM01Colour == null) { 1240 cbM01Colour = new JComboBox(); 1241 cbM01Colour.setBounds(new Rectangle(165, 295, 40, 20)); 1242 cbM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1243 cbM01Colour.addItem(""); //$NON-NLS-1$ 1244 cbM01Colour.addItem(Messages.getString("SmpDialogAction.190")); //$NON-NLS-1$ 1245 cbM01Colour.addItem(Messages.getString("SmpDialogAction.191")); //$NON-NLS-1$ 1246 cbM01Colour.addItem(Messages.getString("SmpDialogAction.192")); //$NON-NLS-1$ 1247 cbM01Colour.addActionListener(new ActionListener() { 1248 public void actionPerformed(ActionEvent e) { 1249 buoy.setLightColour((String) cbM01Colour.getSelectedItem()); 1250 buoy.paintSign(); 1251 } 1252 }); 1253 } 1254 return cbM01Colour; 1255 } 1256 1257 private JComboBox getCbM01Sector() { 1258 if (cbM01Sector == null) { 1259 cbM01Sector = new JComboBox(); 1260 cbM01Sector.setBounds(new Rectangle(55, 295, 50, 20)); 1261 cbM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$ 1262 cbM01Sector.addItem(Messages.getString("SmpDialogAction.194")); //$NON-NLS-1$ 1263 cbM01Sector.addItem(Messages.getString("SmpDialogAction.195")); //$NON-NLS-1$ 1264 cbM01Sector.addItem(Messages.getString("SmpDialogAction.196")); //$NON-NLS-1$ 1265 cbM01Sector.addItem(Messages.getString("SmpDialogAction.197")); //$NON-NLS-1$ 1266 cbM01Sector.addItem(Messages.getString("SmpDialogAction.198")); //$NON-NLS-1$ 1267 cbM01Sector.addItem(Messages.getString("SmpDialogAction.199")); //$NON-NLS-1$ 1268 cbM01Sector.addItem(Messages.getString("SmpDialogAction.200")); //$NON-NLS-1$ 1269 cbM01Sector.addItem(Messages.getString("SmpDialogAction.201")); //$NON-NLS-1$ 1270 cbM01Sector.addItem(Messages.getString("SmpDialogAction.202")); //$NON-NLS-1$ 1271 cbM01Sector.addItem(Messages.getString("SmpDialogAction.203")); //$NON-NLS-1$ 1272 cbM01Sector.addActionListener(new ActionListener() { 1273 public void actionPerformed(ActionEvent e) { 1274 buoy.setSectorIndex(cbM01Sector.getSelectedIndex()); 1275 buoy.paintSign(); 1276 } 1277 }); 1278 } 1279 return cbM01Sector; 1280 } 1281 1282 private JTextField getTfM01Bearing() { 1283 if (tfM01Bearing == null) { 1284 tfM01Bearing = new JTextField(); 1285 tfM01Bearing.setBounds(new Rectangle(255, 295, 30, 20)); 1286 tfM01Bearing.addFocusListener(new FocusAdapter() { 1287 public void focusLost(FocusEvent e) { 1288 buoy.setBearing1(tfM01Bearing.getText().trim()); 1289 } 1290 }); 1291 } 1292 return tfM01Bearing; 1293 } 1294 1295 private JTextField getTfM02Bearing() { 1296 if (tfM02Bearing == null) { 1297 tfM02Bearing = new JTextField(); 1298 tfM02Bearing.setBounds(new Rectangle(300, 295, 30, 20)); 1299 tfM02Bearing.addFocusListener(new FocusAdapter() { 1300 public void focusLost(FocusEvent e) { 1301 buoy.setBearing2(tfM02Bearing.getText().trim()); 1302 } 1303 }); 1304 } 1305 return tfM02Bearing; 1306 } 1307 1308 private JTextField getTfM01Radius() { 1309 if (tfM01Radius == null) { 1310 tfM01Radius = new JTextField(); 1311 tfM01Radius.setBounds(new Rectangle(355, 295, 30, 20)); 1312 tfM01Radius.addFocusListener(new FocusAdapter() { 1313 public void focusLost(FocusEvent e) { 1314 buoy.setRadius(tfM01Radius.getText().trim()); 1315 } 1316 }); 1317 } 1318 return tfM01Radius; 1319 } 1320 1321 private JButton getBM01Close() { 1322 if (bM01Close == null) { 1323 bM01Close = new JButton(); 1324 bM01Close.setBounds(new Rectangle(20, 325, 110, 20)); 1325 bM01Close.setText(tr("Close")); 1326 bM01Close.addActionListener(new ActionListener() { 1327 public void actionPerformed(ActionEvent e) { 1328 // aufraeumen 1329 if (obuoy != null) 1330 PicRebuild(); 1331 // Deaktivierung des Listeners 1332 DataSet.removeSelectionListener(SmpListener); 1333 Selection = null; 1334 SmpItem.setEnabled(true); 1335 onode = null; 1336 1337 dM01SeaMap.dispose(); 1338 } 1339 }); 1340 } 1341 1342 return bM01Close; 1343 } 1344 1345 private JButton getBM01Save() { 1346 if (bM01Save == null) { 1347 bM01Save = new JButton(); 1348 bM01Save.setBounds(new Rectangle(150, 325, 110, 20)); 1349 bM01Save.setText(tr("Save")); 1350 bM01Save.setEnabled(false); 1351 1352 bM01Save.addActionListener(new ActionListener() { 1353 public void actionPerformed(ActionEvent e) { 1354 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource( 1355 "/images/Auge.png"))); //$NON-NLS-1$ 1356 cM01IconVisible.setSelected(true); 1357 1358 buoy.saveSign(); 1359 } 1360 }); 1361 } 1362 1363 return bM01Save; 1364 } 1365 1366 private JCheckBox getCM01IconVisible() { 1367 if (cM01IconVisible == null) { 1368 cM01IconVisible = new JCheckBox(); 1369 cM01IconVisible.setBounds(new Rectangle(310, 325, 30, 21)); 1370 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource( 1371 "/images/AugeN.png"))); //$NON-NLS-1$ 1372 cM01IconVisible.setSelected(false); 1373 cM01IconVisible.addActionListener(new ActionListener() { 1374 public void actionPerformed(ActionEvent e) { 1375 Command c; 1376 Node n = null; 1377 DataSet ds = Main.main.getCurrentDataSet(); 1378 1379 if (buoy != null) 1380 n = buoy.getNode(); 1381 1382 if (cM01IconVisible.isSelected()) { 1383 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource( 1384 "/images/AugeN.png"))); //$NON-NLS-1$ 1385 if (n != null) { 1386 // seamark loeschen, wenn notwendig 1387 if (n.getKeys().containsKey("seamark")) { //$NON-NLS-1$ 1388 smb = n.getKeys().get("seamark"); // smb merken //$NON-NLS-1$ 1389 1390 c = new ChangePropertyCommand(n, "seamark", null); //$NON-NLS-1$ 1391 c.executeCommand(); 1392 ds.fireSelectionChanged(); 1393 obuoy = buoy; 1394 } 1395 1396 // seamark:type loeschen, wenn notwendig 1397 if (n.getKeys().containsKey("seamark:type")) { //$NON-NLS-1$ 1398 smt = n.getKeys().get("seamark:type"); // smt merken //$NON-NLS-1$ 1399 1400 c = new ChangePropertyCommand(n, "seamark:type", null); //$NON-NLS-1$ 1401 c.executeCommand(); 1402 ds.fireSelectionChanged(); 1403 obuoy = buoy; 1404 } 1405 1406 } 1407 } else { 1408 cM01IconVisible.setIcon(new ImageIcon(getClass().getResource( 1409 "/images/Auge.png"))); //$NON-NLS-1$ 1410 PicRebuild(); 1411 obuoy = null; 1412 } 1413 buoy.paintSign(); 1414 } 1415 }); 1416 } 1417 return cM01IconVisible; 1418 } 1419 1420 private JTextField getSM01StatusBar() { 1421 if (sM01StatusBar == null) { 1422 sM01StatusBar = new JTextField(); 1423 sM01StatusBar.setBounds(new Rectangle(7, 355, 385, 20)); 1424 sM01StatusBar.setBackground(SystemColor.activeCaptionBorder); 1425 } 1426 return sM01StatusBar; 1427 } 1428 1428 1429 1429 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java
r23193 r23269 14 14 abstract public class SeaMark { 15 15 16 /**17 * CONSTANTS18 */19 20 /**21 * Colours22 */23 24 public final static int UNKNOWN_COLOUR = 0;25 public final static int RED = 1;26 public final static int GREEN = 2;27 public final static int RED_GREEN_RED = 3;28 public final static int GREEN_RED_GREEN = 4;29 public final static int RED_WHITE = 5;30 public final static int BLACK_YELLOW = 6;31 public final static int BLACK_YELLOW_BLACK = 7;32 public final static int YELLOW_BLACK = 8;33 public final static int YELLOW_BLACK_YELLOW = 9;34 public final static int BLACK_RED_BLACK = 10;35 public final static int YELLOW = 11;36 public final static int WHITE_LIGHT = 1;37 public final static int RED_LIGHT = 2;38 public final static int GREEN_LIGHT = 3;39 40 /**41 * Types - correspond to TypeIndex42 */43 public final static int UNKNOWN_TYPE = 0;44 public final static int LATERAL = 1;45 public final static int CARDINAL = 2;46 public final static int SAFE_WATER = 3;47 public final static int ISOLATED_DANGER = 4;48 public final static int SPECIAL_PURPOSE = 5;49 public final static int LIGHT = 6;50 51 /**52 * Categories - correspond to CatIndex53 */54 public final static int UNKNOWN_CAT = 0;55 public final static int PORT_HAND = 1;56 public final static int STARBOARD_HAND = 2;57 public final static int PREF_PORT_HAND = 3;58 public final static int PREF_STARBOARD_HAND = 4;59 public final static int CARD_NORTH = 1;60 public final static int CARD_EAST = 2;61 public final static int CARD_SOUTH = 3;62 public final static int CARD_WEST = 4;63 public final static int LIGHT_HOUSE = 1;64 public final static int LIGHT_MAJOR = 2;65 public final static int LIGHT_MINOR = 3;66 public final static int LIGHT_VESSEL = 4;67 68 /**69 * Regions70 */71 public final static boolean IALA_A = false;72 public final static boolean IALA_B = true;73 74 /**75 * Shapes - correspond to StyleIndex76 */77 public final static int UNKNOWN_SHAPE = 0;78 public final static int LAT_CAN = 1;79 public final static int LAT_CONE = 1;80 public final static int LAT_PILLAR = 2;81 public final static int LAT_SPAR = 3;82 public final static int LAT_BEACON = 4;83 public final static int LAT_TOWER = 5;84 public final static int LAT_FLOAT = 6;85 public final static int LAT_PERCH = 7;86 public final static int CARD_PILLAR = 1;87 public final static int CARD_SPAR = 2;88 public final static int CARD_BEACON = 3;89 public final static int CARD_TOWER = 4;90 public final static int CARD_FLOAT = 5;91 public final static int SAFE_PILLAR = 1;92 public final static int SAFE_SPAR = 2;93 public final static int SAFE_SPHERE = 3;94 public final static int SAFE_BEACON = 4;95 public final static int SAFE_FLOAT = 5;96 public final static int ISOL_PILLAR = 1;97 public final static int ISOL_SPAR = 2;98 public final static int ISOL_BEACON = 3;99 public final static int ISOL_TOWER = 4;100 public final static int ISOL_FLOAT = 5;101 public final static int SPEC_PILLAR = 1;102 public final static int SPEC_CAN = 2;103 public final static int SPEC_CONE = 3;104 public final static int SPEC_SPAR = 4;105 public final static int SPEC_BEACON = 5;106 public final static int SPEC_TOWER = 6;107 public final static int SPEC_FLOAT = 7;108 public final static int SPEC_SPHERE = 8;109 public final static int SPEC_BARREL = 9;110 111 /**112 * Radar Beacons - correspond to Ratyp Index113 */114 115 public final static int UNKNOWN_RATYPE = 0;116 public final static int RATYPE_RACON = 1;117 public final static int RATYPE_RAMARK = 2;118 public final static int RATYPE_LEADING = 3;119 120 /**121 * Fog Signals - correspond to FogSound Index122 */123 124 public final static int UNKNOWN_FOG = 0;125 public final static int FOG_HORN = 1;126 public final static int FOG_SIREN = 2;127 public final static int FOG_DIA = 3;128 public final static int FOG_BELL = 4;129 public final static int FOG_WHIS = 5;130 public final static int FOG_GONG = 6;131 public final static int FOG_EXPLOS = 7;132 133 /**134 * Variables135 */136 137 /**138 * private Variablen139 */140 141 public abstract void paintSign();142 143 public abstract void saveSign();144 145 private int Colour = UNKNOWN_COLOUR;146 147 public int getColour() {148 return Colour;149 }150 151 public void setColour(int colour) {152 if (colour < UNKNOWN_COLOUR || colour > RED_WHITE) {153 return;154 }155 Colour = colour;156 157 }158 159 private String ErrMsg = null;160 161 public String getErrMsg() {162 return ErrMsg;163 }164 165 public void setErrMsg(String errMsg) {166 ErrMsg = errMsg;167 }168 169 private String Name;170 171 public String getName() {172 return Name;173 }174 175 public void setName(String name) {176 Name = name;177 }178 179 private boolean valid = true;180 181 public boolean isValid() {182 return valid;183 }184 185 public void setValid(boolean valid) {186 this.valid = valid;187 188 }189 190 protected void delSeaMarkKeys(Node node) {191 Iterator<String> it = node.getKeys().keySet().iterator();192 String str;193 194 while (it.hasNext()) {195 str = it.next();196 197 if (str.contains("seamark") == true)198 if (str.compareTo("seamark") != 0) {199 Main.main.undoRedo.add(new ChangePropertyCommand(node, str, null));200 }201 }202 }16 /** 17 * CONSTANTS 18 */ 19 20 /** 21 * Colours 22 */ 23 24 public final static int UNKNOWN_COLOUR = 0; 25 public final static int RED = 1; 26 public final static int GREEN = 2; 27 public final static int RED_GREEN_RED = 3; 28 public final static int GREEN_RED_GREEN = 4; 29 public final static int RED_WHITE = 5; 30 public final static int BLACK_YELLOW = 6; 31 public final static int BLACK_YELLOW_BLACK = 7; 32 public final static int YELLOW_BLACK = 8; 33 public final static int YELLOW_BLACK_YELLOW = 9; 34 public final static int BLACK_RED_BLACK = 10; 35 public final static int YELLOW = 11; 36 public final static int WHITE_LIGHT = 1; 37 public final static int RED_LIGHT = 2; 38 public final static int GREEN_LIGHT = 3; 39 40 /** 41 * Types - correspond to TypeIndex 42 */ 43 public final static int UNKNOWN_TYPE = 0; 44 public final static int LATERAL = 1; 45 public final static int CARDINAL = 2; 46 public final static int SAFE_WATER = 3; 47 public final static int ISOLATED_DANGER = 4; 48 public final static int SPECIAL_PURPOSE = 5; 49 public final static int LIGHT = 6; 50 51 /** 52 * Categories - correspond to CatIndex 53 */ 54 public final static int UNKNOWN_CAT = 0; 55 public final static int PORT_HAND = 1; 56 public final static int STARBOARD_HAND = 2; 57 public final static int PREF_PORT_HAND = 3; 58 public final static int PREF_STARBOARD_HAND = 4; 59 public final static int CARD_NORTH = 1; 60 public final static int CARD_EAST = 2; 61 public final static int CARD_SOUTH = 3; 62 public final static int CARD_WEST = 4; 63 public final static int LIGHT_HOUSE = 1; 64 public final static int LIGHT_MAJOR = 2; 65 public final static int LIGHT_MINOR = 3; 66 public final static int LIGHT_VESSEL = 4; 67 68 /** 69 * Regions 70 */ 71 public final static boolean IALA_A = false; 72 public final static boolean IALA_B = true; 73 74 /** 75 * Shapes - correspond to StyleIndex 76 */ 77 public final static int UNKNOWN_SHAPE = 0; 78 public final static int LAT_CAN = 1; 79 public final static int LAT_CONE = 1; 80 public final static int LAT_PILLAR = 2; 81 public final static int LAT_SPAR = 3; 82 public final static int LAT_BEACON = 4; 83 public final static int LAT_TOWER = 5; 84 public final static int LAT_FLOAT = 6; 85 public final static int LAT_PERCH = 7; 86 public final static int CARD_PILLAR = 1; 87 public final static int CARD_SPAR = 2; 88 public final static int CARD_BEACON = 3; 89 public final static int CARD_TOWER = 4; 90 public final static int CARD_FLOAT = 5; 91 public final static int SAFE_PILLAR = 1; 92 public final static int SAFE_SPAR = 2; 93 public final static int SAFE_SPHERE = 3; 94 public final static int SAFE_BEACON = 4; 95 public final static int SAFE_FLOAT = 5; 96 public final static int ISOL_PILLAR = 1; 97 public final static int ISOL_SPAR = 2; 98 public final static int ISOL_BEACON = 3; 99 public final static int ISOL_TOWER = 4; 100 public final static int ISOL_FLOAT = 5; 101 public final static int SPEC_PILLAR = 1; 102 public final static int SPEC_CAN = 2; 103 public final static int SPEC_CONE = 3; 104 public final static int SPEC_SPAR = 4; 105 public final static int SPEC_BEACON = 5; 106 public final static int SPEC_TOWER = 6; 107 public final static int SPEC_FLOAT = 7; 108 public final static int SPEC_SPHERE = 8; 109 public final static int SPEC_BARREL = 9; 110 111 /** 112 * Radar Beacons - correspond to Ratyp Index 113 */ 114 115 public final static int UNKNOWN_RATYPE = 0; 116 public final static int RATYPE_RACON = 1; 117 public final static int RATYPE_RAMARK = 2; 118 public final static int RATYPE_LEADING = 3; 119 120 /** 121 * Fog Signals - correspond to FogSound Index 122 */ 123 124 public final static int UNKNOWN_FOG = 0; 125 public final static int FOG_HORN = 1; 126 public final static int FOG_SIREN = 2; 127 public final static int FOG_DIA = 3; 128 public final static int FOG_BELL = 4; 129 public final static int FOG_WHIS = 5; 130 public final static int FOG_GONG = 6; 131 public final static int FOG_EXPLOS = 7; 132 133 /** 134 * Variables 135 */ 136 137 /** 138 * private Variablen 139 */ 140 141 public abstract void paintSign(); 142 143 public abstract void saveSign(); 144 145 private int Colour = UNKNOWN_COLOUR; 146 147 public int getColour() { 148 return Colour; 149 } 150 151 public void setColour(int colour) { 152 if (colour < UNKNOWN_COLOUR || colour > RED_WHITE) { 153 return; 154 } 155 Colour = colour; 156 157 } 158 159 private String ErrMsg = null; 160 161 public String getErrMsg() { 162 return ErrMsg; 163 } 164 165 public void setErrMsg(String errMsg) { 166 ErrMsg = errMsg; 167 } 168 169 private String Name; 170 171 public String getName() { 172 return Name; 173 } 174 175 public void setName(String name) { 176 Name = name; 177 } 178 179 private boolean valid = true; 180 181 public boolean isValid() { 182 return valid; 183 } 184 185 public void setValid(boolean valid) { 186 this.valid = valid; 187 188 } 189 190 protected void delSeaMarkKeys(Node node) { 191 Iterator<String> it = node.getKeys().keySet().iterator(); 192 String str; 193 194 while (it.hasNext()) { 195 str = it.next(); 196 197 if (str.contains("seamark") == true) 198 if (str.compareTo("seamark") != 0) { 199 Main.main.undoRedo.add(new ChangePropertyCommand(node, str, null)); 200 } 201 } 202 } 203 203 204 204 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
r23268 r23269 23 23 abstract public class Buoy extends SeaMark { 24 24 25 public abstract void setLightColour();26 27 /**28 * private Variablen29 */30 31 private int BuoyIndex = 0;32 33 public int getBuoyIndex() {34 return BuoyIndex;35 }36 37 public void setBuoyIndex(int buoyIndex) {38 BuoyIndex = buoyIndex;39 }40 41 private int StyleIndex = 0;42 43 public int getStyleIndex() {44 return StyleIndex;45 }46 47 public void setStyleIndex(int styleIndex) {48 StyleIndex = styleIndex;49 }50 51 private boolean Region = false;52 53 public boolean getRegion() {54 return Region;55 }56 57 public void setRegion(boolean region) {58 Region = region;59 }60 61 private boolean Radar = false;62 63 public boolean hasRadar() {64 return Radar;65 }66 67 public void setRadar(boolean radar) {68 Radar = radar;69 }70 71 private boolean Racon = false;72 73 public boolean hasRacon() {74 return Racon;75 }76 77 public void setRacon(boolean racon) {78 Racon = racon;79 }80 81 private int RaType = 0;82 83 public int getRaType() {84 return RaType;85 }86 87 public void setRaType(int type) {88 RaType = type;89 }90 91 private String RaconGroup = "";92 93 public String getRaconGroup() {94 return RaconGroup;95 }96 97 public void setRaconGroup(String raconGroup) {98 RaconGroup = raconGroup;99 }100 101 private boolean Fog = false;102 103 public boolean hasFog() {104 return Fog;105 }106 107 public void setFog(boolean fog) {108 Fog = fog;109 }110 111 private int FogSound = 0;112 113 public int getFogSound() {114 return FogSound;115 }116 117 public void setFogSound(int sound) {118 FogSound = sound;119 }120 121 private String FogGroup = "";122 123 public String getFogGroup() {124 return FogGroup;125 }126 127 public void setFogGroup(String group) {128 FogGroup = group;129 }130 131 private String FogPeriod = "";132 133 public String getFogPeriod() {134 return FogPeriod;135 }136 137 public void setFogPeriod(String period) {138 FogPeriod = period;139 }140 141 private boolean Fired = false;142 143 public boolean isFired() {144 return Fired;145 }146 147 public void setFired(boolean fired) {148 Fired = fired;149 }150 151 private boolean Sectored = false;152 153 public boolean isSectored() {154 return Sectored;155 }25 public abstract void setLightColour(); 26 27 /** 28 * private Variablen 29 */ 30 31 private int BuoyIndex = 0; 32 33 public int getBuoyIndex() { 34 return BuoyIndex; 35 } 36 37 public void setBuoyIndex(int buoyIndex) { 38 BuoyIndex = buoyIndex; 39 } 40 41 private int StyleIndex = 0; 42 43 public int getStyleIndex() { 44 return StyleIndex; 45 } 46 47 public void setStyleIndex(int styleIndex) { 48 StyleIndex = styleIndex; 49 } 50 51 private boolean Region = false; 52 53 public boolean getRegion() { 54 return Region; 55 } 56 57 public void setRegion(boolean region) { 58 Region = region; 59 } 60 61 private boolean Radar = false; 62 63 public boolean hasRadar() { 64 return Radar; 65 } 66 67 public void setRadar(boolean radar) { 68 Radar = radar; 69 } 70 71 private boolean Racon = false; 72 73 public boolean hasRacon() { 74 return Racon; 75 } 76 77 public void setRacon(boolean racon) { 78 Racon = racon; 79 } 80 81 private int RaType = 0; 82 83 public int getRaType() { 84 return RaType; 85 } 86 87 public void setRaType(int type) { 88 RaType = type; 89 } 90 91 private String RaconGroup = ""; 92 93 public String getRaconGroup() { 94 return RaconGroup; 95 } 96 97 public void setRaconGroup(String raconGroup) { 98 RaconGroup = raconGroup; 99 } 100 101 private boolean Fog = false; 102 103 public boolean hasFog() { 104 return Fog; 105 } 106 107 public void setFog(boolean fog) { 108 Fog = fog; 109 } 110 111 private int FogSound = 0; 112 113 public int getFogSound() { 114 return FogSound; 115 } 116 117 public void setFogSound(int sound) { 118 FogSound = sound; 119 } 120 121 private String FogGroup = ""; 122 123 public String getFogGroup() { 124 return FogGroup; 125 } 126 127 public void setFogGroup(String group) { 128 FogGroup = group; 129 } 130 131 private String FogPeriod = ""; 132 133 public String getFogPeriod() { 134 return FogPeriod; 135 } 136 137 public void setFogPeriod(String period) { 138 FogPeriod = period; 139 } 140 141 private boolean Fired = false; 142 143 public boolean isFired() { 144 return Fired; 145 } 146 147 public void setFired(boolean fired) { 148 Fired = fired; 149 } 150 151 private boolean Sectored = false; 152 153 public boolean isSectored() { 154 return Sectored; 155 } 156 156 157 157 public void setSectored(boolean sectored) { … … 172 172 } 173 173 174 private int SectorIndex = 0;175 176 public int getSectorIndex() {177 return SectorIndex;178 }179 180 public void setSectorIndex(int sector) {181 SectorIndex = sector;182 }183 184 private String[] LightChar = new String[10];185 186 public String getLightChar() {187 if (LightChar[SectorIndex] == null)188 return (LightChar[0]);189 return LightChar[SectorIndex];190 }191 192 public void setLightChar(String lightChar) {193 if (SectorIndex == 0) {194 LightChar = new String[10];195 LightChar[0] = lightChar;196 } else if (LightChar[0].isEmpty())197 LightChar[SectorIndex] = lightChar;198 }199 200 private String[] LightColour = new String[10];201 202 public String getLightColour() {203 if (LightColour[SectorIndex] == null)204 return (LightColour[0]);205 return LightColour[SectorIndex];206 }207 208 public void setLightColour(String lightColour) {209 LightColour[SectorIndex] = lightColour;210 }211 212 private String[] LightGroup = new String[10];213 214 public String getLightGroup() {215 if (LightGroup[SectorIndex] == null)216 return (LightGroup[0]);217 return LightGroup[SectorIndex];218 }219 220 public void setLightGroup(String lightGroup) {221 if (SectorIndex == 0)222 LightGroup = new String[10];223 LightGroup[SectorIndex] = lightGroup;224 }225 226 protected void setLightGroup(Map<String, String> k) {227 String s = "";228 if (k.containsKey("seamark:light:group")) {229 s = k.get("seamark:light:group");230 setLightGroup(s);231 }232 }233 234 private String[] Height = new String[10];235 236 public String getHeight() {237 if (Height[SectorIndex] == null)238 return (Height[0]);239 return Height[SectorIndex];240 }241 242 public void setHeight(String height) {243 if (SectorIndex == 0)244 Height = new String[10];245 Height[SectorIndex] = height;246 }247 248 private String[] Range = new String[10];249 250 public String getRange() {251 if (Range[SectorIndex] == null)252 return (Range[0]);253 return Range[SectorIndex];254 }255 256 public void setRange(String range) {257 if (SectorIndex == 0)258 Range = new String[10];259 Range[SectorIndex] = range;260 }261 262 private String[] Bearing1 = new String[10];263 264 public String getBearing1() {265 if (Bearing1[SectorIndex] == null)266 return (Bearing1[0]);267 return Bearing1[SectorIndex];268 }269 270 public void setBearing1(String bearing) {271 if (SectorIndex == 0)272 Bearing1 = new String[10];273 Bearing1[SectorIndex] = bearing;274 }275 276 private String[] Bearing2 = new String[10];277 278 public String getBearing2() {279 if (Bearing2[SectorIndex] == null)280 return (Bearing2[0]);281 return Bearing2[SectorIndex];282 }283 284 public void setBearing2(String bearing) {285 if (SectorIndex == 0)286 Bearing2 = new String[10];287 Bearing2[SectorIndex] = bearing;288 }289 290 private String[] Radius = new String[10];291 292 public String getRadius() {293 if (Radius[SectorIndex] == null)294 return (Radius[0]);295 return Radius[SectorIndex];296 }297 298 public void setRadius(String radius) {299 if (SectorIndex == 0)300 Radius = new String[10];301 Radius[SectorIndex] = radius;302 }303 304 private String[] LightPeriod = new String[10];305 306 public String getLightPeriod() {307 if (LightPeriod[SectorIndex] == null)308 return (LightPeriod[0]);309 return LightPeriod[SectorIndex];310 }311 312 public void setLightPeriod(String lightPeriod) {313 String regex = "^[\\d\\s.]+$";314 315 if (!lightPeriod.isEmpty()) {316 317 Pattern pat = Pattern.compile(regex);318 Matcher matcher = pat.matcher(lightPeriod);319 320 if (matcher.find()) {321 setErrMsg(null);322 } else {323 setErrMsg("Must be a number");324 lightPeriod = "";325 dlg.tfM01RepeatTime.requestFocus();326 }327 }328 if (SectorIndex == 0)329 LightPeriod = new String[10];330 LightPeriod[SectorIndex] = lightPeriod;331 }332 333 private Node Node = null;334 335 public Node getNode() {336 return Node;337 }338 339 public void setNode(Node node) {340 Node = node;341 }342 343 private boolean TopMark = false;344 345 public boolean hasTopMark() {346 return TopMark;347 }348 349 public void setTopMark(boolean topMark) {350 TopMark = topMark;351 /*352 * if (dlg.cM01TopMark == null) { return; }353 */354 dlg.cM01TopMark.setSelected(topMark);355 }356 357 protected SmpDialogAction dlg = null; // hier wird der Dialog referenziert358 359 public SmpDialogAction getDlg() {360 return dlg;361 }362 363 public void setDlg(SmpDialogAction dlg) {364 this.dlg = dlg;365 }366 367 protected Buoy(SmpDialogAction dia) {368 dlg = dia;369 }370 371 public boolean isValid() {372 return false;373 }374 375 public void parseLights(Map<String, String> k) {376 setFired(false);377 setSectored(false);378 Iterator it = k.entrySet().iterator();379 while (it.hasNext()) {380 Map.Entry entry = (Map.Entry) it.next();381 String key = (String) entry.getKey();382 String value = ((String) entry.getValue()).trim();383 if (key.contains("seamark:light:")) {384 setFired(true);385 int index = 0;386 key = key.substring(14);387 if (key.matches("^\\d:.*")) {388 index = key.charAt(0) - '0';389 key = key.substring(2);390 } else if (key.matches("^\\d$")) {391 index = key.charAt(0) - '0';392 String values[] = value.split(":");393 if (values[0].equals("red"))394 LightColour[index] = "R";395 else if (values[0].equals("green"))396 LightColour[index] = "G";397 else if (values[0].equals("white"))398 LightColour[index] = "W";399 if (values.length > 1)400 Bearing1[index] = values[1];401 if (values.length > 2)402 Bearing2[index] = values[2];403 if (values.length > 3)404 Radius[index] = values[3];405 } else {406 index = 0;407 }408 if (index != 0)409 setSectored(true);410 if (key.equals("colour")) {411 if (value.equals("red"))412 LightColour[index] = "R";413 else if (value.equals("green"))414 LightColour[index] = "G";415 else if (value.equals("white"))416 LightColour[index] = "W";417 } else if (key.equals("character")) {418 LightChar[index] = value;419 } else if (key.equals("group")) {420 LightGroup[index] = value;421 } else if (key.equals("period")) {422 LightPeriod[index] = value;423 } else if (key.equals("height")) {424 Height[index] = value;425 } else if (key.equals("range")) {426 Range[index] = value;427 }428 }429 }430 setSectorIndex(0);431 dlg.cbM01Sector.setSelectedIndex(0);432 dlg.cM01Fired.setSelected(isFired());433 dlg.rbM01Fired1.setSelected(!isSectored());434 dlg.rbM01FiredN.setSelected(isSectored());435 dlg.cbM01Kennung.setSelectedItem(getLightChar());436 dlg.tfM01Height.setText(getHeight());437 dlg.tfM01Range.setText(getRange());438 dlg.tfM01Group.setText(getLightGroup());439 dlg.tfM01RepeatTime.setText(getLightPeriod());440 dlg.cbM01Colour.setSelectedItem(getLightColour());441 }442 443 public void parseFogRadar(Map<String, String> k) {444 String str;445 setFog(false);446 setRadar(false);447 setRacon(false);448 if (k.containsKey("seamark:fog_signal")449 || k.containsKey("seamark:fog_signal:category")450 || k.containsKey("seamark:fog_signal:group")451 || k.containsKey("seamark:fog_signal:period")) {452 setFog(true);453 if (k.containsKey("seamark:fog_signal:category")) {454 str = k.get("seamark:fog_signal:category");455 if (str.equals("horn"))456 setFogSound(FOG_HORN);457 else if (str.equals("siren"))458 setFogSound(FOG_SIREN);459 else if (str.equals("diaphone"))460 setFogSound(FOG_DIA);461 else if (str.equals("bell"))462 setFogSound(FOG_BELL);463 else if (str.equals("whis"))464 setFogSound(FOG_WHIS);465 else if (str.equals("gong"))466 setFogSound(FOG_GONG);467 else if (str.equals("explosive"))468 setFogSound(FOG_EXPLOS);469 else470 setFogSound(UNKNOWN_FOG);471 }472 if (k.containsKey("seamark:fog_signal:group"))473 setFogGroup(k.get("seamark:fog_signal:group"));474 if (k.containsKey("seamark:fog_signal:period"))475 setFogPeriod(k.get("seamark:fog_signal:period"));476 }477 dlg.cM01Fog.setSelected(hasFog());478 dlg.cbM01Fog.setSelectedIndex(getFogSound());479 dlg.tfM01FogGroup.setText(getFogGroup());480 dlg.tfM01FogPeriod.setText(getFogPeriod());481 482 if (k.containsKey("seamark:radar_transponder")483 || k.containsKey("seamark:radar_transponder:category")484 || k.containsKey("seamark:radar_transponder:group")) {485 setRacon(true);486 if (k.containsKey("seamark:radar_transponder:category")) {487 str = k.get("seamark:radar_transponder:category");488 if (str.equals("racon"))489 setRaType(RATYPE_RACON);490 else if (str.equals("ramark"))491 setRaType(RATYPE_RAMARK);492 else if (str.equals("leading"))493 setRaType(RATYPE_LEADING);494 else495 setRaType(UNKNOWN_RATYPE);496 }497 if (k.containsKey("seamark:radar_transponder:group"))498 setRaconGroup(k.get("seamark:radar_transponder:group"));499 } else if (k.containsKey("seamark:radar_reflector"))500 setRadar(true);501 dlg.cM01Radar.setSelected(hasRadar());502 dlg.cM01Racon.setSelected(hasRacon());503 dlg.cbM01Racon.setSelectedIndex(getRaType());504 dlg.tfM01Racon.setText(getRaconGroup());505 }506 507 public void paintSign() {508 509 if (dlg.paintlock)510 return;511 else512 dlg.paintlock = true;513 514 dlg.lM01Icon.setIcon(null);515 dlg.lM02Icon.setIcon(null);516 dlg.lM03Icon.setIcon(null);517 dlg.lM04Icon.setIcon(null);518 dlg.lM05Icon.setIcon(null);519 dlg.lM06Icon.setIcon(null);520 dlg.lM01NameMark.setText("");521 dlg.lM01FireMark.setText("");522 dlg.lM01FogMark.setText("");523 dlg.lM01RadarMark.setText("");524 525 dlg.rbM01RegionA.setSelected(!getRegion());526 dlg.rbM01RegionB.setSelected(getRegion());527 528 if (isValid()) {529 dlg.lM01NameMark.setText(getName());530 531 dlg.bM01Save.setEnabled(true);532 533 dlg.cM01TopMark.setSelected(hasTopMark());534 dlg.cM01Fired.setSelected(isFired());535 536 dlg.tfM01RepeatTime.setText(getLightPeriod());537 538 dlg.tfM01Name.setText(getName());539 dlg.tfM01Name.setEnabled(true);540 541 if (hasRadar()) {542 dlg.lM03Icon.setIcon(new ImageIcon(getClass().getResource(543 "/images/Radar_Reflector_355.png")));544 }545 546 else if (hasRacon()) {547 dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource(548 "/images/Radar_Station.png")));549 if (getRaType() != 0) {550 String c = (String) dlg.cbM01Racon.getSelectedItem();551 if ((getRaType() == RATYPE_RACON) && !getRaconGroup().isEmpty())552 c += ("(" + getRaconGroup() + ")");553 dlg.lM01RadarMark.setText(c);554 }555 dlg.cbM01Racon.setVisible(true);556 if (getRaType() == RATYPE_RACON) {557 dlg.lM01Racon.setVisible(true);558 dlg.tfM01Racon.setVisible(true);559 dlg.tfM01Racon.setEnabled(true);560 } else {561 dlg.lM01Racon.setVisible(false);562 dlg.tfM01Racon.setVisible(false);563 }564 } else {565 dlg.cbM01Racon.setVisible(false);566 dlg.lM01Racon.setVisible(false);567 dlg.tfM01Racon.setVisible(false);568 }569 570 if (hasFog()) {571 dlg.lM05Icon.setIcon(new ImageIcon(getClass().getResource(572 "/images/Fog_Signal.png")));573 if (getFogSound() != 0) {574 String c = (String) dlg.cbM01Fog.getSelectedItem();575 if (!getFogGroup().isEmpty())576 c += ("(" + getFogGroup() + ")");577 if (!getFogPeriod().isEmpty())578 c += (" " + getFogPeriod() + "s");579 dlg.lM01FogMark.setText(c);580 }581 dlg.cbM01Fog.setVisible(true);582 if (getFogSound() == 0) {583 dlg.lM01FogGroup.setVisible(false);584 dlg.tfM01FogGroup.setVisible(false);585 dlg.lM01FogPeriod.setVisible(false);586 dlg.tfM01FogPeriod.setVisible(false);587 } else {588 dlg.lM01FogGroup.setVisible(true);589 dlg.tfM01FogGroup.setVisible(true);590 dlg.lM01FogPeriod.setVisible(true);591 dlg.tfM01FogPeriod.setVisible(true);592 }593 } else {594 dlg.cbM01Fog.setVisible(false);595 dlg.lM01FogGroup.setVisible(false);596 dlg.tfM01FogGroup.setVisible(false);597 dlg.lM01FogPeriod.setVisible(false);598 dlg.tfM01FogPeriod.setVisible(false);599 }600 601 if (isFired()) {602 String lp, c;603 String tmp = null;604 int i1;605 606 String col = getLightColour();607 if (col.equals("W")) {608 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource(609 "/images/Light_White_120.png")));610 dlg.cbM01Colour.setSelectedIndex(WHITE_LIGHT);611 } else if (col.equals("R")) {612 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource(613 "/images/Light_Red_120.png")));614 dlg.cbM01Colour.setSelectedIndex(RED_LIGHT);615 } else if (col.equals("G")) {616 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource(617 "/images/Light_Green_120.png")));618 dlg.cbM01Colour.setSelectedIndex(GREEN_LIGHT);619 } else {620 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource(621 "/images/Light_Magenta_120.png")));622 dlg.cbM01Colour.setSelectedIndex(UNKNOWN_COLOUR);623 }624 625 c = getLightChar();626 if (c.contains("+")) {627 i1 = c.indexOf("+");628 tmp = c.substring(i1, c.length());629 c = c.substring(0, i1);630 if (!getLightGroup().isEmpty()) {631 c = c + "(" + getLightGroup() + ")";632 }633 if (tmp != null)634 c = c + tmp;635 }636 dlg.cbM01Kennung.setSelectedItem(c);637 if ((dlg.cbM01Kennung.getSelectedIndex() != 0)638 && (!getLightGroup().isEmpty())639 || (((String) dlg.cbM01Kennung.getSelectedItem()).contains("("))640 && !(((String) dlg.cbM01Kennung.getSelectedItem()).contains("+"))) {641 c = c + "(" + getLightGroup() + ")";642 dlg.cbM01Kennung.setSelectedItem(c);643 }644 c = c + " " + getLightColour();645 lp = getLightPeriod();646 if (!lp.isEmpty())647 c = c + " " + lp + "s";648 dlg.lM01FireMark.setText(c);649 dlg.cM01Fired.setVisible(true);650 dlg.lM01Kennung.setVisible(true);651 dlg.cbM01Kennung.setVisible(true);652 if (((String) dlg.cbM01Kennung.getSelectedItem()).contains("(")) {653 dlg.tfM01Group.setVisible(false);654 dlg.lM01Group.setVisible(false);655 } else {656 dlg.lM01Group.setVisible(true);657 dlg.tfM01Group.setVisible(true);658 }659 dlg.tfM01Group.setText(getLightGroup());660 dlg.lM01RepeatTime.setVisible(true);661 dlg.tfM01RepeatTime.setVisible(true);662 if (isSectored()) {663 dlg.rbM01Fired1.setSelected(false);664 dlg.rbM01FiredN.setSelected(true);665 if ((getSectorIndex() != 0) && (!LightChar[0].isEmpty()))666 dlg.cbM01Kennung.setEnabled(false);667 else668 dlg.cbM01Kennung.setEnabled(true);669 dlg.cbM01Kennung.setSelectedItem(getLightChar());670 if ((getSectorIndex() != 0) && (!LightGroup[0].isEmpty()))671 dlg.tfM01Group.setEnabled(false);672 else673 dlg.tfM01Group.setEnabled(true);674 dlg.tfM01Group.setText(getLightGroup());675 if ((getSectorIndex() != 0) && (!LightPeriod[0].isEmpty()))676 dlg.tfM01RepeatTime.setEnabled(false);677 else678 dlg.tfM01RepeatTime.setEnabled(true);679 dlg.tfM01RepeatTime.setText(getLightPeriod());680 if ((getSectorIndex() != 0) && (!Height[0].isEmpty()))681 dlg.tfM01Height.setEnabled(false);682 else683 dlg.tfM01Height.setEnabled(true);684 dlg.tfM01Height.setText(getHeight());685 if ((getSectorIndex() != 0) && (!Range[0].isEmpty()))686 dlg.tfM01Range.setEnabled(false);687 else688 dlg.tfM01Range.setEnabled(true);689 dlg.tfM01Range.setText(getRange());690 dlg.lM01Sector.setVisible(true);691 dlg.cbM01Sector.setVisible(true);692 if (getSectorIndex() == 0) {693 dlg.lM01Colour.setVisible(false);694 dlg.cbM01Colour.setVisible(false);695 dlg.lM01Bearing.setVisible(false);696 dlg.tfM01Bearing.setVisible(false);697 dlg.tfM02Bearing.setVisible(false);698 dlg.tfM01Radius.setVisible(false);699 } else {700 dlg.lM01Colour.setVisible(true);701 dlg.cbM01Colour.setVisible(true);702 dlg.lM01Bearing.setVisible(true);703 dlg.tfM01Bearing.setVisible(true);704 dlg.tfM01Bearing.setText(getBearing1());705 dlg.tfM02Bearing.setVisible(true);706 dlg.tfM02Bearing.setText(getBearing2());707 dlg.tfM01Radius.setVisible(true);708 dlg.tfM01Radius.setText(getRadius());709 }710 } else {711 dlg.rbM01FiredN.setSelected(false);712 dlg.rbM01Fired1.setSelected(true);713 dlg.cbM01Kennung.setEnabled(true);714 dlg.tfM01Group.setEnabled(true);715 dlg.tfM01RepeatTime.setEnabled(true);716 dlg.tfM01Height.setEnabled(true);717 dlg.tfM01Range.setEnabled(true);718 dlg.lM01Colour.setVisible(true);719 dlg.cbM01Colour.setVisible(true);720 dlg.lM01Sector.setVisible(false);721 dlg.cbM01Sector.setVisible(false);722 dlg.lM01Bearing.setVisible(false);723 dlg.tfM01Bearing.setVisible(false);724 dlg.tfM02Bearing.setVisible(false);725 dlg.tfM01Radius.setVisible(false);726 }727 } else {728 dlg.lM01FireMark.setText("");729 dlg.rbM01Fired1.setVisible(false);730 dlg.rbM01FiredN.setVisible(false);731 dlg.cbM01Kennung.setVisible(false);732 dlg.lM01Kennung.setVisible(false);733 dlg.tfM01Height.setVisible(false);734 dlg.lM01Height.setVisible(false);735 dlg.tfM01Range.setVisible(false);736 dlg.lM01Range.setVisible(false);737 dlg.cbM01Colour.setVisible(false);738 dlg.lM01Colour.setVisible(false);739 dlg.cbM01Sector.setVisible(false);740 dlg.lM01Sector.setVisible(false);741 dlg.tfM01Group.setVisible(false);742 dlg.lM01Group.setVisible(false);743 dlg.tfM01RepeatTime.setVisible(false);744 dlg.lM01RepeatTime.setVisible(false);745 dlg.tfM01Bearing.setVisible(false);746 dlg.lM01Bearing.setVisible(false);747 dlg.tfM02Bearing.setVisible(false);748 dlg.tfM01Radius.setVisible(false);749 }750 } else {751 dlg.bM01Save.setEnabled(false);752 dlg.tfM01Name.setEnabled(false);753 dlg.cM01TopMark.setVisible(false);754 dlg.cbM01TopMark.setVisible(false);755 dlg.cM01Radar.setVisible(false);756 dlg.cM01Racon.setVisible(false);757 dlg.cbM01Racon.setVisible(false);758 dlg.tfM01Racon.setVisible(false);759 dlg.lM01Racon.setVisible(false);760 dlg.cM01Fog.setVisible(false);761 dlg.cbM01Fog.setVisible(false);762 dlg.tfM01FogGroup.setVisible(false);763 dlg.lM01FogGroup.setVisible(false);764 dlg.tfM01FogPeriod.setVisible(false);765 dlg.lM01FogPeriod.setVisible(false);766 dlg.cM01Fired.setVisible(false);767 dlg.rbM01Fired1.setVisible(false);768 dlg.rbM01FiredN.setVisible(false);769 dlg.cbM01Kennung.setVisible(false);770 dlg.lM01Kennung.setVisible(false);771 dlg.tfM01Height.setVisible(false);772 dlg.lM01Height.setVisible(false);773 dlg.tfM01Range.setVisible(false);774 dlg.lM01Range.setVisible(false);775 dlg.cbM01Colour.setVisible(false);776 dlg.lM01Colour.setVisible(false);777 dlg.cbM01Sector.setVisible(false);778 dlg.lM01Sector.setVisible(false);779 dlg.tfM01Group.setVisible(false);780 dlg.lM01Group.setVisible(false);781 dlg.tfM01RepeatTime.setVisible(false);782 dlg.lM01RepeatTime.setVisible(false);783 dlg.tfM01Bearing.setVisible(false);784 dlg.lM01Bearing.setVisible(false);785 dlg.tfM02Bearing.setVisible(false);786 dlg.tfM01Radius.setVisible(false);787 }788 dlg.paintlock = false;789 }790 791 public void saveSign(String type) {792 delSeaMarkKeys(Node);793 794 String str = dlg.tfM01Name.getText();795 if (!str.isEmpty())796 Main.main.undoRedo.add(new ChangePropertyCommand(Node, "seamark:name",797 str));798 Main.main.undoRedo799 .add(new ChangePropertyCommand(Node, "seamark:type", type));800 }801 802 protected void saveLightData() {803 String colour;804 if (dlg.cM01Fired.isSelected()) {805 if (!(colour = LightColour[0]).isEmpty())806 if (colour.equals("R")) {807 Main.main.undoRedo.add(new ChangePropertyCommand(Node,808 "seamark:light:colour", "red"));809 } else if (colour.equals("G")) {810 Main.main.undoRedo.add(new ChangePropertyCommand(Node,811 "seamark:light:colour", "green"));812 } else if (colour.equals("W")) {813 Main.main.undoRedo.add(new ChangePropertyCommand(Node,814 "seamark:light:colour", "white"));815 }816 817 if (!LightPeriod[0].isEmpty())818 Main.main.undoRedo.add(new ChangePropertyCommand(Node,819 "seamark:light:period", LightPeriod[0]));820 821 if (!LightChar[0].isEmpty())822 Main.main.undoRedo.add(new ChangePropertyCommand(Node,823 "seamark:light:character", LightChar[0]));824 825 if (!LightGroup[0].isEmpty())826 Main.main.undoRedo.add(new ChangePropertyCommand(Node,827 "seamark:light:group", LightGroup[0]));828 829 if (!Height[0].isEmpty())830 Main.main.undoRedo.add(new ChangePropertyCommand(Node,831 "seamark:light:height", Height[0]));832 833 if (!Range[0].isEmpty())834 Main.main.undoRedo.add(new ChangePropertyCommand(Node,835 "seamark:light:range", Range[0]));836 837 for (int i = 1; i < 10; i++) {838 if ((colour = LightColour[i]) != null)839 if (colour.equals("R")) {840 Main.main.undoRedo.add(new ChangePropertyCommand(Node,841 "seamark:light:" + i + ":colour", "red"));842 if ((Bearing1[i] != null) && (Bearing2[i] != null)843 && (Radius[i] != null))844 Main.main.undoRedo.add(new ChangePropertyCommand(Node,845 "seamark:light:" + i, "red:" + Bearing1[i] + ":"846 + Bearing2[i] + ":" + Radius[i]));847 } else if (colour.equals("G")) {848 Main.main.undoRedo.add(new ChangePropertyCommand(Node,849 "seamark:light:" + i + ":colour", "green"));850 if ((Bearing1[i] != null) && (Bearing2[i] != null)851 && (Radius[i] != null))852 Main.main.undoRedo.add(new ChangePropertyCommand(Node,853 "seamark:light:" + i, "green:" + Bearing1[i] + ":"854 + Bearing2[i] + ":" + Radius[i]));855 } else if (colour.equals("W")) {856 Main.main.undoRedo.add(new ChangePropertyCommand(Node,857 "seamark:light:" + i + ":colour", "white"));858 if ((Bearing1[i] != null) && (Bearing2[i] != null)859 && (Radius[i] != null))860 Main.main.undoRedo.add(new ChangePropertyCommand(Node,861 "seamark:light:" + i, "white:" + Bearing1[i] + ":"862 + Bearing2[i] + ":" + Radius[i]));863 }864 865 if (LightPeriod[i] != null)866 Main.main.undoRedo.add(new ChangePropertyCommand(Node,867 "seamark:light:" + i + ":period", LightPeriod[i]));868 869 if (LightChar[i] != null)870 Main.main.undoRedo.add(new ChangePropertyCommand(Node,871 "seamark:light:" + i + ":character", LightChar[i]));872 873 if (LightGroup[i] != null)874 Main.main.undoRedo.add(new ChangePropertyCommand(Node,875 "seamark:light:" + i + ":group", LightGroup[i]));876 877 if (Height[i] != null)878 Main.main.undoRedo.add(new ChangePropertyCommand(Node,879 "seamark:light:" + i + ":height", Height[i]));880 881 if (Range[i] != null)882 Main.main.undoRedo.add(new ChangePropertyCommand(Node,883 "seamark:light:" + i + ":range", Range[i]));884 885 if (Bearing1[i] != null)886 Main.main.undoRedo.add(new ChangePropertyCommand(Node,887 "seamark:light:" + i + ":sector_start", Bearing1[i]));888 889 if (Bearing2[i] != null)890 Main.main.undoRedo.add(new ChangePropertyCommand(Node,891 "seamark:light:" + i + ":sector_end", Bearing2[i]));892 }893 }894 }895 896 protected void saveTopMarkData(String shape, String colour) {897 if (dlg.cM01TopMark.isSelected()) {898 Main.main.undoRedo.add(new ChangePropertyCommand(Node,899 "seamark:topmark:shape", shape));900 Main.main.undoRedo.add(new ChangePropertyCommand(Node,901 "seamark:topmark:colour", colour));902 }903 }904 905 protected void saveRadarFogData() {906 if (hasRadar()) {907 Main.main.undoRedo.add(new ChangePropertyCommand(Node,908 "seamark:radar_reflector", "yes"));909 }910 if (hasRacon()) {911 switch (RaType) {912 case RATYPE_RACON:913 Main.main.undoRedo.add(new ChangePropertyCommand(Node,914 "seamark:radar_transponder:category", "racon"));915 if (!getRaconGroup().isEmpty())916 Main.main.undoRedo.add(new ChangePropertyCommand(Node,917 "seamark:radar_transponder:group", getRaconGroup()));918 break;919 case RATYPE_RAMARK:920 Main.main.undoRedo.add(new ChangePropertyCommand(Node,921 "seamark:radar_transponder:category", "ramark"));922 break;923 case RATYPE_LEADING:924 Main.main.undoRedo.add(new ChangePropertyCommand(Node,925 "seamark:radar_transponder:category", "leading"));926 break;927 default:928 Main.main.undoRedo.add(new ChangePropertyCommand(Node,929 "seamark:radar_transponder", "yes"));930 }931 }932 if (hasFog()) {933 if (getFogSound() == 0) {934 Main.main.undoRedo.add(new ChangePropertyCommand(Node,935 "seamark:fog_signal", "yes"));936 } else {937 switch (getFogSound()) {938 case FOG_HORN:939 Main.main.undoRedo.add(new ChangePropertyCommand(Node,940 "seamark:fog_signal:category", "horn"));941 break;942 case FOG_SIREN:943 Main.main.undoRedo.add(new ChangePropertyCommand(Node,944 "seamark:fog_signal:category", "siren"));945 break;946 case FOG_DIA:947 Main.main.undoRedo.add(new ChangePropertyCommand(Node,948 "seamark:fog_signal:category", "diaphone"));949 break;950 case FOG_BELL:951 Main.main.undoRedo.add(new ChangePropertyCommand(Node,952 "seamark:fog_signal:category", "bell"));953 break;954 case FOG_WHIS:955 Main.main.undoRedo.add(new ChangePropertyCommand(Node,956 "seamark:fog_signal:category", "whistle"));957 break;958 case FOG_GONG:959 Main.main.undoRedo.add(new ChangePropertyCommand(Node,960 "seamark:fog_signal:category", "gong"));961 break;962 case FOG_EXPLOS:963 Main.main.undoRedo.add(new ChangePropertyCommand(Node,964 "seamark:fog_signal:category", "explosive"));965 break;966 }967 if (!getFogGroup().isEmpty())968 Main.main.undoRedo.add(new ChangePropertyCommand(Node,969 "seamark:fog_signal:group", getFogGroup()));970 if (!getFogPeriod().isEmpty())971 Main.main.undoRedo.add(new ChangePropertyCommand(Node,972 "seamark:fog_signal:period", getFogPeriod()));973 }974 }975 }976 977 public void refreshStyles() {978 }979 980 public void refreshLights() {981 dlg.cbM01Kennung.removeAllItems();982 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$983 dlg.cbM01Kennung.addItem("Fl"); //$NON-NLS-1$984 dlg.cbM01Kennung.addItem("LFl"); //$NON-NLS-1$985 dlg.cbM01Kennung.addItem("Iso"); //$NON-NLS-1$986 dlg.cbM01Kennung.addItem("F"); //$NON-NLS-1$987 dlg.cbM01Kennung.addItem("FFl"); //$NON-NLS-1$988 dlg.cbM01Kennung.addItem("Oc"); //$NON-NLS-1$989 dlg.cbM01Kennung.addItem("Q"); //$NON-NLS-1$990 dlg.cbM01Kennung.addItem("IQ"); //$NON-NLS-1$991 dlg.cbM01Kennung.addItem("VQ"); //$NON-NLS-1$992 dlg.cbM01Kennung.addItem("IVQ"); //$NON-NLS-1$993 dlg.cbM01Kennung.addItem("UQ"); //$NON-NLS-1$994 dlg.cbM01Kennung.addItem("IUQ"); //$NON-NLS-1$995 dlg.cbM01Kennung.addItem("Mo"); //$NON-NLS-1$996 dlg.cbM01Kennung.setSelectedIndex(0);997 }998 999 public void resetMask() {1000 setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));1001 1002 dlg.lM01Icon.setIcon(null);1003 dlg.lM02Icon.setIcon(null);1004 dlg.lM03Icon.setIcon(null);1005 dlg.lM04Icon.setIcon(null);1006 dlg.lM05Icon.setIcon(null);1007 dlg.lM06Icon.setIcon(null);1008 1009 dlg.rbM01RegionA.setEnabled(false);1010 dlg.rbM01RegionB.setEnabled(false);1011 dlg.lM01FireMark.setText("");1012 dlg.cbM01CatOfMark.setVisible(false);1013 dlg.lM01CatOfMark.setVisible(false);1014 setBuoyIndex(0);1015 dlg.cbM01StyleOfMark.setVisible(false);1016 dlg.lM01StyleOfMark.setVisible(false);1017 setStyleIndex(0);1018 dlg.tfM01Name.setText("");1019 dlg.tfM01Name.setEnabled(false);1020 setName("");1021 dlg.cM01TopMark.setSelected(false);1022 dlg.cM01TopMark.setVisible(false);1023 dlg.cbM01TopMark.setVisible(false);1024 setTopMark(false);1025 dlg.cM01Radar.setSelected(false);1026 dlg.cM01Radar.setVisible(false);1027 setRadar(false);1028 dlg.cM01Racon.setSelected(false);1029 dlg.cM01Racon.setVisible(false);1030 dlg.cbM01Racon.setVisible(false);1031 dlg.tfM01Racon.setText("");1032 dlg.tfM01Racon.setVisible(false);1033 dlg.lM01Racon.setVisible(false);1034 setRacon(false);1035 setRaType(0);1036 dlg.cM01Fog.setSelected(false);1037 dlg.cM01Fog.setVisible(false);1038 dlg.cbM01Fog.setVisible(false);1039 setFogSound(0);1040 dlg.tfM01FogGroup.setText("");1041 dlg.tfM01FogGroup.setVisible(false);1042 dlg.lM01FogGroup.setVisible(false);1043 dlg.tfM01FogPeriod.setText("");1044 dlg.tfM01FogPeriod.setVisible(false);1045 dlg.lM01FogPeriod.setVisible(false);1046 setFog(false);1047 dlg.cM01Fired.setSelected(false);1048 dlg.cM01Fired.setVisible(false);1049 setFired(false);1050 dlg.rbM01Fired1.setVisible(false);1051 dlg.rbM01Fired1.setSelected(true);1052 dlg.rbM01FiredN.setVisible(false);1053 dlg.rbM01FiredN.setSelected(false);1054 setSectored(false);1055 dlg.cbM01Kennung.removeAllItems();1056 dlg.cbM01Kennung.setVisible(false);1057 dlg.lM01Kennung.setVisible(false);1058 setLightChar("");1059 dlg.tfM01Height.setText("");1060 dlg.tfM01Height.setVisible(false);1061 dlg.lM01Height.setVisible(false);1062 setHeight("");1063 dlg.tfM01Range.setText("");1064 dlg.tfM01Range.setVisible(false);1065 dlg.lM01Range.setVisible(false);1066 setRange("");1067 dlg.cbM01Colour.setVisible(false);1068 dlg.lM01Colour.setVisible(false);1069 setLightColour("");1070 dlg.cbM01Sector.setVisible(false);1071 dlg.lM01Sector.setVisible(false);1072 setSectorIndex(0);1073 dlg.tfM01Group.setText("");1074 dlg.tfM01Group.setVisible(false);1075 dlg.lM01Group.setVisible(false);1076 setLightGroup("");1077 dlg.tfM01RepeatTime.setText("");1078 dlg.tfM01RepeatTime.setVisible(false);1079 dlg.lM01RepeatTime.setVisible(false);1080 setLightPeriod("");1081 dlg.tfM01Bearing.setText("");1082 dlg.tfM01Bearing.setVisible(false);1083 dlg.lM01Bearing.setVisible(false);1084 setBearing1("");1085 dlg.tfM02Bearing.setText("");1086 dlg.tfM02Bearing.setVisible(false);1087 setBearing2("");1088 dlg.tfM01Radius.setText("");1089 dlg.tfM01Radius.setVisible(false);1090 setRadius("");1091 1092 dlg.bM01Save.setEnabled(false);1093 }174 private int SectorIndex = 0; 175 176 public int getSectorIndex() { 177 return SectorIndex; 178 } 179 180 public void setSectorIndex(int sector) { 181 SectorIndex = sector; 182 } 183 184 private String[] LightChar = new String[10]; 185 186 public String getLightChar() { 187 if (LightChar[SectorIndex] == null) 188 return (LightChar[0]); 189 return LightChar[SectorIndex]; 190 } 191 192 public void setLightChar(String lightChar) { 193 if (SectorIndex == 0) { 194 LightChar = new String[10]; 195 LightChar[0] = lightChar; 196 } else if (LightChar[0].isEmpty()) 197 LightChar[SectorIndex] = lightChar; 198 } 199 200 private String[] LightColour = new String[10]; 201 202 public String getLightColour() { 203 if (LightColour[SectorIndex] == null) 204 return (LightColour[0]); 205 return LightColour[SectorIndex]; 206 } 207 208 public void setLightColour(String lightColour) { 209 LightColour[SectorIndex] = lightColour; 210 } 211 212 private String[] LightGroup = new String[10]; 213 214 public String getLightGroup() { 215 if (LightGroup[SectorIndex] == null) 216 return (LightGroup[0]); 217 return LightGroup[SectorIndex]; 218 } 219 220 public void setLightGroup(String lightGroup) { 221 if (SectorIndex == 0) 222 LightGroup = new String[10]; 223 LightGroup[SectorIndex] = lightGroup; 224 } 225 226 protected void setLightGroup(Map<String, String> k) { 227 String s = ""; 228 if (k.containsKey("seamark:light:group")) { 229 s = k.get("seamark:light:group"); 230 setLightGroup(s); 231 } 232 } 233 234 private String[] Height = new String[10]; 235 236 public String getHeight() { 237 if (Height[SectorIndex] == null) 238 return (Height[0]); 239 return Height[SectorIndex]; 240 } 241 242 public void setHeight(String height) { 243 if (SectorIndex == 0) 244 Height = new String[10]; 245 Height[SectorIndex] = height; 246 } 247 248 private String[] Range = new String[10]; 249 250 public String getRange() { 251 if (Range[SectorIndex] == null) 252 return (Range[0]); 253 return Range[SectorIndex]; 254 } 255 256 public void setRange(String range) { 257 if (SectorIndex == 0) 258 Range = new String[10]; 259 Range[SectorIndex] = range; 260 } 261 262 private String[] Bearing1 = new String[10]; 263 264 public String getBearing1() { 265 if (Bearing1[SectorIndex] == null) 266 return (Bearing1[0]); 267 return Bearing1[SectorIndex]; 268 } 269 270 public void setBearing1(String bearing) { 271 if (SectorIndex == 0) 272 Bearing1 = new String[10]; 273 Bearing1[SectorIndex] = bearing; 274 } 275 276 private String[] Bearing2 = new String[10]; 277 278 public String getBearing2() { 279 if (Bearing2[SectorIndex] == null) 280 return (Bearing2[0]); 281 return Bearing2[SectorIndex]; 282 } 283 284 public void setBearing2(String bearing) { 285 if (SectorIndex == 0) 286 Bearing2 = new String[10]; 287 Bearing2[SectorIndex] = bearing; 288 } 289 290 private String[] Radius = new String[10]; 291 292 public String getRadius() { 293 if (Radius[SectorIndex] == null) 294 return (Radius[0]); 295 return Radius[SectorIndex]; 296 } 297 298 public void setRadius(String radius) { 299 if (SectorIndex == 0) 300 Radius = new String[10]; 301 Radius[SectorIndex] = radius; 302 } 303 304 private String[] LightPeriod = new String[10]; 305 306 public String getLightPeriod() { 307 if (LightPeriod[SectorIndex] == null) 308 return (LightPeriod[0]); 309 return LightPeriod[SectorIndex]; 310 } 311 312 public void setLightPeriod(String lightPeriod) { 313 String regex = "^[\\d\\s.]+$"; 314 315 if (!lightPeriod.isEmpty()) { 316 317 Pattern pat = Pattern.compile(regex); 318 Matcher matcher = pat.matcher(lightPeriod); 319 320 if (matcher.find()) { 321 setErrMsg(null); 322 } else { 323 setErrMsg("Must be a number"); 324 lightPeriod = ""; 325 dlg.tfM01RepeatTime.requestFocus(); 326 } 327 } 328 if (SectorIndex == 0) 329 LightPeriod = new String[10]; 330 LightPeriod[SectorIndex] = lightPeriod; 331 } 332 333 private Node Node = null; 334 335 public Node getNode() { 336 return Node; 337 } 338 339 public void setNode(Node node) { 340 Node = node; 341 } 342 343 private boolean TopMark = false; 344 345 public boolean hasTopMark() { 346 return TopMark; 347 } 348 349 public void setTopMark(boolean topMark) { 350 TopMark = topMark; 351 /* 352 * if (dlg.cM01TopMark == null) { return; } 353 */ 354 dlg.cM01TopMark.setSelected(topMark); 355 } 356 357 protected SmpDialogAction dlg = null; // hier wird der Dialog referenziert 358 359 public SmpDialogAction getDlg() { 360 return dlg; 361 } 362 363 public void setDlg(SmpDialogAction dlg) { 364 this.dlg = dlg; 365 } 366 367 protected Buoy(SmpDialogAction dia) { 368 dlg = dia; 369 } 370 371 public boolean isValid() { 372 return false; 373 } 374 375 public void parseLights(Map<String, String> k) { 376 setFired(false); 377 setSectored(false); 378 Iterator it = k.entrySet().iterator(); 379 while (it.hasNext()) { 380 Map.Entry entry = (Map.Entry) it.next(); 381 String key = (String) entry.getKey(); 382 String value = ((String) entry.getValue()).trim(); 383 if (key.contains("seamark:light:")) { 384 setFired(true); 385 int index = 0; 386 key = key.substring(14); 387 if (key.matches("^\\d:.*")) { 388 index = key.charAt(0) - '0'; 389 key = key.substring(2); 390 } else if (key.matches("^\\d$")) { 391 index = key.charAt(0) - '0'; 392 String values[] = value.split(":"); 393 if (values[0].equals("red")) 394 LightColour[index] = "R"; 395 else if (values[0].equals("green")) 396 LightColour[index] = "G"; 397 else if (values[0].equals("white")) 398 LightColour[index] = "W"; 399 if (values.length > 1) 400 Bearing1[index] = values[1]; 401 if (values.length > 2) 402 Bearing2[index] = values[2]; 403 if (values.length > 3) 404 Radius[index] = values[3]; 405 } else { 406 index = 0; 407 } 408 if (index != 0) 409 setSectored(true); 410 if (key.equals("colour")) { 411 if (value.equals("red")) 412 LightColour[index] = "R"; 413 else if (value.equals("green")) 414 LightColour[index] = "G"; 415 else if (value.equals("white")) 416 LightColour[index] = "W"; 417 } else if (key.equals("character")) { 418 LightChar[index] = value; 419 } else if (key.equals("group")) { 420 LightGroup[index] = value; 421 } else if (key.equals("period")) { 422 LightPeriod[index] = value; 423 } else if (key.equals("height")) { 424 Height[index] = value; 425 } else if (key.equals("range")) { 426 Range[index] = value; 427 } 428 } 429 } 430 setSectorIndex(0); 431 dlg.cbM01Sector.setSelectedIndex(0); 432 dlg.cM01Fired.setSelected(isFired()); 433 dlg.rbM01Fired1.setSelected(!isSectored()); 434 dlg.rbM01FiredN.setSelected(isSectored()); 435 dlg.cbM01Kennung.setSelectedItem(getLightChar()); 436 dlg.tfM01Height.setText(getHeight()); 437 dlg.tfM01Range.setText(getRange()); 438 dlg.tfM01Group.setText(getLightGroup()); 439 dlg.tfM01RepeatTime.setText(getLightPeriod()); 440 dlg.cbM01Colour.setSelectedItem(getLightColour()); 441 } 442 443 public void parseFogRadar(Map<String, String> k) { 444 String str; 445 setFog(false); 446 setRadar(false); 447 setRacon(false); 448 if (k.containsKey("seamark:fog_signal") 449 || k.containsKey("seamark:fog_signal:category") 450 || k.containsKey("seamark:fog_signal:group") 451 || k.containsKey("seamark:fog_signal:period")) { 452 setFog(true); 453 if (k.containsKey("seamark:fog_signal:category")) { 454 str = k.get("seamark:fog_signal:category"); 455 if (str.equals("horn")) 456 setFogSound(FOG_HORN); 457 else if (str.equals("siren")) 458 setFogSound(FOG_SIREN); 459 else if (str.equals("diaphone")) 460 setFogSound(FOG_DIA); 461 else if (str.equals("bell")) 462 setFogSound(FOG_BELL); 463 else if (str.equals("whis")) 464 setFogSound(FOG_WHIS); 465 else if (str.equals("gong")) 466 setFogSound(FOG_GONG); 467 else if (str.equals("explosive")) 468 setFogSound(FOG_EXPLOS); 469 else 470 setFogSound(UNKNOWN_FOG); 471 } 472 if (k.containsKey("seamark:fog_signal:group")) 473 setFogGroup(k.get("seamark:fog_signal:group")); 474 if (k.containsKey("seamark:fog_signal:period")) 475 setFogPeriod(k.get("seamark:fog_signal:period")); 476 } 477 dlg.cM01Fog.setSelected(hasFog()); 478 dlg.cbM01Fog.setSelectedIndex(getFogSound()); 479 dlg.tfM01FogGroup.setText(getFogGroup()); 480 dlg.tfM01FogPeriod.setText(getFogPeriod()); 481 482 if (k.containsKey("seamark:radar_transponder") 483 || k.containsKey("seamark:radar_transponder:category") 484 || k.containsKey("seamark:radar_transponder:group")) { 485 setRacon(true); 486 if (k.containsKey("seamark:radar_transponder:category")) { 487 str = k.get("seamark:radar_transponder:category"); 488 if (str.equals("racon")) 489 setRaType(RATYPE_RACON); 490 else if (str.equals("ramark")) 491 setRaType(RATYPE_RAMARK); 492 else if (str.equals("leading")) 493 setRaType(RATYPE_LEADING); 494 else 495 setRaType(UNKNOWN_RATYPE); 496 } 497 if (k.containsKey("seamark:radar_transponder:group")) 498 setRaconGroup(k.get("seamark:radar_transponder:group")); 499 } else if (k.containsKey("seamark:radar_reflector")) 500 setRadar(true); 501 dlg.cM01Radar.setSelected(hasRadar()); 502 dlg.cM01Racon.setSelected(hasRacon()); 503 dlg.cbM01Racon.setSelectedIndex(getRaType()); 504 dlg.tfM01Racon.setText(getRaconGroup()); 505 } 506 507 public void paintSign() { 508 509 if (dlg.paintlock) 510 return; 511 else 512 dlg.paintlock = true; 513 514 dlg.lM01Icon.setIcon(null); 515 dlg.lM02Icon.setIcon(null); 516 dlg.lM03Icon.setIcon(null); 517 dlg.lM04Icon.setIcon(null); 518 dlg.lM05Icon.setIcon(null); 519 dlg.lM06Icon.setIcon(null); 520 dlg.lM01NameMark.setText(""); 521 dlg.lM01FireMark.setText(""); 522 dlg.lM01FogMark.setText(""); 523 dlg.lM01RadarMark.setText(""); 524 525 dlg.rbM01RegionA.setSelected(!getRegion()); 526 dlg.rbM01RegionB.setSelected(getRegion()); 527 528 if (isValid()) { 529 dlg.lM01NameMark.setText(getName()); 530 531 dlg.bM01Save.setEnabled(true); 532 533 dlg.cM01TopMark.setSelected(hasTopMark()); 534 dlg.cM01Fired.setSelected(isFired()); 535 536 dlg.tfM01RepeatTime.setText(getLightPeriod()); 537 538 dlg.tfM01Name.setText(getName()); 539 dlg.tfM01Name.setEnabled(true); 540 541 if (hasRadar()) { 542 dlg.lM03Icon.setIcon(new ImageIcon(getClass().getResource( 543 "/images/Radar_Reflector_355.png"))); 544 } 545 546 else if (hasRacon()) { 547 dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource( 548 "/images/Radar_Station.png"))); 549 if (getRaType() != 0) { 550 String c = (String) dlg.cbM01Racon.getSelectedItem(); 551 if ((getRaType() == RATYPE_RACON) && !getRaconGroup().isEmpty()) 552 c += ("(" + getRaconGroup() + ")"); 553 dlg.lM01RadarMark.setText(c); 554 } 555 dlg.cbM01Racon.setVisible(true); 556 if (getRaType() == RATYPE_RACON) { 557 dlg.lM01Racon.setVisible(true); 558 dlg.tfM01Racon.setVisible(true); 559 dlg.tfM01Racon.setEnabled(true); 560 } else { 561 dlg.lM01Racon.setVisible(false); 562 dlg.tfM01Racon.setVisible(false); 563 } 564 } else { 565 dlg.cbM01Racon.setVisible(false); 566 dlg.lM01Racon.setVisible(false); 567 dlg.tfM01Racon.setVisible(false); 568 } 569 570 if (hasFog()) { 571 dlg.lM05Icon.setIcon(new ImageIcon(getClass().getResource( 572 "/images/Fog_Signal.png"))); 573 if (getFogSound() != 0) { 574 String c = (String) dlg.cbM01Fog.getSelectedItem(); 575 if (!getFogGroup().isEmpty()) 576 c += ("(" + getFogGroup() + ")"); 577 if (!getFogPeriod().isEmpty()) 578 c += (" " + getFogPeriod() + "s"); 579 dlg.lM01FogMark.setText(c); 580 } 581 dlg.cbM01Fog.setVisible(true); 582 if (getFogSound() == 0) { 583 dlg.lM01FogGroup.setVisible(false); 584 dlg.tfM01FogGroup.setVisible(false); 585 dlg.lM01FogPeriod.setVisible(false); 586 dlg.tfM01FogPeriod.setVisible(false); 587 } else { 588 dlg.lM01FogGroup.setVisible(true); 589 dlg.tfM01FogGroup.setVisible(true); 590 dlg.lM01FogPeriod.setVisible(true); 591 dlg.tfM01FogPeriod.setVisible(true); 592 } 593 } else { 594 dlg.cbM01Fog.setVisible(false); 595 dlg.lM01FogGroup.setVisible(false); 596 dlg.tfM01FogGroup.setVisible(false); 597 dlg.lM01FogPeriod.setVisible(false); 598 dlg.tfM01FogPeriod.setVisible(false); 599 } 600 601 if (isFired()) { 602 String lp, c; 603 String tmp = null; 604 int i1; 605 606 String col = getLightColour(); 607 if (col.equals("W")) { 608 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource( 609 "/images/Light_White_120.png"))); 610 dlg.cbM01Colour.setSelectedIndex(WHITE_LIGHT); 611 } else if (col.equals("R")) { 612 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource( 613 "/images/Light_Red_120.png"))); 614 dlg.cbM01Colour.setSelectedIndex(RED_LIGHT); 615 } else if (col.equals("G")) { 616 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource( 617 "/images/Light_Green_120.png"))); 618 dlg.cbM01Colour.setSelectedIndex(GREEN_LIGHT); 619 } else { 620 dlg.lM02Icon.setIcon(new ImageIcon(getClass().getResource( 621 "/images/Light_Magenta_120.png"))); 622 dlg.cbM01Colour.setSelectedIndex(UNKNOWN_COLOUR); 623 } 624 625 c = getLightChar(); 626 if (c.contains("+")) { 627 i1 = c.indexOf("+"); 628 tmp = c.substring(i1, c.length()); 629 c = c.substring(0, i1); 630 if (!getLightGroup().isEmpty()) { 631 c = c + "(" + getLightGroup() + ")"; 632 } 633 if (tmp != null) 634 c = c + tmp; 635 } 636 dlg.cbM01Kennung.setSelectedItem(c); 637 if ((dlg.cbM01Kennung.getSelectedIndex() != 0) 638 && (!getLightGroup().isEmpty()) 639 || (((String) dlg.cbM01Kennung.getSelectedItem()).contains("(")) 640 && !(((String) dlg.cbM01Kennung.getSelectedItem()).contains("+"))) { 641 c = c + "(" + getLightGroup() + ")"; 642 dlg.cbM01Kennung.setSelectedItem(c); 643 } 644 c = c + " " + getLightColour(); 645 lp = getLightPeriod(); 646 if (!lp.isEmpty()) 647 c = c + " " + lp + "s"; 648 dlg.lM01FireMark.setText(c); 649 dlg.cM01Fired.setVisible(true); 650 dlg.lM01Kennung.setVisible(true); 651 dlg.cbM01Kennung.setVisible(true); 652 if (((String) dlg.cbM01Kennung.getSelectedItem()).contains("(")) { 653 dlg.tfM01Group.setVisible(false); 654 dlg.lM01Group.setVisible(false); 655 } else { 656 dlg.lM01Group.setVisible(true); 657 dlg.tfM01Group.setVisible(true); 658 } 659 dlg.tfM01Group.setText(getLightGroup()); 660 dlg.lM01RepeatTime.setVisible(true); 661 dlg.tfM01RepeatTime.setVisible(true); 662 if (isSectored()) { 663 dlg.rbM01Fired1.setSelected(false); 664 dlg.rbM01FiredN.setSelected(true); 665 if ((getSectorIndex() != 0) && (!LightChar[0].isEmpty())) 666 dlg.cbM01Kennung.setEnabled(false); 667 else 668 dlg.cbM01Kennung.setEnabled(true); 669 dlg.cbM01Kennung.setSelectedItem(getLightChar()); 670 if ((getSectorIndex() != 0) && (!LightGroup[0].isEmpty())) 671 dlg.tfM01Group.setEnabled(false); 672 else 673 dlg.tfM01Group.setEnabled(true); 674 dlg.tfM01Group.setText(getLightGroup()); 675 if ((getSectorIndex() != 0) && (!LightPeriod[0].isEmpty())) 676 dlg.tfM01RepeatTime.setEnabled(false); 677 else 678 dlg.tfM01RepeatTime.setEnabled(true); 679 dlg.tfM01RepeatTime.setText(getLightPeriod()); 680 if ((getSectorIndex() != 0) && (!Height[0].isEmpty())) 681 dlg.tfM01Height.setEnabled(false); 682 else 683 dlg.tfM01Height.setEnabled(true); 684 dlg.tfM01Height.setText(getHeight()); 685 if ((getSectorIndex() != 0) && (!Range[0].isEmpty())) 686 dlg.tfM01Range.setEnabled(false); 687 else 688 dlg.tfM01Range.setEnabled(true); 689 dlg.tfM01Range.setText(getRange()); 690 dlg.lM01Sector.setVisible(true); 691 dlg.cbM01Sector.setVisible(true); 692 if (getSectorIndex() == 0) { 693 dlg.lM01Colour.setVisible(false); 694 dlg.cbM01Colour.setVisible(false); 695 dlg.lM01Bearing.setVisible(false); 696 dlg.tfM01Bearing.setVisible(false); 697 dlg.tfM02Bearing.setVisible(false); 698 dlg.tfM01Radius.setVisible(false); 699 } else { 700 dlg.lM01Colour.setVisible(true); 701 dlg.cbM01Colour.setVisible(true); 702 dlg.lM01Bearing.setVisible(true); 703 dlg.tfM01Bearing.setVisible(true); 704 dlg.tfM01Bearing.setText(getBearing1()); 705 dlg.tfM02Bearing.setVisible(true); 706 dlg.tfM02Bearing.setText(getBearing2()); 707 dlg.tfM01Radius.setVisible(true); 708 dlg.tfM01Radius.setText(getRadius()); 709 } 710 } else { 711 dlg.rbM01FiredN.setSelected(false); 712 dlg.rbM01Fired1.setSelected(true); 713 dlg.cbM01Kennung.setEnabled(true); 714 dlg.tfM01Group.setEnabled(true); 715 dlg.tfM01RepeatTime.setEnabled(true); 716 dlg.tfM01Height.setEnabled(true); 717 dlg.tfM01Range.setEnabled(true); 718 dlg.lM01Colour.setVisible(true); 719 dlg.cbM01Colour.setVisible(true); 720 dlg.lM01Sector.setVisible(false); 721 dlg.cbM01Sector.setVisible(false); 722 dlg.lM01Bearing.setVisible(false); 723 dlg.tfM01Bearing.setVisible(false); 724 dlg.tfM02Bearing.setVisible(false); 725 dlg.tfM01Radius.setVisible(false); 726 } 727 } else { 728 dlg.lM01FireMark.setText(""); 729 dlg.rbM01Fired1.setVisible(false); 730 dlg.rbM01FiredN.setVisible(false); 731 dlg.cbM01Kennung.setVisible(false); 732 dlg.lM01Kennung.setVisible(false); 733 dlg.tfM01Height.setVisible(false); 734 dlg.lM01Height.setVisible(false); 735 dlg.tfM01Range.setVisible(false); 736 dlg.lM01Range.setVisible(false); 737 dlg.cbM01Colour.setVisible(false); 738 dlg.lM01Colour.setVisible(false); 739 dlg.cbM01Sector.setVisible(false); 740 dlg.lM01Sector.setVisible(false); 741 dlg.tfM01Group.setVisible(false); 742 dlg.lM01Group.setVisible(false); 743 dlg.tfM01RepeatTime.setVisible(false); 744 dlg.lM01RepeatTime.setVisible(false); 745 dlg.tfM01Bearing.setVisible(false); 746 dlg.lM01Bearing.setVisible(false); 747 dlg.tfM02Bearing.setVisible(false); 748 dlg.tfM01Radius.setVisible(false); 749 } 750 } else { 751 dlg.bM01Save.setEnabled(false); 752 dlg.tfM01Name.setEnabled(false); 753 dlg.cM01TopMark.setVisible(false); 754 dlg.cbM01TopMark.setVisible(false); 755 dlg.cM01Radar.setVisible(false); 756 dlg.cM01Racon.setVisible(false); 757 dlg.cbM01Racon.setVisible(false); 758 dlg.tfM01Racon.setVisible(false); 759 dlg.lM01Racon.setVisible(false); 760 dlg.cM01Fog.setVisible(false); 761 dlg.cbM01Fog.setVisible(false); 762 dlg.tfM01FogGroup.setVisible(false); 763 dlg.lM01FogGroup.setVisible(false); 764 dlg.tfM01FogPeriod.setVisible(false); 765 dlg.lM01FogPeriod.setVisible(false); 766 dlg.cM01Fired.setVisible(false); 767 dlg.rbM01Fired1.setVisible(false); 768 dlg.rbM01FiredN.setVisible(false); 769 dlg.cbM01Kennung.setVisible(false); 770 dlg.lM01Kennung.setVisible(false); 771 dlg.tfM01Height.setVisible(false); 772 dlg.lM01Height.setVisible(false); 773 dlg.tfM01Range.setVisible(false); 774 dlg.lM01Range.setVisible(false); 775 dlg.cbM01Colour.setVisible(false); 776 dlg.lM01Colour.setVisible(false); 777 dlg.cbM01Sector.setVisible(false); 778 dlg.lM01Sector.setVisible(false); 779 dlg.tfM01Group.setVisible(false); 780 dlg.lM01Group.setVisible(false); 781 dlg.tfM01RepeatTime.setVisible(false); 782 dlg.lM01RepeatTime.setVisible(false); 783 dlg.tfM01Bearing.setVisible(false); 784 dlg.lM01Bearing.setVisible(false); 785 dlg.tfM02Bearing.setVisible(false); 786 dlg.tfM01Radius.setVisible(false); 787 } 788 dlg.paintlock = false; 789 } 790 791 public void saveSign(String type) { 792 delSeaMarkKeys(Node); 793 794 String str = dlg.tfM01Name.getText(); 795 if (!str.isEmpty()) 796 Main.main.undoRedo.add(new ChangePropertyCommand(Node, "seamark:name", 797 str)); 798 Main.main.undoRedo 799 .add(new ChangePropertyCommand(Node, "seamark:type", type)); 800 } 801 802 protected void saveLightData() { 803 String colour; 804 if (dlg.cM01Fired.isSelected()) { 805 if (!(colour = LightColour[0]).isEmpty()) 806 if (colour.equals("R")) { 807 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 808 "seamark:light:colour", "red")); 809 } else if (colour.equals("G")) { 810 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 811 "seamark:light:colour", "green")); 812 } else if (colour.equals("W")) { 813 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 814 "seamark:light:colour", "white")); 815 } 816 817 if (!LightPeriod[0].isEmpty()) 818 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 819 "seamark:light:period", LightPeriod[0])); 820 821 if (!LightChar[0].isEmpty()) 822 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 823 "seamark:light:character", LightChar[0])); 824 825 if (!LightGroup[0].isEmpty()) 826 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 827 "seamark:light:group", LightGroup[0])); 828 829 if (!Height[0].isEmpty()) 830 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 831 "seamark:light:height", Height[0])); 832 833 if (!Range[0].isEmpty()) 834 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 835 "seamark:light:range", Range[0])); 836 837 for (int i = 1; i < 10; i++) { 838 if ((colour = LightColour[i]) != null) 839 if (colour.equals("R")) { 840 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 841 "seamark:light:" + i + ":colour", "red")); 842 if ((Bearing1[i] != null) && (Bearing2[i] != null) 843 && (Radius[i] != null)) 844 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 845 "seamark:light:" + i, "red:" + Bearing1[i] + ":" 846 + Bearing2[i] + ":" + Radius[i])); 847 } else if (colour.equals("G")) { 848 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 849 "seamark:light:" + i + ":colour", "green")); 850 if ((Bearing1[i] != null) && (Bearing2[i] != null) 851 && (Radius[i] != null)) 852 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 853 "seamark:light:" + i, "green:" + Bearing1[i] + ":" 854 + Bearing2[i] + ":" + Radius[i])); 855 } else if (colour.equals("W")) { 856 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 857 "seamark:light:" + i + ":colour", "white")); 858 if ((Bearing1[i] != null) && (Bearing2[i] != null) 859 && (Radius[i] != null)) 860 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 861 "seamark:light:" + i, "white:" + Bearing1[i] + ":" 862 + Bearing2[i] + ":" + Radius[i])); 863 } 864 865 if (LightPeriod[i] != null) 866 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 867 "seamark:light:" + i + ":period", LightPeriod[i])); 868 869 if (LightChar[i] != null) 870 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 871 "seamark:light:" + i + ":character", LightChar[i])); 872 873 if (LightGroup[i] != null) 874 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 875 "seamark:light:" + i + ":group", LightGroup[i])); 876 877 if (Height[i] != null) 878 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 879 "seamark:light:" + i + ":height", Height[i])); 880 881 if (Range[i] != null) 882 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 883 "seamark:light:" + i + ":range", Range[i])); 884 885 if (Bearing1[i] != null) 886 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 887 "seamark:light:" + i + ":sector_start", Bearing1[i])); 888 889 if (Bearing2[i] != null) 890 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 891 "seamark:light:" + i + ":sector_end", Bearing2[i])); 892 } 893 } 894 } 895 896 protected void saveTopMarkData(String shape, String colour) { 897 if (dlg.cM01TopMark.isSelected()) { 898 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 899 "seamark:topmark:shape", shape)); 900 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 901 "seamark:topmark:colour", colour)); 902 } 903 } 904 905 protected void saveRadarFogData() { 906 if (hasRadar()) { 907 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 908 "seamark:radar_reflector", "yes")); 909 } 910 if (hasRacon()) { 911 switch (RaType) { 912 case RATYPE_RACON: 913 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 914 "seamark:radar_transponder:category", "racon")); 915 if (!getRaconGroup().isEmpty()) 916 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 917 "seamark:radar_transponder:group", getRaconGroup())); 918 break; 919 case RATYPE_RAMARK: 920 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 921 "seamark:radar_transponder:category", "ramark")); 922 break; 923 case RATYPE_LEADING: 924 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 925 "seamark:radar_transponder:category", "leading")); 926 break; 927 default: 928 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 929 "seamark:radar_transponder", "yes")); 930 } 931 } 932 if (hasFog()) { 933 if (getFogSound() == 0) { 934 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 935 "seamark:fog_signal", "yes")); 936 } else { 937 switch (getFogSound()) { 938 case FOG_HORN: 939 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 940 "seamark:fog_signal:category", "horn")); 941 break; 942 case FOG_SIREN: 943 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 944 "seamark:fog_signal:category", "siren")); 945 break; 946 case FOG_DIA: 947 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 948 "seamark:fog_signal:category", "diaphone")); 949 break; 950 case FOG_BELL: 951 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 952 "seamark:fog_signal:category", "bell")); 953 break; 954 case FOG_WHIS: 955 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 956 "seamark:fog_signal:category", "whistle")); 957 break; 958 case FOG_GONG: 959 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 960 "seamark:fog_signal:category", "gong")); 961 break; 962 case FOG_EXPLOS: 963 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 964 "seamark:fog_signal:category", "explosive")); 965 break; 966 } 967 if (!getFogGroup().isEmpty()) 968 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 969 "seamark:fog_signal:group", getFogGroup())); 970 if (!getFogPeriod().isEmpty()) 971 Main.main.undoRedo.add(new ChangePropertyCommand(Node, 972 "seamark:fog_signal:period", getFogPeriod())); 973 } 974 } 975 } 976 977 public void refreshStyles() { 978 } 979 980 public void refreshLights() { 981 dlg.cbM01Kennung.removeAllItems(); 982 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 983 dlg.cbM01Kennung.addItem("Fl"); //$NON-NLS-1$ 984 dlg.cbM01Kennung.addItem("LFl"); //$NON-NLS-1$ 985 dlg.cbM01Kennung.addItem("Iso"); //$NON-NLS-1$ 986 dlg.cbM01Kennung.addItem("F"); //$NON-NLS-1$ 987 dlg.cbM01Kennung.addItem("FFl"); //$NON-NLS-1$ 988 dlg.cbM01Kennung.addItem("Oc"); //$NON-NLS-1$ 989 dlg.cbM01Kennung.addItem("Q"); //$NON-NLS-1$ 990 dlg.cbM01Kennung.addItem("IQ"); //$NON-NLS-1$ 991 dlg.cbM01Kennung.addItem("VQ"); //$NON-NLS-1$ 992 dlg.cbM01Kennung.addItem("IVQ"); //$NON-NLS-1$ 993 dlg.cbM01Kennung.addItem("UQ"); //$NON-NLS-1$ 994 dlg.cbM01Kennung.addItem("IUQ"); //$NON-NLS-1$ 995 dlg.cbM01Kennung.addItem("Mo"); //$NON-NLS-1$ 996 dlg.cbM01Kennung.setSelectedIndex(0); 997 } 998 999 public void resetMask() { 1000 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); 1001 1002 dlg.lM01Icon.setIcon(null); 1003 dlg.lM02Icon.setIcon(null); 1004 dlg.lM03Icon.setIcon(null); 1005 dlg.lM04Icon.setIcon(null); 1006 dlg.lM05Icon.setIcon(null); 1007 dlg.lM06Icon.setIcon(null); 1008 1009 dlg.rbM01RegionA.setEnabled(false); 1010 dlg.rbM01RegionB.setEnabled(false); 1011 dlg.lM01FireMark.setText(""); 1012 dlg.cbM01CatOfMark.setVisible(false); 1013 dlg.lM01CatOfMark.setVisible(false); 1014 setBuoyIndex(0); 1015 dlg.cbM01StyleOfMark.setVisible(false); 1016 dlg.lM01StyleOfMark.setVisible(false); 1017 setStyleIndex(0); 1018 dlg.tfM01Name.setText(""); 1019 dlg.tfM01Name.setEnabled(false); 1020 setName(""); 1021 dlg.cM01TopMark.setSelected(false); 1022 dlg.cM01TopMark.setVisible(false); 1023 dlg.cbM01TopMark.setVisible(false); 1024 setTopMark(false); 1025 dlg.cM01Radar.setSelected(false); 1026 dlg.cM01Radar.setVisible(false); 1027 setRadar(false); 1028 dlg.cM01Racon.setSelected(false); 1029 dlg.cM01Racon.setVisible(false); 1030 dlg.cbM01Racon.setVisible(false); 1031 dlg.tfM01Racon.setText(""); 1032 dlg.tfM01Racon.setVisible(false); 1033 dlg.lM01Racon.setVisible(false); 1034 setRacon(false); 1035 setRaType(0); 1036 dlg.cM01Fog.setSelected(false); 1037 dlg.cM01Fog.setVisible(false); 1038 dlg.cbM01Fog.setVisible(false); 1039 setFogSound(0); 1040 dlg.tfM01FogGroup.setText(""); 1041 dlg.tfM01FogGroup.setVisible(false); 1042 dlg.lM01FogGroup.setVisible(false); 1043 dlg.tfM01FogPeriod.setText(""); 1044 dlg.tfM01FogPeriod.setVisible(false); 1045 dlg.lM01FogPeriod.setVisible(false); 1046 setFog(false); 1047 dlg.cM01Fired.setSelected(false); 1048 dlg.cM01Fired.setVisible(false); 1049 setFired(false); 1050 dlg.rbM01Fired1.setVisible(false); 1051 dlg.rbM01Fired1.setSelected(true); 1052 dlg.rbM01FiredN.setVisible(false); 1053 dlg.rbM01FiredN.setSelected(false); 1054 setSectored(false); 1055 dlg.cbM01Kennung.removeAllItems(); 1056 dlg.cbM01Kennung.setVisible(false); 1057 dlg.lM01Kennung.setVisible(false); 1058 setLightChar(""); 1059 dlg.tfM01Height.setText(""); 1060 dlg.tfM01Height.setVisible(false); 1061 dlg.lM01Height.setVisible(false); 1062 setHeight(""); 1063 dlg.tfM01Range.setText(""); 1064 dlg.tfM01Range.setVisible(false); 1065 dlg.lM01Range.setVisible(false); 1066 setRange(""); 1067 dlg.cbM01Colour.setVisible(false); 1068 dlg.lM01Colour.setVisible(false); 1069 setLightColour(""); 1070 dlg.cbM01Sector.setVisible(false); 1071 dlg.lM01Sector.setVisible(false); 1072 setSectorIndex(0); 1073 dlg.tfM01Group.setText(""); 1074 dlg.tfM01Group.setVisible(false); 1075 dlg.lM01Group.setVisible(false); 1076 setLightGroup(""); 1077 dlg.tfM01RepeatTime.setText(""); 1078 dlg.tfM01RepeatTime.setVisible(false); 1079 dlg.lM01RepeatTime.setVisible(false); 1080 setLightPeriod(""); 1081 dlg.tfM01Bearing.setText(""); 1082 dlg.tfM01Bearing.setVisible(false); 1083 dlg.lM01Bearing.setVisible(false); 1084 setBearing1(""); 1085 dlg.tfM02Bearing.setText(""); 1086 dlg.tfM02Bearing.setVisible(false); 1087 setBearing2(""); 1088 dlg.tfM01Radius.setText(""); 1089 dlg.tfM01Radius.setVisible(false); 1090 setRadius(""); 1091 1092 dlg.bM01Save.setEnabled(false); 1093 } 1094 1094 1095 1095 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java
r23268 r23269 18 18 public class BuoyCard extends Buoy { 19 19 20 public BuoyCard(SmpDialogAction dia, Node node) {21 super(dia);22 23 String str;24 Map<String, String> keys;25 keys = node.getKeys();26 setNode(node);27 28 resetMask();29 dlg.cbM01CatOfMark.removeAllItems();30 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.157")); //$NON-NLS-1$31 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.158")); //$NON-NLS-1$32 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.159")); //$NON-NLS-1$33 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.160")); //$NON-NLS-1$34 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.161")); //$NON-NLS-1$35 36 dlg.cbM01CatOfMark.setEnabled(true);37 dlg.cbM01CatOfMark.setVisible(true);38 dlg.lM01CatOfMark.setVisible(true);39 40 dlg.cbM01StyleOfMark.removeAllItems();41 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$42 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$43 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$44 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$45 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$46 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$47 dlg.cbM01StyleOfMark.setVisible(true);48 dlg.lM01StyleOfMark.setVisible(true);49 50 dlg.cbM01TypeOfMark.setSelectedIndex(CARDINAL);51 52 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$53 if (keys.containsKey("name")) //$NON-NLS-1$54 setName(keys.get("name")); //$NON-NLS-1$55 56 if (keys.containsKey("seamark:name")) //$NON-NLS-1$57 setName(keys.get("seamark:name")); //$NON-NLS-1$58 59 if (keys.containsKey("seamark:buoy_cardinal:name")) //$NON-NLS-1$60 setName(keys.get("seamark:buoy_cardinal:name")); //$NON-NLS-1$61 else if (keys.containsKey("seamark:beacon_cardinal:name")) //$NON-NLS-1$62 setName(keys.get("seamark:beacon_cardinal:name")); //$NON-NLS-1$63 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$64 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$65 66 String cat = ""; //$NON-NLS-1$67 String col = ""; //$NON-NLS-1$68 69 if (keys.containsKey("seamark:buoy_cardinal:category")) //$NON-NLS-1$70 cat = keys.get("seamark:buoy_cardinal:category"); //$NON-NLS-1$71 else if (keys.containsKey("seamark:beacon_cardinal:category")) //$NON-NLS-1$72 cat = keys.get("seamark:beacon_cardinal:category"); //$NON-NLS-1$73 74 if (keys.containsKey("seamark:buoy_cardinal:colour")) //$NON-NLS-1$75 col = keys.get("seamark:buoy_cardinal:colour"); //$NON-NLS-1$76 else if (keys.containsKey("seamark:beacon_cardinal:colour")) //$NON-NLS-1$77 col = keys.get("seamark:beacon_cardinal:colour"); //$NON-NLS-1$78 else if (keys.containsKey("seamark:light_float:colour")) //$NON-NLS-1$79 col = keys.get("seamark:light_float:colour"); //$NON-NLS-1$80 81 if (cat.isEmpty()) { //$NON-NLS-1$82 if (col.equals("black;yellow")) { //$NON-NLS-1$83 setBuoyIndex(CARD_NORTH);84 setColour(BLACK_YELLOW);85 } else if (col.equals("black;yellow;black")) { //$NON-NLS-1$86 setBuoyIndex(CARD_EAST);87 setColour(BLACK_YELLOW_BLACK);88 } else if (col.equals("yellow;black")) { //$NON-NLS-1$89 setBuoyIndex(CARD_SOUTH);90 setColour(YELLOW_BLACK);91 } else if (col.equals("yellow;black;yellow")) { //$NON-NLS-1$92 setBuoyIndex(CARD_WEST);93 setColour(YELLOW_BLACK_YELLOW);94 }95 } else if (cat.equals("north")) { //$NON-NLS-1$96 setBuoyIndex(CARD_NORTH);97 setColour(BLACK_YELLOW);98 } else if (cat.equals("east")) { //$NON-NLS-1$99 setBuoyIndex(CARD_EAST);100 setColour(BLACK_YELLOW_BLACK);101 } else if (cat.equals("south")) { //$NON-NLS-1$102 setBuoyIndex(CARD_SOUTH);103 setColour(YELLOW_BLACK);104 } else if (cat.equals("west")) { //$NON-NLS-1$105 setBuoyIndex(CARD_WEST);106 setColour(YELLOW_BLACK_YELLOW);107 }108 109 if (keys.containsKey("seamark:buoy_cardinal:shape")) { //$NON-NLS-1$110 str = keys.get("seamark:buoy_cardinal:shape"); //$NON-NLS-1$111 112 if (str.equals("pillar")) //$NON-NLS-1$113 setStyleIndex(CARD_PILLAR);114 else if (str.equals("spar")) //$NON-NLS-1$115 setStyleIndex(CARD_SPAR);116 } else if (keys.containsKey("seamark:beacon_cardinal:colour")) { //$NON-NLS-1$117 if (keys.containsKey("seamark:beacon_cardinal:shape")) { //$NON-NLS-1$118 str = keys.get("seamark:beacon_cardinal:shape"); //$NON-NLS-1$119 120 if (str.equals("tower")) //$NON-NLS-1$121 setStyleIndex(CARD_TOWER);122 else123 setStyleIndex(CARD_BEACON);124 } else125 setStyleIndex(CARD_BEACON);126 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$127 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$128 setStyleIndex(CARD_FLOAT);129 }130 131 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount())132 setStyleIndex(0);133 134 refreshLights();135 parseLights(keys);136 parseFogRadar(keys);137 138 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex());139 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());140 dlg.tfM01Name.setText(getName());141 dlg.cM01TopMark.setSelected(hasTopMark());142 }20 public BuoyCard(SmpDialogAction dia, Node node) { 21 super(dia); 22 23 String str; 24 Map<String, String> keys; 25 keys = node.getKeys(); 26 setNode(node); 27 28 resetMask(); 29 dlg.cbM01CatOfMark.removeAllItems(); 30 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.157")); //$NON-NLS-1$ 31 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.158")); //$NON-NLS-1$ 32 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.159")); //$NON-NLS-1$ 33 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.160")); //$NON-NLS-1$ 34 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.161")); //$NON-NLS-1$ 35 36 dlg.cbM01CatOfMark.setEnabled(true); 37 dlg.cbM01CatOfMark.setVisible(true); 38 dlg.lM01CatOfMark.setVisible(true); 39 40 dlg.cbM01StyleOfMark.removeAllItems(); 41 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 42 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 43 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 44 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 45 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 46 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 47 dlg.cbM01StyleOfMark.setVisible(true); 48 dlg.lM01StyleOfMark.setVisible(true); 49 50 dlg.cbM01TypeOfMark.setSelectedIndex(CARDINAL); 51 52 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$ 53 if (keys.containsKey("name")) //$NON-NLS-1$ 54 setName(keys.get("name")); //$NON-NLS-1$ 55 56 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 57 setName(keys.get("seamark:name")); //$NON-NLS-1$ 58 59 if (keys.containsKey("seamark:buoy_cardinal:name")) //$NON-NLS-1$ 60 setName(keys.get("seamark:buoy_cardinal:name")); //$NON-NLS-1$ 61 else if (keys.containsKey("seamark:beacon_cardinal:name")) //$NON-NLS-1$ 62 setName(keys.get("seamark:beacon_cardinal:name")); //$NON-NLS-1$ 63 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 64 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 65 66 String cat = ""; //$NON-NLS-1$ 67 String col = ""; //$NON-NLS-1$ 68 69 if (keys.containsKey("seamark:buoy_cardinal:category")) //$NON-NLS-1$ 70 cat = keys.get("seamark:buoy_cardinal:category"); //$NON-NLS-1$ 71 else if (keys.containsKey("seamark:beacon_cardinal:category")) //$NON-NLS-1$ 72 cat = keys.get("seamark:beacon_cardinal:category"); //$NON-NLS-1$ 73 74 if (keys.containsKey("seamark:buoy_cardinal:colour")) //$NON-NLS-1$ 75 col = keys.get("seamark:buoy_cardinal:colour"); //$NON-NLS-1$ 76 else if (keys.containsKey("seamark:beacon_cardinal:colour")) //$NON-NLS-1$ 77 col = keys.get("seamark:beacon_cardinal:colour"); //$NON-NLS-1$ 78 else if (keys.containsKey("seamark:light_float:colour")) //$NON-NLS-1$ 79 col = keys.get("seamark:light_float:colour"); //$NON-NLS-1$ 80 81 if (cat.isEmpty()) { //$NON-NLS-1$ 82 if (col.equals("black;yellow")) { //$NON-NLS-1$ 83 setBuoyIndex(CARD_NORTH); 84 setColour(BLACK_YELLOW); 85 } else if (col.equals("black;yellow;black")) { //$NON-NLS-1$ 86 setBuoyIndex(CARD_EAST); 87 setColour(BLACK_YELLOW_BLACK); 88 } else if (col.equals("yellow;black")) { //$NON-NLS-1$ 89 setBuoyIndex(CARD_SOUTH); 90 setColour(YELLOW_BLACK); 91 } else if (col.equals("yellow;black;yellow")) { //$NON-NLS-1$ 92 setBuoyIndex(CARD_WEST); 93 setColour(YELLOW_BLACK_YELLOW); 94 } 95 } else if (cat.equals("north")) { //$NON-NLS-1$ 96 setBuoyIndex(CARD_NORTH); 97 setColour(BLACK_YELLOW); 98 } else if (cat.equals("east")) { //$NON-NLS-1$ 99 setBuoyIndex(CARD_EAST); 100 setColour(BLACK_YELLOW_BLACK); 101 } else if (cat.equals("south")) { //$NON-NLS-1$ 102 setBuoyIndex(CARD_SOUTH); 103 setColour(YELLOW_BLACK); 104 } else if (cat.equals("west")) { //$NON-NLS-1$ 105 setBuoyIndex(CARD_WEST); 106 setColour(YELLOW_BLACK_YELLOW); 107 } 108 109 if (keys.containsKey("seamark:buoy_cardinal:shape")) { //$NON-NLS-1$ 110 str = keys.get("seamark:buoy_cardinal:shape"); //$NON-NLS-1$ 111 112 if (str.equals("pillar")) //$NON-NLS-1$ 113 setStyleIndex(CARD_PILLAR); 114 else if (str.equals("spar")) //$NON-NLS-1$ 115 setStyleIndex(CARD_SPAR); 116 } else if (keys.containsKey("seamark:beacon_cardinal:colour")) { //$NON-NLS-1$ 117 if (keys.containsKey("seamark:beacon_cardinal:shape")) { //$NON-NLS-1$ 118 str = keys.get("seamark:beacon_cardinal:shape"); //$NON-NLS-1$ 119 120 if (str.equals("tower")) //$NON-NLS-1$ 121 setStyleIndex(CARD_TOWER); 122 else 123 setStyleIndex(CARD_BEACON); 124 } else 125 setStyleIndex(CARD_BEACON); 126 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 127 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$ 128 setStyleIndex(CARD_FLOAT); 129 } 130 131 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount()) 132 setStyleIndex(0); 133 134 refreshLights(); 135 parseLights(keys); 136 parseFogRadar(keys); 137 138 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex()); 139 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 140 dlg.tfM01Name.setText(getName()); 141 dlg.cM01TopMark.setSelected(hasTopMark()); 142 } 143 143 144 144 public void refreshLights() { 145 dlg.cbM01Kennung.removeAllItems();146 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$147 dlg.cbM01Kennung.setSelectedIndex(0);145 dlg.cbM01Kennung.removeAllItems(); 146 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 147 dlg.cbM01Kennung.setSelectedIndex(0); 148 148 149 149 switch (getBuoyIndex()) { … … 165 165 break; 166 166 } 167 }168 169 public boolean isValid() {170 return (getBuoyIndex() > 0) && (getStyleIndex() > 0);171 }167 } 168 169 public boolean isValid() { 170 return (getBuoyIndex() > 0) && (getStyleIndex() > 0); 171 } 172 172 173 173 public void setLightColour() { … … 180 180 super.paintSign(); 181 181 182 dlg.sM01StatusBar.setText(getErrMsg());182 dlg.sM01StatusBar.setText(getErrMsg()); 183 183 184 184 if (isValid()) { … … 223 223 image += "_Pillar"; //$NON-NLS-1$ 224 224 break; 225 case SeaMark.CARD_SPAR:226 image += "_Spar"; //$NON-NLS-1$227 break;228 case SeaMark.CARD_BEACON:229 image += "_Beacon"; //$NON-NLS-1$230 break;231 case SeaMark.CARD_TOWER:232 image += "_Tower"; //$NON-NLS-1$233 break;234 case SeaMark.CARD_FLOAT:235 image += "_Float"; //$NON-NLS-1$236 break;237 default:238 return;239 }240 241 switch (getBuoyIndex()) {242 case CARD_NORTH:243 image += "_North"; //$NON-NLS-1$244 break;245 case CARD_EAST:246 image += "_East"; //$NON-NLS-1$247 break;248 case CARD_SOUTH:249 image += "_South"; //$NON-NLS-1$250 break;251 case CARD_WEST:252 image += "_West"; //$NON-NLS-1$253 break;254 default:255 return;256 }257 258 if (!image.equals("/images/Cardinal")) { //$NON-NLS-1$259 image += ".png"; //$NON-NLS-1$260 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));261 262 } else263 dlg.lM01Icon.setIcon(null);264 }265 }266 267 public void saveSign() {268 Node node = getNode();269 if (node == null) {270 return;271 }272 273 String shape = ""; //$NON-NLS-1$274 275 switch (getStyleIndex()) {276 case CARD_PILLAR:277 super.saveSign("buoy_cardinal"); //$NON-NLS-1$278 Main.main.undoRedo.add(new ChangePropertyCommand(node,279 "seamark:buoy_cardinal:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$280 break;281 case CARD_SPAR:282 super.saveSign("buoy_cardinal"); //$NON-NLS-1$283 Main.main.undoRedo.add(new ChangePropertyCommand(node,284 "seamark:buoy_cardinal:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$285 break;286 case CARD_BEACON:287 super.saveSign("beacon_cardinal"); //$NON-NLS-1$288 break;289 case CARD_TOWER:290 super.saveSign("beacon_cardinal"); //$NON-NLS-1$291 Main.main.undoRedo.add(new ChangePropertyCommand(node,292 "seamark:beacon_cardinal:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$293 break;294 case CARD_FLOAT:295 super.saveSign("light_float"); //$NON-NLS-1$296 break;297 default:298 }299 300 switch (getStyleIndex()) {301 case CARD_PILLAR:302 case CARD_SPAR:303 switch (getBuoyIndex()) {304 case SeaMark.CARD_NORTH:305 Main.main.undoRedo.add(new ChangePropertyCommand(node,306 "seamark:buoy_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$307 Main.main.undoRedo.add(new ChangePropertyCommand(node,308 "seamark:buoy_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$309 shape = "2 cones up"; //$NON-NLS-1$310 break;311 312 case SeaMark.CARD_EAST:313 Main.main.undoRedo.add(new ChangePropertyCommand(node,314 "seamark:buoy_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$315 Main.main.undoRedo.add(new ChangePropertyCommand(node,316 "seamark:buoy_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$317 shape = "2 cones base together"; //$NON-NLS-1$318 break;319 320 case SeaMark.CARD_SOUTH:321 Main.main.undoRedo.add(new ChangePropertyCommand(node,322 "seamark:buoy_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$323 Main.main.undoRedo.add(new ChangePropertyCommand(node,324 "seamark:buoy_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$325 shape = "2 cones down"; //$NON-NLS-1$326 break;327 328 case SeaMark.CARD_WEST:329 Main.main.undoRedo.add(new ChangePropertyCommand(node,330 "seamark:buoy_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$331 Main.main.undoRedo.add(new ChangePropertyCommand(node,332 "seamark:buoy_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$333 shape = "2 cones point together"; //$NON-NLS-1$334 break;335 }336 Main.main.undoRedo.add(new ChangePropertyCommand(node,337 "seamark:buoy_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$338 break;339 case CARD_BEACON:340 case CARD_TOWER:341 switch (getBuoyIndex()) {342 case SeaMark.CARD_NORTH:343 Main.main.undoRedo.add(new ChangePropertyCommand(node,344 "seamark:beacon_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$345 Main.main.undoRedo.add(new ChangePropertyCommand(node,346 "seamark:beacon_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$347 shape = "2 cones up"; //$NON-NLS-1$348 break;349 350 case SeaMark.CARD_EAST:351 Main.main.undoRedo.add(new ChangePropertyCommand(node,352 "seamark:beacon_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$353 Main.main.undoRedo.add(new ChangePropertyCommand(node,354 "seamark:beacon_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$355 shape = "2 cones base together"; //$NON-NLS-1$356 break;357 358 case SeaMark.CARD_SOUTH:359 Main.main.undoRedo.add(new ChangePropertyCommand(node,360 "seamark:beacon_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$361 Main.main.undoRedo.add(new ChangePropertyCommand(node,362 "seamark:beacon_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$363 shape = "2 cones down"; //$NON-NLS-1$364 break;365 366 case SeaMark.CARD_WEST:367 Main.main.undoRedo.add(new ChangePropertyCommand(node,368 "seamark:beacon_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$369 Main.main.undoRedo.add(new ChangePropertyCommand(node,370 "seamark:beacon_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$371 shape = "2 cones point together"; //$NON-NLS-1$372 break;373 }374 Main.main.undoRedo.add(new ChangePropertyCommand(node,375 "seamark:beacon_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$376 break;377 case CARD_FLOAT:378 switch (getBuoyIndex()) {379 case SeaMark.CARD_NORTH:380 Main.main.undoRedo.add(new ChangePropertyCommand(node,381 "seamark:light_float:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$382 shape = "2 cones up"; //$NON-NLS-1$383 break;384 385 case SeaMark.CARD_EAST:386 Main.main.undoRedo.add(new ChangePropertyCommand(node,387 "seamark:light_float:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$388 shape = "2 cones base together"; //$NON-NLS-1$389 break;390 391 case SeaMark.CARD_SOUTH:392 Main.main.undoRedo.add(new ChangePropertyCommand(node,393 "seamark:light_float:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$394 shape = "2 cones down"; //$NON-NLS-1$395 break;396 397 case SeaMark.CARD_WEST:398 Main.main.undoRedo.add(new ChangePropertyCommand(node,399 "seamark:light_float:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$400 shape = "2 cones point together"; //$NON-NLS-1$401 break;402 }403 Main.main.undoRedo.add(new ChangePropertyCommand(node,404 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$405 break;406 }407 saveTopMarkData(shape, "black"); //$NON-NLS-1$408 saveLightData(); //$NON-NLS-1$409 saveRadarFogData();410 }225 case SeaMark.CARD_SPAR: 226 image += "_Spar"; //$NON-NLS-1$ 227 break; 228 case SeaMark.CARD_BEACON: 229 image += "_Beacon"; //$NON-NLS-1$ 230 break; 231 case SeaMark.CARD_TOWER: 232 image += "_Tower"; //$NON-NLS-1$ 233 break; 234 case SeaMark.CARD_FLOAT: 235 image += "_Float"; //$NON-NLS-1$ 236 break; 237 default: 238 return; 239 } 240 241 switch (getBuoyIndex()) { 242 case CARD_NORTH: 243 image += "_North"; //$NON-NLS-1$ 244 break; 245 case CARD_EAST: 246 image += "_East"; //$NON-NLS-1$ 247 break; 248 case CARD_SOUTH: 249 image += "_South"; //$NON-NLS-1$ 250 break; 251 case CARD_WEST: 252 image += "_West"; //$NON-NLS-1$ 253 break; 254 default: 255 return; 256 } 257 258 if (!image.equals("/images/Cardinal")) { //$NON-NLS-1$ 259 image += ".png"; //$NON-NLS-1$ 260 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image))); 261 262 } else 263 dlg.lM01Icon.setIcon(null); 264 } 265 } 266 267 public void saveSign() { 268 Node node = getNode(); 269 if (node == null) { 270 return; 271 } 272 273 String shape = ""; //$NON-NLS-1$ 274 275 switch (getStyleIndex()) { 276 case CARD_PILLAR: 277 super.saveSign("buoy_cardinal"); //$NON-NLS-1$ 278 Main.main.undoRedo.add(new ChangePropertyCommand(node, 279 "seamark:buoy_cardinal:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 280 break; 281 case CARD_SPAR: 282 super.saveSign("buoy_cardinal"); //$NON-NLS-1$ 283 Main.main.undoRedo.add(new ChangePropertyCommand(node, 284 "seamark:buoy_cardinal:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 285 break; 286 case CARD_BEACON: 287 super.saveSign("beacon_cardinal"); //$NON-NLS-1$ 288 break; 289 case CARD_TOWER: 290 super.saveSign("beacon_cardinal"); //$NON-NLS-1$ 291 Main.main.undoRedo.add(new ChangePropertyCommand(node, 292 "seamark:beacon_cardinal:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 293 break; 294 case CARD_FLOAT: 295 super.saveSign("light_float"); //$NON-NLS-1$ 296 break; 297 default: 298 } 299 300 switch (getStyleIndex()) { 301 case CARD_PILLAR: 302 case CARD_SPAR: 303 switch (getBuoyIndex()) { 304 case SeaMark.CARD_NORTH: 305 Main.main.undoRedo.add(new ChangePropertyCommand(node, 306 "seamark:buoy_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$ 307 Main.main.undoRedo.add(new ChangePropertyCommand(node, 308 "seamark:buoy_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 309 shape = "2 cones up"; //$NON-NLS-1$ 310 break; 311 312 case SeaMark.CARD_EAST: 313 Main.main.undoRedo.add(new ChangePropertyCommand(node, 314 "seamark:buoy_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$ 315 Main.main.undoRedo.add(new ChangePropertyCommand(node, 316 "seamark:buoy_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 317 shape = "2 cones base together"; //$NON-NLS-1$ 318 break; 319 320 case SeaMark.CARD_SOUTH: 321 Main.main.undoRedo.add(new ChangePropertyCommand(node, 322 "seamark:buoy_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$ 323 Main.main.undoRedo.add(new ChangePropertyCommand(node, 324 "seamark:buoy_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 325 shape = "2 cones down"; //$NON-NLS-1$ 326 break; 327 328 case SeaMark.CARD_WEST: 329 Main.main.undoRedo.add(new ChangePropertyCommand(node, 330 "seamark:buoy_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$ 331 Main.main.undoRedo.add(new ChangePropertyCommand(node, 332 "seamark:buoy_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 333 shape = "2 cones point together"; //$NON-NLS-1$ 334 break; 335 } 336 Main.main.undoRedo.add(new ChangePropertyCommand(node, 337 "seamark:buoy_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 338 break; 339 case CARD_BEACON: 340 case CARD_TOWER: 341 switch (getBuoyIndex()) { 342 case SeaMark.CARD_NORTH: 343 Main.main.undoRedo.add(new ChangePropertyCommand(node, 344 "seamark:beacon_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$ 345 Main.main.undoRedo.add(new ChangePropertyCommand(node, 346 "seamark:beacon_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 347 shape = "2 cones up"; //$NON-NLS-1$ 348 break; 349 350 case SeaMark.CARD_EAST: 351 Main.main.undoRedo.add(new ChangePropertyCommand(node, 352 "seamark:beacon_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$ 353 Main.main.undoRedo.add(new ChangePropertyCommand(node, 354 "seamark:beacon_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 355 shape = "2 cones base together"; //$NON-NLS-1$ 356 break; 357 358 case SeaMark.CARD_SOUTH: 359 Main.main.undoRedo.add(new ChangePropertyCommand(node, 360 "seamark:beacon_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$ 361 Main.main.undoRedo.add(new ChangePropertyCommand(node, 362 "seamark:beacon_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 363 shape = "2 cones down"; //$NON-NLS-1$ 364 break; 365 366 case SeaMark.CARD_WEST: 367 Main.main.undoRedo.add(new ChangePropertyCommand(node, 368 "seamark:beacon_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$ 369 Main.main.undoRedo.add(new ChangePropertyCommand(node, 370 "seamark:beacon_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 371 shape = "2 cones point together"; //$NON-NLS-1$ 372 break; 373 } 374 Main.main.undoRedo.add(new ChangePropertyCommand(node, 375 "seamark:beacon_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 376 break; 377 case CARD_FLOAT: 378 switch (getBuoyIndex()) { 379 case SeaMark.CARD_NORTH: 380 Main.main.undoRedo.add(new ChangePropertyCommand(node, 381 "seamark:light_float:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 382 shape = "2 cones up"; //$NON-NLS-1$ 383 break; 384 385 case SeaMark.CARD_EAST: 386 Main.main.undoRedo.add(new ChangePropertyCommand(node, 387 "seamark:light_float:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 388 shape = "2 cones base together"; //$NON-NLS-1$ 389 break; 390 391 case SeaMark.CARD_SOUTH: 392 Main.main.undoRedo.add(new ChangePropertyCommand(node, 393 "seamark:light_float:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ 394 shape = "2 cones down"; //$NON-NLS-1$ 395 break; 396 397 case SeaMark.CARD_WEST: 398 Main.main.undoRedo.add(new ChangePropertyCommand(node, 399 "seamark:light_float:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 400 shape = "2 cones point together"; //$NON-NLS-1$ 401 break; 402 } 403 Main.main.undoRedo.add(new ChangePropertyCommand(node, 404 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 405 break; 406 } 407 saveTopMarkData(shape, "black"); //$NON-NLS-1$ 408 saveLightData(); //$NON-NLS-1$ 409 saveRadarFogData(); 410 } 411 411 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java
r23268 r23269 17 17 18 18 public class BuoyIsol extends Buoy { 19 public BuoyIsol(SmpDialogAction dia, Node node) {20 super(dia);21 22 String str;23 Map<String, String> keys;24 keys = node.getKeys();25 setNode(node);26 27 resetMask();28 29 dlg.cbM01TypeOfMark.setSelectedIndex(ISOLATED_DANGER);30 31 dlg.cbM01StyleOfMark.removeAllItems();32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$38 dlg.cbM01StyleOfMark.setVisible(true);39 dlg.lM01StyleOfMark.setVisible(true);40 41 setBuoyIndex(ISOLATED_DANGER);42 setColour(SeaMark.BLACK_RED_BLACK);43 setLightColour("W"); //$NON-NLS-1$44 setTopMark(true);45 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$46 47 if (keys.containsKey("name")) //$NON-NLS-1$48 setName(keys.get("name")); //$NON-NLS-1$49 50 if (keys.containsKey("seamark:name")) //$NON-NLS-1$51 setName(keys.get("seamark:name")); //$NON-NLS-1$52 53 if (keys.containsKey("seamark:buoy_isolated_danger:name")) //$NON-NLS-1$54 setName(keys.get("seamark:buoy_isolated_danger:name")); //$NON-NLS-1$55 else if (keys.containsKey("seamark:beacon_isolated_danger:name")) //$NON-NLS-1$56 setName(keys.get("seamark:beacon_isolated_danger:name")); //$NON-NLS-1$57 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$58 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$59 60 if (keys.containsKey("seamark:buoy_isolated_danger:shape")) { //$NON-NLS-1$61 str = keys.get("seamark:buoy_isolated_danger:shape"); //$NON-NLS-1$62 63 if (str.equals("pillar")) //$NON-NLS-1$64 setStyleIndex(ISOL_PILLAR);65 else if (str.equals("spar")) //$NON-NLS-1$66 setStyleIndex(ISOL_SPAR);67 } else if (keys.containsKey("seamark:beacon_isolated_danger:colour")) { //$NON-NLS-1$68 if (keys.containsKey("seamark:beacon_isolated_danger:shape")) { //$NON-NLS-1$69 str = keys.get("seamark:beacon_isolated_danger:shape"); //$NON-NLS-1$70 71 if (str.equals("tower")) //$NON-NLS-1$72 setStyleIndex(ISOL_TOWER);73 else74 setStyleIndex(ISOL_BEACON);75 } else76 setStyleIndex(ISOL_BEACON);77 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$78 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$79 setStyleIndex(CARD_FLOAT);80 }81 82 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount())83 setStyleIndex(0);84 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());85 86 if (keys.containsKey("seamark:topmark:shape") //$NON-NLS-1$87 || keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$88 setTopMark(true);89 }90 91 refreshLights();92 parseLights(keys);93 parseFogRadar(keys);94 95 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());96 dlg.tfM01Name.setText(getName());97 dlg.cM01TopMark.setSelected(hasTopMark());98 }99 100 public void refreshLights() {101 dlg.cbM01Kennung.removeAllItems();102 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$103 dlg.cbM01Kennung.addItem("Fl(2)"); //$NON-NLS-1$104 dlg.cbM01Kennung.setSelectedIndex(0);105 }106 107 public boolean isValid() {108 return (getBuoyIndex() > 0) && (getStyleIndex() > 0);109 }19 public BuoyIsol(SmpDialogAction dia, Node node) { 20 super(dia); 21 22 String str; 23 Map<String, String> keys; 24 keys = node.getKeys(); 25 setNode(node); 26 27 resetMask(); 28 29 dlg.cbM01TypeOfMark.setSelectedIndex(ISOLATED_DANGER); 30 31 dlg.cbM01StyleOfMark.removeAllItems(); 32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 38 dlg.cbM01StyleOfMark.setVisible(true); 39 dlg.lM01StyleOfMark.setVisible(true); 40 41 setBuoyIndex(ISOLATED_DANGER); 42 setColour(SeaMark.BLACK_RED_BLACK); 43 setLightColour("W"); //$NON-NLS-1$ 44 setTopMark(true); 45 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$ 46 47 if (keys.containsKey("name")) //$NON-NLS-1$ 48 setName(keys.get("name")); //$NON-NLS-1$ 49 50 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 51 setName(keys.get("seamark:name")); //$NON-NLS-1$ 52 53 if (keys.containsKey("seamark:buoy_isolated_danger:name")) //$NON-NLS-1$ 54 setName(keys.get("seamark:buoy_isolated_danger:name")); //$NON-NLS-1$ 55 else if (keys.containsKey("seamark:beacon_isolated_danger:name")) //$NON-NLS-1$ 56 setName(keys.get("seamark:beacon_isolated_danger:name")); //$NON-NLS-1$ 57 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 58 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 59 60 if (keys.containsKey("seamark:buoy_isolated_danger:shape")) { //$NON-NLS-1$ 61 str = keys.get("seamark:buoy_isolated_danger:shape"); //$NON-NLS-1$ 62 63 if (str.equals("pillar")) //$NON-NLS-1$ 64 setStyleIndex(ISOL_PILLAR); 65 else if (str.equals("spar")) //$NON-NLS-1$ 66 setStyleIndex(ISOL_SPAR); 67 } else if (keys.containsKey("seamark:beacon_isolated_danger:colour")) { //$NON-NLS-1$ 68 if (keys.containsKey("seamark:beacon_isolated_danger:shape")) { //$NON-NLS-1$ 69 str = keys.get("seamark:beacon_isolated_danger:shape"); //$NON-NLS-1$ 70 71 if (str.equals("tower")) //$NON-NLS-1$ 72 setStyleIndex(ISOL_TOWER); 73 else 74 setStyleIndex(ISOL_BEACON); 75 } else 76 setStyleIndex(ISOL_BEACON); 77 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 78 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$ 79 setStyleIndex(CARD_FLOAT); 80 } 81 82 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount()) 83 setStyleIndex(0); 84 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 85 86 if (keys.containsKey("seamark:topmark:shape") //$NON-NLS-1$ 87 || keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$ 88 setTopMark(true); 89 } 90 91 refreshLights(); 92 parseLights(keys); 93 parseFogRadar(keys); 94 95 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 96 dlg.tfM01Name.setText(getName()); 97 dlg.cM01TopMark.setSelected(hasTopMark()); 98 } 99 100 public void refreshLights() { 101 dlg.cbM01Kennung.removeAllItems(); 102 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 103 dlg.cbM01Kennung.addItem("Fl(2)"); //$NON-NLS-1$ 104 dlg.cbM01Kennung.setSelectedIndex(0); 105 } 106 107 public boolean isValid() { 108 return (getBuoyIndex() > 0) && (getStyleIndex() > 0); 109 } 110 110 111 111 public void setLightColour() { … … 117 117 return; 118 118 119 super.paintSign();120 121 dlg.sM01StatusBar.setText(getErrMsg());119 super.paintSign(); 120 121 dlg.sM01StatusBar.setText(getErrMsg()); 122 122 123 123 if (isValid()) { … … 153 153 } 154 154 155 String image = "/images/Cardinal"; //$NON-NLS-1$156 157 switch (getStyleIndex()) {158 case ISOL_PILLAR:159 image += "_Pillar_Single"; //$NON-NLS-1$160 break;161 case ISOL_SPAR:162 image += "_Spar_Single"; //$NON-NLS-1$163 break;164 case ISOL_BEACON:165 image += "_Beacon_Single"; //$NON-NLS-1$166 break;167 case ISOL_TOWER:168 image += "_Tower_Single"; //$NON-NLS-1$169 break;170 case ISOL_FLOAT:171 image += "_Float_Single"; //$NON-NLS-1$172 break;173 default:174 }175 176 if (!image.equals("/images/Cardinal")) { //$NON-NLS-1$177 image += ".png"; //$NON-NLS-1$178 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));179 } else180 dlg.lM01Icon.setIcon(null);181 } else {182 dlg.tfM01Name.setEnabled(false);183 dlg.tfM01Name.setText(""); //$NON-NLS-1$184 dlg.cM01TopMark.setVisible(false);185 dlg.cM01Radar.setVisible(false);186 dlg.cM01Racon.setVisible(false);187 dlg.cM01Fog.setVisible(false);188 dlg.cM01Fired.setVisible(false);189 }190 }191 192 public void saveSign() {193 Node node = getNode();194 195 if (node == null) {196 return;197 }198 199 switch (getStyleIndex()) {200 case ISOL_PILLAR:201 super.saveSign("buoy_isolated_danger"); //$NON-NLS-1$202 Main.main.undoRedo.add(new ChangePropertyCommand(node,203 "seamark:buoy_isolated_danger:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$204 break;205 case ISOL_SPAR:206 super.saveSign("buoy_isolated_danger"); //$NON-NLS-1$207 Main.main.undoRedo.add(new ChangePropertyCommand(node,208 "seamark:buoy_isolated_danger:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$209 break;210 case ISOL_BEACON:211 super.saveSign("beacon_isolated_danger"); //$NON-NLS-1$212 break;213 case ISOL_TOWER:214 super.saveSign("beacon_isolated_danger"); //$NON-NLS-1$215 Main.main.undoRedo.add(new ChangePropertyCommand(node,216 "seamark:beacon_isolated_danger:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$217 break;218 case ISOL_FLOAT:219 super.saveSign("light_float"); //$NON-NLS-1$220 break;221 default:222 }223 224 switch (getStyleIndex()) {225 case ISOL_PILLAR:226 case ISOL_SPAR:227 Main.main.undoRedo.add(new ChangePropertyCommand(node,228 "seamark:buoy_isolated_danger:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$229 Main.main.undoRedo.add(new ChangePropertyCommand(node,230 "seamark:buoy_isolated_danger:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$231 break;232 case ISOL_BEACON:233 case ISOL_TOWER:234 Main.main.undoRedo.add(new ChangePropertyCommand(node,235 "seamark:beacon_isolated_danger:colour_pattern", //$NON-NLS-1$236 "horizontal stripes")); //$NON-NLS-1$237 Main.main.undoRedo.add(new ChangePropertyCommand(node,238 "seamark:beacon_isolated_danger:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$239 break;240 case ISOL_FLOAT:241 Main.main.undoRedo.add(new ChangePropertyCommand(node,242 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$243 Main.main.undoRedo.add(new ChangePropertyCommand(node,244 "seamark:light_float:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$245 break;246 }247 248 saveTopMarkData("2 spheres", "black"); //$NON-NLS-1$ //$NON-NLS-2$249 saveLightData(); //$NON-NLS-1$250 saveRadarFogData();251 }155 String image = "/images/Cardinal"; //$NON-NLS-1$ 156 157 switch (getStyleIndex()) { 158 case ISOL_PILLAR: 159 image += "_Pillar_Single"; //$NON-NLS-1$ 160 break; 161 case ISOL_SPAR: 162 image += "_Spar_Single"; //$NON-NLS-1$ 163 break; 164 case ISOL_BEACON: 165 image += "_Beacon_Single"; //$NON-NLS-1$ 166 break; 167 case ISOL_TOWER: 168 image += "_Tower_Single"; //$NON-NLS-1$ 169 break; 170 case ISOL_FLOAT: 171 image += "_Float_Single"; //$NON-NLS-1$ 172 break; 173 default: 174 } 175 176 if (!image.equals("/images/Cardinal")) { //$NON-NLS-1$ 177 image += ".png"; //$NON-NLS-1$ 178 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image))); 179 } else 180 dlg.lM01Icon.setIcon(null); 181 } else { 182 dlg.tfM01Name.setEnabled(false); 183 dlg.tfM01Name.setText(""); //$NON-NLS-1$ 184 dlg.cM01TopMark.setVisible(false); 185 dlg.cM01Radar.setVisible(false); 186 dlg.cM01Racon.setVisible(false); 187 dlg.cM01Fog.setVisible(false); 188 dlg.cM01Fired.setVisible(false); 189 } 190 } 191 192 public void saveSign() { 193 Node node = getNode(); 194 195 if (node == null) { 196 return; 197 } 198 199 switch (getStyleIndex()) { 200 case ISOL_PILLAR: 201 super.saveSign("buoy_isolated_danger"); //$NON-NLS-1$ 202 Main.main.undoRedo.add(new ChangePropertyCommand(node, 203 "seamark:buoy_isolated_danger:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 204 break; 205 case ISOL_SPAR: 206 super.saveSign("buoy_isolated_danger"); //$NON-NLS-1$ 207 Main.main.undoRedo.add(new ChangePropertyCommand(node, 208 "seamark:buoy_isolated_danger:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 209 break; 210 case ISOL_BEACON: 211 super.saveSign("beacon_isolated_danger"); //$NON-NLS-1$ 212 break; 213 case ISOL_TOWER: 214 super.saveSign("beacon_isolated_danger"); //$NON-NLS-1$ 215 Main.main.undoRedo.add(new ChangePropertyCommand(node, 216 "seamark:beacon_isolated_danger:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 217 break; 218 case ISOL_FLOAT: 219 super.saveSign("light_float"); //$NON-NLS-1$ 220 break; 221 default: 222 } 223 224 switch (getStyleIndex()) { 225 case ISOL_PILLAR: 226 case ISOL_SPAR: 227 Main.main.undoRedo.add(new ChangePropertyCommand(node, 228 "seamark:buoy_isolated_danger:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 229 Main.main.undoRedo.add(new ChangePropertyCommand(node, 230 "seamark:buoy_isolated_danger:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$ 231 break; 232 case ISOL_BEACON: 233 case ISOL_TOWER: 234 Main.main.undoRedo.add(new ChangePropertyCommand(node, 235 "seamark:beacon_isolated_danger:colour_pattern", //$NON-NLS-1$ 236 "horizontal stripes")); //$NON-NLS-1$ 237 Main.main.undoRedo.add(new ChangePropertyCommand(node, 238 "seamark:beacon_isolated_danger:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$ 239 break; 240 case ISOL_FLOAT: 241 Main.main.undoRedo.add(new ChangePropertyCommand(node, 242 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 243 Main.main.undoRedo.add(new ChangePropertyCommand(node, 244 "seamark:light_float:colour", "black;red;black")); //$NON-NLS-1$ //$NON-NLS-2$ 245 break; 246 } 247 248 saveTopMarkData("2 spheres", "black"); //$NON-NLS-1$ //$NON-NLS-2$ 249 saveLightData(); //$NON-NLS-1$ 250 saveRadarFogData(); 251 } 252 252 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java
r23268 r23269 16 16 17 17 public class BuoyLat extends Buoy { 18 public BuoyLat(SmpDialogAction dia, Node node) { 19 super(dia); 20 21 String str; 22 Map<String, String> keys; 23 keys = node.getKeys(); 24 setNode(node); 25 26 resetMask(); 27 28 dlg.cbM01CatOfMark.removeAllItems(); 29 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.152")); //$NON-NLS-1$ 30 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.153")); //$NON-NLS-1$ 31 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.154")); //$NON-NLS-1$ 32 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.155")); //$NON-NLS-1$ 33 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.156")); //$NON-NLS-1$ 34 35 dlg.rbM01RegionA.setEnabled(true); 36 dlg.rbM01RegionB.setEnabled(true); 37 dlg.cbM01CatOfMark.setEnabled(true); 38 dlg.cbM01CatOfMark.setVisible(true); 39 dlg.lM01CatOfMark.setVisible(true); 40 41 dlg.cbM01StyleOfMark.removeAllItems(); 42 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 43 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 44 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 45 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 46 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 47 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 48 dlg.cbM01StyleOfMark.setEnabled(true); 49 50 dlg.cbM01TypeOfMark.setSelectedIndex(LATERAL); 51 52 if (keys.containsKey("name")) //$NON-NLS-1$ 53 setName(keys.get("name")); //$NON-NLS-1$ 54 55 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 56 setName(keys.get("seamark:name")); //$NON-NLS-1$ 57 58 if (keys.containsKey("seamark:buoy_lateral:name")) //$NON-NLS-1$ 59 setName(keys.get("seamark:buoy_lateral:name")); //$NON-NLS-1$ 60 else if (keys.containsKey("seamark:beacon_lateral:name")) //$NON-NLS-1$ 61 setName(keys.get("seamark:beacon_lateral:name")); //$NON-NLS-1$ 62 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 63 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 64 65 String cat = ""; //$NON-NLS-1$ 66 String col = ""; //$NON-NLS-1$ 67 String top = ""; //$NON-NLS-1$ 68 69 if (getStyleIndex() != LAT_PERCH) { 70 if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$ 71 top = keys.get("seamark:topmark:shape"); //$NON-NLS-1$ 72 setTopMark(true); 73 } 74 if (keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$ 75 setTopMark(true); 76 } 77 } 78 79 if (keys.containsKey("seamark:buoy_lateral:colour")) //$NON-NLS-1$ 80 col = keys.get("seamark:buoy_lateral:colour"); //$NON-NLS-1$ 81 else if (keys.containsKey("seamark:beacon_lateral:colour")) //$NON-NLS-1$ 82 col = keys.get("seamark:beacon_lateral:colour"); //$NON-NLS-1$ 83 else if (keys.containsKey("seamark:light_float:colour")) //$NON-NLS-1$ 84 col = keys.get("seamark:light_float:colour"); //$NON-NLS-1$ 85 86 if (keys.containsKey("seamark:buoy_lateral:category")) //$NON-NLS-1$ 87 cat = keys.get("seamark:buoy_lateral:category"); //$NON-NLS-1$ 88 else if (keys.containsKey("seamark:beacon_lateral:category")) //$NON-NLS-1$ 89 cat = keys.get("seamark:beacon_lateral:category"); //$NON-NLS-1$ 90 91 if (cat.isEmpty()) { //$NON-NLS-1$ 92 if (col.equals("red")) { //$NON-NLS-1$ 93 setColour(RED); 94 if (top.equals("cylinder")) { //$NON-NLS-1$ 95 setBuoyIndex(PORT_HAND); 96 setRegion(IALA_A); 97 } else if (top.equals("cone, point up")) { //$NON-NLS-1$ 98 setBuoyIndex(STARBOARD_HAND); 99 setRegion(IALA_B); 100 } else { 101 if (getRegion() == IALA_A) 102 setBuoyIndex(PORT_HAND); 103 else 104 setBuoyIndex(STARBOARD_HAND); 105 } 106 } else if (col.equals("green")) { //$NON-NLS-1$ 107 setColour(GREEN); 108 if (top.equals("cone, point up")) { //$NON-NLS-1$ 109 setBuoyIndex(STARBOARD_HAND); 110 setRegion(IALA_A); 111 } else if (top.equals("cylinder")) { //$NON-NLS-1$ 112 setBuoyIndex(PORT_HAND); 113 setRegion(IALA_B); 114 } else { 115 if (getRegion() == IALA_A) 116 setBuoyIndex(STARBOARD_HAND); 117 else 118 setBuoyIndex(PORT_HAND); 119 } 120 } else if (col.equals("red;green;red")) { //$NON-NLS-1$ 121 setColour(RED_GREEN_RED); 122 if (top.equals("cylinder")) { //$NON-NLS-1$ 123 setBuoyIndex(PREF_PORT_HAND); 124 setRegion(IALA_A); 125 } else if (top.equals("cone, point up")) { //$NON-NLS-1$ 126 setBuoyIndex(PREF_STARBOARD_HAND); 127 setRegion(IALA_B); 128 } else { 129 if (getRegion() == IALA_A) 130 setBuoyIndex(PREF_PORT_HAND); 131 else 132 setBuoyIndex(PREF_STARBOARD_HAND); 133 } 134 } else if (col.equals("green;red;green")) { //$NON-NLS-1$ 135 setColour(GREEN_RED_GREEN); 136 if (top.equals("cone, point up")) { //$NON-NLS-1$ 137 setBuoyIndex(PREF_STARBOARD_HAND); 138 setRegion(IALA_A); 139 } else if (top.equals("cylinder")) { //$NON-NLS-1$ 140 setBuoyIndex(PREF_PORT_HAND); 141 setRegion(IALA_B); 142 } else { 143 if (getRegion() == IALA_A) 144 setBuoyIndex(PREF_STARBOARD_HAND); 145 else 146 setBuoyIndex(PREF_PORT_HAND); 147 } 148 } 149 } else if (cat.equals("port")) { //$NON-NLS-1$ 150 151 setBuoyIndex(PORT_HAND); 152 153 if (col.equals("red")) { //$NON-NLS-1$ 154 setRegion(IALA_A); 155 setColour(RED); 156 } else if (col.equals("green")) { //$NON-NLS-1$ 157 setRegion(IALA_B); 158 setColour(GREEN); 159 } else { 160 if (getRegion() == IALA_A) 161 setColour(RED); 162 else 163 setColour(GREEN); 164 } 165 } else if (cat.equals("starboard")) { //$NON-NLS-1$ 166 167 setBuoyIndex(STARBOARD_HAND); 168 169 if (col.equals("green")) { //$NON-NLS-1$ 170 setRegion(IALA_A); 171 setColour(GREEN); 172 } else if (col.equals("red")) { //$NON-NLS-1$ 173 setRegion(IALA_B); 174 setColour(RED); 175 } else { 176 if (getRegion() == IALA_A) 177 setColour(GREEN); 178 else 179 setColour(RED); 180 } 181 } else if (cat.equals("preferred_channel_port")) { //$NON-NLS-1$ 182 183 setBuoyIndex(PREF_PORT_HAND); 184 185 if (col.equals("red;green;red")) { //$NON-NLS-1$ 186 setRegion(IALA_A); 187 setColour(RED_GREEN_RED); 188 } else if (col.equals("green;red;green")) { //$NON-NLS-1$ 189 setRegion(IALA_B); 190 setColour(GREEN_RED_GREEN); 191 } else { 192 if (getRegion() == IALA_A) 193 setColour(RED_GREEN_RED); 194 else 195 setColour(GREEN_RED_GREEN); 196 } 197 198 } else if (cat.equals("preferred_channel_starboard")) { //$NON-NLS-1$ 199 200 setBuoyIndex(PREF_STARBOARD_HAND); 201 202 if (col.equals("green;red;green")) { //$NON-NLS-1$ 203 setRegion(IALA_A); 204 setColour(GREEN_RED_GREEN); 205 } else if (col.equals("red;green;red")) { //$NON-NLS-1$ 206 setRegion(IALA_B); 207 setColour(RED_GREEN_RED); 208 } else { 209 if (getRegion() == IALA_A) 210 setColour(GREEN_RED_GREEN); 211 else 212 setColour(RED_GREEN_RED); 213 } 214 } 215 216 if (keys.containsKey("seamark:buoy_lateral:shape")) { //$NON-NLS-1$ 217 str = keys.get("seamark:buoy_lateral:shape"); //$NON-NLS-1$ 218 219 switch (getBuoyIndex()) { 220 case PORT_HAND: 221 if (str.equals("can")) //$NON-NLS-1$ 222 setStyleIndex(LAT_CAN); 223 else if (str.equals("pillar")) //$NON-NLS-1$ 224 setStyleIndex(LAT_PILLAR); 225 else if (str.equals("spar")) //$NON-NLS-1$ 226 setStyleIndex(LAT_SPAR); 227 break; 228 229 case PREF_PORT_HAND: 230 if (str.equals("can")) //$NON-NLS-1$ 231 setStyleIndex(LAT_CAN); 232 else if (str.equals("pillar")) //$NON-NLS-1$ 233 setStyleIndex(LAT_PILLAR); 234 else if (str.equals("spar")) //$NON-NLS-1$ 235 setStyleIndex(LAT_SPAR); 236 break; 237 238 case STARBOARD_HAND: 239 if (str.equals("conical")) //$NON-NLS-1$ 240 setStyleIndex(LAT_CONE); 241 else if (str.equals("pillar")) //$NON-NLS-1$ 242 setStyleIndex(LAT_PILLAR); 243 else if (str.equals("spar")) //$NON-NLS-1$ 244 setStyleIndex(LAT_SPAR); 245 break; 246 247 case PREF_STARBOARD_HAND: 248 if (str.equals("conical")) //$NON-NLS-1$ 249 setStyleIndex(LAT_CONE); 250 else if (str.equals("pillar")) //$NON-NLS-1$ 251 setStyleIndex(LAT_PILLAR); 252 else if (str.equals("spar")) //$NON-NLS-1$ 253 setStyleIndex(LAT_SPAR); 254 break; 255 } 256 } else if (keys.containsKey("seamark:beacon_lateral:shape")) { //$NON-NLS-1$ 257 str = keys.get("seamark:beacon_lateral:shape"); //$NON-NLS-1$ 258 if (str.equals("tower")) //$NON-NLS-1$ 259 setStyleIndex(LAT_TOWER); 260 else if (str.equals("perch")) //$NON-NLS-1$ 261 setStyleIndex(LAT_PERCH); 262 else 263 setStyleIndex(LAT_BEACON); 264 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 265 && (keys.get("seamark:type").equals("beacon_lateral"))) { //$NON-NLS-1$ //$NON-NLS-2$ 266 setStyleIndex(LAT_BEACON); 267 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 268 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$ 269 setStyleIndex(LAT_FLOAT); 270 } 271 272 refreshStyles(); 273 refreshLights(); 274 setLightColour(); 275 parseLights(keys); 276 parseFogRadar(keys); 277 278 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex()); 279 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 280 dlg.tfM01Name.setText(getName()); 281 dlg.cM01TopMark.setSelected(hasTopMark()); 282 } 283 284 public void refreshStyles() { 285 int type = getBuoyIndex(); 286 int style = getStyleIndex(); 287 288 dlg.cbM01StyleOfMark.removeAllItems(); 289 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.213")); //$NON-NLS-1$ 290 291 switch (type) { 292 case PORT_HAND: 293 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$ 294 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 295 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 296 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 297 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 298 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 299 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.10")); //$NON-NLS-1$ 300 break; 301 case STARBOARD_HAND: 302 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$ 303 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 304 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 305 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 306 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 307 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 308 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.10")); //$NON-NLS-1$ 309 break; 310 case PREF_PORT_HAND: 311 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$ 312 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 313 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 314 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 315 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 316 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 317 break; 318 case PREF_STARBOARD_HAND: 319 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$ 320 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 321 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 322 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 323 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 324 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 325 break; 18 public BuoyLat(SmpDialogAction dia, Node node) { 19 super(dia); 20 21 String str; 22 Map<String, String> keys; 23 keys = node.getKeys(); 24 setNode(node); 25 26 resetMask(); 27 28 dlg.cbM01CatOfMark.removeAllItems(); 29 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.152")); //$NON-NLS-1$ 30 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.153")); //$NON-NLS-1$ 31 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.154")); //$NON-NLS-1$ 32 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.155")); //$NON-NLS-1$ 33 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.156")); //$NON-NLS-1$ 34 35 dlg.rbM01RegionA.setEnabled(true); 36 dlg.rbM01RegionB.setEnabled(true); 37 dlg.cbM01CatOfMark.setEnabled(true); 38 dlg.cbM01CatOfMark.setVisible(true); 39 dlg.lM01CatOfMark.setVisible(true); 40 41 dlg.cbM01StyleOfMark.removeAllItems(); 42 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 43 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 44 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 45 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 46 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 47 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 48 dlg.cbM01StyleOfMark.setEnabled(true); 49 50 dlg.cbM01TypeOfMark.setSelectedIndex(LATERAL); 51 52 if (keys.containsKey("name")) //$NON-NLS-1$ 53 setName(keys.get("name")); //$NON-NLS-1$ 54 55 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 56 setName(keys.get("seamark:name")); //$NON-NLS-1$ 57 58 if (keys.containsKey("seamark:buoy_lateral:name")) //$NON-NLS-1$ 59 setName(keys.get("seamark:buoy_lateral:name")); //$NON-NLS-1$ 60 else if (keys.containsKey("seamark:beacon_lateral:name")) //$NON-NLS-1$ 61 setName(keys.get("seamark:beacon_lateral:name")); //$NON-NLS-1$ 62 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 63 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 64 65 String cat = ""; //$NON-NLS-1$ 66 String col = ""; //$NON-NLS-1$ 67 String top = ""; //$NON-NLS-1$ 68 69 if (getStyleIndex() != LAT_PERCH) { 70 if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$ 71 top = keys.get("seamark:topmark:shape"); //$NON-NLS-1$ 72 setTopMark(true); 73 } 74 if (keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$ 75 setTopMark(true); 76 } 326 77 } 327 78 328 if (style >= dlg.cbM01StyleOfMark.getItemCount()) 329 style = 0; 330 setStyleIndex(style); 331 dlg.cbM01StyleOfMark.setSelectedIndex(style); 332 dlg.cbM01StyleOfMark.setVisible(true); 333 dlg.lM01StyleOfMark.setVisible(true); 334 } 79 if (keys.containsKey("seamark:buoy_lateral:colour")) //$NON-NLS-1$ 80 col = keys.get("seamark:buoy_lateral:colour"); //$NON-NLS-1$ 81 else if (keys.containsKey("seamark:beacon_lateral:colour")) //$NON-NLS-1$ 82 col = keys.get("seamark:beacon_lateral:colour"); //$NON-NLS-1$ 83 else if (keys.containsKey("seamark:light_float:colour")) //$NON-NLS-1$ 84 col = keys.get("seamark:light_float:colour"); //$NON-NLS-1$ 85 86 if (keys.containsKey("seamark:buoy_lateral:category")) //$NON-NLS-1$ 87 cat = keys.get("seamark:buoy_lateral:category"); //$NON-NLS-1$ 88 else if (keys.containsKey("seamark:beacon_lateral:category")) //$NON-NLS-1$ 89 cat = keys.get("seamark:beacon_lateral:category"); //$NON-NLS-1$ 90 91 if (cat.isEmpty()) { //$NON-NLS-1$ 92 if (col.equals("red")) { //$NON-NLS-1$ 93 setColour(RED); 94 if (top.equals("cylinder")) { //$NON-NLS-1$ 95 setBuoyIndex(PORT_HAND); 96 setRegion(IALA_A); 97 } else if (top.equals("cone, point up")) { //$NON-NLS-1$ 98 setBuoyIndex(STARBOARD_HAND); 99 setRegion(IALA_B); 100 } else { 101 if (getRegion() == IALA_A) 102 setBuoyIndex(PORT_HAND); 103 else 104 setBuoyIndex(STARBOARD_HAND); 105 } 106 } else if (col.equals("green")) { //$NON-NLS-1$ 107 setColour(GREEN); 108 if (top.equals("cone, point up")) { //$NON-NLS-1$ 109 setBuoyIndex(STARBOARD_HAND); 110 setRegion(IALA_A); 111 } else if (top.equals("cylinder")) { //$NON-NLS-1$ 112 setBuoyIndex(PORT_HAND); 113 setRegion(IALA_B); 114 } else { 115 if (getRegion() == IALA_A) 116 setBuoyIndex(STARBOARD_HAND); 117 else 118 setBuoyIndex(PORT_HAND); 119 } 120 } else if (col.equals("red;green;red")) { //$NON-NLS-1$ 121 setColour(RED_GREEN_RED); 122 if (top.equals("cylinder")) { //$NON-NLS-1$ 123 setBuoyIndex(PREF_PORT_HAND); 124 setRegion(IALA_A); 125 } else if (top.equals("cone, point up")) { //$NON-NLS-1$ 126 setBuoyIndex(PREF_STARBOARD_HAND); 127 setRegion(IALA_B); 128 } else { 129 if (getRegion() == IALA_A) 130 setBuoyIndex(PREF_PORT_HAND); 131 else 132 setBuoyIndex(PREF_STARBOARD_HAND); 133 } 134 } else if (col.equals("green;red;green")) { //$NON-NLS-1$ 135 setColour(GREEN_RED_GREEN); 136 if (top.equals("cone, point up")) { //$NON-NLS-1$ 137 setBuoyIndex(PREF_STARBOARD_HAND); 138 setRegion(IALA_A); 139 } else if (top.equals("cylinder")) { //$NON-NLS-1$ 140 setBuoyIndex(PREF_PORT_HAND); 141 setRegion(IALA_B); 142 } else { 143 if (getRegion() == IALA_A) 144 setBuoyIndex(PREF_STARBOARD_HAND); 145 else 146 setBuoyIndex(PREF_PORT_HAND); 147 } 148 } 149 } else if (cat.equals("port")) { //$NON-NLS-1$ 150 151 setBuoyIndex(PORT_HAND); 152 153 if (col.equals("red")) { //$NON-NLS-1$ 154 setRegion(IALA_A); 155 setColour(RED); 156 } else if (col.equals("green")) { //$NON-NLS-1$ 157 setRegion(IALA_B); 158 setColour(GREEN); 159 } else { 160 if (getRegion() == IALA_A) 161 setColour(RED); 162 else 163 setColour(GREEN); 164 } 165 } else if (cat.equals("starboard")) { //$NON-NLS-1$ 166 167 setBuoyIndex(STARBOARD_HAND); 168 169 if (col.equals("green")) { //$NON-NLS-1$ 170 setRegion(IALA_A); 171 setColour(GREEN); 172 } else if (col.equals("red")) { //$NON-NLS-1$ 173 setRegion(IALA_B); 174 setColour(RED); 175 } else { 176 if (getRegion() == IALA_A) 177 setColour(GREEN); 178 else 179 setColour(RED); 180 } 181 } else if (cat.equals("preferred_channel_port")) { //$NON-NLS-1$ 182 183 setBuoyIndex(PREF_PORT_HAND); 184 185 if (col.equals("red;green;red")) { //$NON-NLS-1$ 186 setRegion(IALA_A); 187 setColour(RED_GREEN_RED); 188 } else if (col.equals("green;red;green")) { //$NON-NLS-1$ 189 setRegion(IALA_B); 190 setColour(GREEN_RED_GREEN); 191 } else { 192 if (getRegion() == IALA_A) 193 setColour(RED_GREEN_RED); 194 else 195 setColour(GREEN_RED_GREEN); 196 } 197 198 } else if (cat.equals("preferred_channel_starboard")) { //$NON-NLS-1$ 199 200 setBuoyIndex(PREF_STARBOARD_HAND); 201 202 if (col.equals("green;red;green")) { //$NON-NLS-1$ 203 setRegion(IALA_A); 204 setColour(GREEN_RED_GREEN); 205 } else if (col.equals("red;green;red")) { //$NON-NLS-1$ 206 setRegion(IALA_B); 207 setColour(RED_GREEN_RED); 208 } else { 209 if (getRegion() == IALA_A) 210 setColour(GREEN_RED_GREEN); 211 else 212 setColour(RED_GREEN_RED); 213 } 214 } 215 216 if (keys.containsKey("seamark:buoy_lateral:shape")) { //$NON-NLS-1$ 217 str = keys.get("seamark:buoy_lateral:shape"); //$NON-NLS-1$ 218 219 switch (getBuoyIndex()) { 220 case PORT_HAND: 221 if (str.equals("can")) //$NON-NLS-1$ 222 setStyleIndex(LAT_CAN); 223 else if (str.equals("pillar")) //$NON-NLS-1$ 224 setStyleIndex(LAT_PILLAR); 225 else if (str.equals("spar")) //$NON-NLS-1$ 226 setStyleIndex(LAT_SPAR); 227 break; 228 229 case PREF_PORT_HAND: 230 if (str.equals("can")) //$NON-NLS-1$ 231 setStyleIndex(LAT_CAN); 232 else if (str.equals("pillar")) //$NON-NLS-1$ 233 setStyleIndex(LAT_PILLAR); 234 else if (str.equals("spar")) //$NON-NLS-1$ 235 setStyleIndex(LAT_SPAR); 236 break; 237 238 case STARBOARD_HAND: 239 if (str.equals("conical")) //$NON-NLS-1$ 240 setStyleIndex(LAT_CONE); 241 else if (str.equals("pillar")) //$NON-NLS-1$ 242 setStyleIndex(LAT_PILLAR); 243 else if (str.equals("spar")) //$NON-NLS-1$ 244 setStyleIndex(LAT_SPAR); 245 break; 246 247 case PREF_STARBOARD_HAND: 248 if (str.equals("conical")) //$NON-NLS-1$ 249 setStyleIndex(LAT_CONE); 250 else if (str.equals("pillar")) //$NON-NLS-1$ 251 setStyleIndex(LAT_PILLAR); 252 else if (str.equals("spar")) //$NON-NLS-1$ 253 setStyleIndex(LAT_SPAR); 254 break; 255 } 256 } else if (keys.containsKey("seamark:beacon_lateral:shape")) { //$NON-NLS-1$ 257 str = keys.get("seamark:beacon_lateral:shape"); //$NON-NLS-1$ 258 if (str.equals("tower")) //$NON-NLS-1$ 259 setStyleIndex(LAT_TOWER); 260 else if (str.equals("perch")) //$NON-NLS-1$ 261 setStyleIndex(LAT_PERCH); 262 else 263 setStyleIndex(LAT_BEACON); 264 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 265 && (keys.get("seamark:type").equals("beacon_lateral"))) { //$NON-NLS-1$ //$NON-NLS-2$ 266 setStyleIndex(LAT_BEACON); 267 } else if (keys.containsKey("seamark:type") //$NON-NLS-1$ 268 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$ 269 setStyleIndex(LAT_FLOAT); 270 } 271 272 refreshStyles(); 273 refreshLights(); 274 setLightColour(); 275 parseLights(keys); 276 parseFogRadar(keys); 277 278 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex()); 279 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 280 dlg.tfM01Name.setText(getName()); 281 dlg.cM01TopMark.setSelected(hasTopMark()); 282 } 283 284 public void refreshStyles() { 285 int type = getBuoyIndex(); 286 int style = getStyleIndex(); 287 288 dlg.cbM01StyleOfMark.removeAllItems(); 289 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.213")); //$NON-NLS-1$ 290 291 switch (type) { 292 case PORT_HAND: 293 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$ 294 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 295 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 296 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 297 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 298 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 299 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.10")); //$NON-NLS-1$ 300 break; 301 case STARBOARD_HAND: 302 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$ 303 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 304 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 305 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 306 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 307 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 308 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.10")); //$NON-NLS-1$ 309 break; 310 case PREF_PORT_HAND: 311 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$ 312 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 313 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 314 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 315 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 316 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 317 break; 318 case PREF_STARBOARD_HAND: 319 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$ 320 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 321 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 322 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 323 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 324 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 325 break; 326 } 327 328 if (style >= dlg.cbM01StyleOfMark.getItemCount()) 329 style = 0; 330 setStyleIndex(style); 331 dlg.cbM01StyleOfMark.setSelectedIndex(style); 332 dlg.cbM01StyleOfMark.setVisible(true); 333 dlg.lM01StyleOfMark.setVisible(true); 334 } 335 335 336 336 public void refreshLights() { … … 361 361 super.paintSign(); 362 362 363 dlg.sM01StatusBar.setText(getErrMsg());364 365 if (isValid()) {366 dlg.tfM01Name.setEnabled(true);367 dlg.tfM01Name.setText(getName());363 dlg.sM01StatusBar.setText(getErrMsg()); 364 365 if (isValid()) { 366 dlg.tfM01Name.setEnabled(true); 367 dlg.tfM01Name.setText(getName()); 368 368 369 369 boolean region = getRegion(); … … 413 413 } 414 414 415 String image = "/images/Lateral"; //$NON-NLS-1$416 417 switch (getBuoyIndex()) {418 case PORT_HAND:419 if (region == IALA_A)420 switch (style) {421 case LAT_CAN:422 image += "_Can_Red"; //$NON-NLS-1$423 break;424 case LAT_PILLAR:425 image += "_Pillar_Red"; //$NON-NLS-1$426 break;427 case LAT_SPAR:428 image += "_Spar_Red"; //$NON-NLS-1$429 break;430 case LAT_BEACON:431 image += "_Beacon_Red"; //$NON-NLS-1$432 break;433 case LAT_TOWER:434 image += "_Tower_Red"; //$NON-NLS-1$435 break;436 case LAT_FLOAT:437 image += "_Float_Red"; //$NON-NLS-1$438 break;439 case LAT_PERCH:440 image += "_Perch_Port"; //$NON-NLS-1$441 break;442 default:443 }444 else445 switch (style) {446 case LAT_CAN:447 image += "_Can_Green"; //$NON-NLS-1$448 break;449 case LAT_PILLAR:450 image += "_Pillar_Green"; //$NON-NLS-1$451 break;452 case LAT_SPAR:453 image += "_Spar_Green"; //$NON-NLS-1$454 break;455 case LAT_BEACON:456 image += "_Beacon_Green"; //$NON-NLS-1$457 break;458 case LAT_TOWER:459 image += "_Tower_Green"; //$NON-NLS-1$460 break;461 case LAT_FLOAT:462 image += "_Float_Green"; //$NON-NLS-1$463 break;464 case LAT_PERCH:465 image += "_Perch_Port"; //$NON-NLS-1$466 break;467 default:468 }469 break;470 471 case STARBOARD_HAND:472 if (region == IALA_A)473 switch (style) {474 case LAT_CONE:475 image += "_Cone_Green"; //$NON-NLS-1$476 break;477 case LAT_PILLAR:478 image += "_Pillar_Green"; //$NON-NLS-1$479 break;480 case LAT_SPAR:481 image += "_Spar_Green"; //$NON-NLS-1$482 break;483 case LAT_BEACON:484 image += "_Beacon_Green"; //$NON-NLS-1$485 break;486 case LAT_TOWER:487 image += "_Tower_Green"; //$NON-NLS-1$488 break;489 case LAT_FLOAT:490 image += "_Float_Green"; //$NON-NLS-1$491 break;492 case LAT_PERCH:493 image += "_Perch_Starboard"; //$NON-NLS-1$494 break;495 default:496 }497 else498 switch (style) {499 case LAT_CONE:500 image += "_Cone_Red"; //$NON-NLS-1$501 break;502 case LAT_PILLAR:503 image += "_Pillar_Red"; //$NON-NLS-1$504 break;505 case LAT_SPAR:506 image += "_Spar_Red"; //$NON-NLS-1$507 break;508 case LAT_BEACON:509 image += "_Beacon_Red"; //$NON-NLS-1$510 break;511 case LAT_TOWER:512 image += "_Tower_Red"; //$NON-NLS-1$513 break;514 case LAT_FLOAT:515 image += "_Float_Red"; //$NON-NLS-1$516 break;517 case LAT_PERCH:518 image += "_Perch_Starboard"; //$NON-NLS-1$519 break;520 default:521 }522 break;523 524 case PREF_PORT_HAND:525 if (region == IALA_A)526 switch (style) {527 case LAT_CAN:528 image += "_Can_Red_Green_Red"; //$NON-NLS-1$529 break;530 case LAT_PILLAR:531 image += "_Pillar_Red_Green_Red"; //$NON-NLS-1$532 break;533 case LAT_SPAR:534 image += "_Spar_Red_Green_Red"; //$NON-NLS-1$535 break;536 case LAT_BEACON:537 image += "_Beacon_Red_Green_Red"; //$NON-NLS-1$538 break;539 case LAT_TOWER:540 image += "_Tower_Red_Green_Red"; //$NON-NLS-1$541 break;542 case LAT_FLOAT:543 image += "_Float_Red_Green_Red"; //$NON-NLS-1$544 break;545 default:546 }547 else548 switch (style) {549 case LAT_CAN:550 image += "_Can_Green_Red_Green"; //$NON-NLS-1$551 break;552 case LAT_PILLAR:553 image += "_Pillar_Green_Red_Green"; //$NON-NLS-1$554 break;555 case LAT_SPAR:556 image += "_Spar_Green_Red_Green"; //$NON-NLS-1$557 break;558 case LAT_BEACON:559 image += "_Beacon_Green_Red_Green"; //$NON-NLS-1$560 break;561 case LAT_TOWER:562 image += "_Tower_Green_Red_Green"; //$NON-NLS-1$563 break;564 case LAT_FLOAT:565 image += "_Float_Green_Red_Green"; //$NON-NLS-1$566 break;567 default:568 }569 break;570 571 case PREF_STARBOARD_HAND:572 if (region == IALA_A)573 switch (style) {574 case LAT_CONE:575 image += "_Cone_Green_Red_Green"; //$NON-NLS-1$576 break;577 case LAT_PILLAR:578 image += "_Pillar_Green_Red_Green"; //$NON-NLS-1$579 break;580 case LAT_SPAR:581 image += "_Spar_Green_Red_Green"; //$NON-NLS-1$582 break;583 case LAT_BEACON:584 image += "_Beacon_Green_Red_Green"; //$NON-NLS-1$585 break;586 case LAT_TOWER:587 image += "_Tower_Green_Red_Green"; //$NON-NLS-1$588 break;589 case LAT_FLOAT:590 image += "_Float_Green_Red_Green"; //$NON-NLS-1$591 break;592 default:593 }594 else595 switch (style) {596 case LAT_CONE:597 image += "_Cone_Red_Green_Red"; //$NON-NLS-1$598 break;599 case LAT_PILLAR:600 image += "_Pillar_Red_Green_Red"; //$NON-NLS-1$601 break;602 case LAT_SPAR:603 image += "_Spar_Red_Green_Red"; //$NON-NLS-1$604 break;605 case LAT_BEACON:606 image += "_Beacon_Red_Green_Red"; //$NON-NLS-1$607 break;608 case LAT_TOWER:609 image += "_Tower_Red_Green_Red"; //$NON-NLS-1$610 break;611 case LAT_FLOAT:612 image += "_Float_Red_Green_Red"; //$NON-NLS-1$613 break;614 default:615 }616 break;617 618 default:619 }620 621 if (!image.equals("/images/Lateral")) { //$NON-NLS-1$622 623 image += ".png"; //$NON-NLS-1$624 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));625 626 if (hasTopMark()) {627 image = "";628 switch (getBuoyIndex()) {629 case PORT_HAND:630 case PREF_PORT_HAND:631 if (region == IALA_A)632 switch (style) {633 case LAT_CAN:634 image = "/images/Top_Can_Red_Buoy_Small.png"; //$NON-NLS-1$635 break;636 case LAT_PILLAR:637 case LAT_SPAR:638 image = "/images/Top_Can_Red_Buoy.png"; //$NON-NLS-1$639 break;640 case LAT_BEACON:641 case LAT_TOWER:642 image = "/images/Top_Can_Red_Beacon.png"; //$NON-NLS-1$643 break;644 case LAT_FLOAT:645 image = "/images/Top_Can_Red_Float.png"; //$NON-NLS-1$646 break;647 }648 else649 switch (style) {650 case LAT_CAN:651 image = "/images/Top_Can_Green_Buoy_Small.png"; //$NON-NLS-1$652 break;653 case LAT_PILLAR:654 case LAT_SPAR:655 image = "/images/Top_Can_Green_Buoy.png"; //$NON-NLS-1$656 break;657 case LAT_BEACON:658 case LAT_TOWER:659 image = "/images/Top_Can_Green_Beacon.png"; //$NON-NLS-1$660 break;661 case LAT_FLOAT:662 image = "/images/Top_Can_Green_Float.png"; //$NON-NLS-1$663 break;664 }665 break;666 667 case STARBOARD_HAND:668 case PREF_STARBOARD_HAND:669 if (region == IALA_A)670 switch (style) {671 case LAT_CONE:672 image = "/images/Top_Cone_Green_Buoy_Small.png"; //$NON-NLS-1$673 break;674 case LAT_PILLAR:675 case LAT_SPAR:676 image = "/images/Top_Cone_Green_Buoy.png"; //$NON-NLS-1$677 break;678 case LAT_BEACON:679 case LAT_TOWER:680 image = "/images/Top_Cone_Green_Beacon.png"; //$NON-NLS-1$681 break;682 case LAT_FLOAT:683 image = "/images/Top_Cone_Green_Float.png"; //$NON-NLS-1$684 break;685 }686 else687 switch (style) {688 case LAT_CONE:689 image = "/images/Top_Cone_Red_Buoy_Small.png"; //$NON-NLS-1$690 break;691 case LAT_PILLAR:692 case LAT_SPAR:693 image = "/images/Top_Cone_Red_Buoy.png"; //$NON-NLS-1$694 break;695 case LAT_BEACON:696 case LAT_TOWER:697 image = "/images/Top_Cone_Red_Beacon.png"; //$NON-NLS-1$698 break;699 case LAT_FLOAT:700 image = "/images/Top_Cone_Red_Float.png"; //$NON-NLS-1$701 break;702 }703 break;704 }705 if (!image.isEmpty())706 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image)));707 }708 } else709 dlg.lM01Icon.setIcon(null);710 }711 }712 713 public void saveSign() {714 Node node = getNode();715 716 if (node == null) {717 return;718 }719 720 int cat = getBuoyIndex();721 String shape = ""; //$NON-NLS-1$722 String colour = ""; //$NON-NLS-1$723 724 switch (cat) {725 726 case PORT_HAND:727 switch (getStyleIndex()) {728 case LAT_CAN:729 super.saveSign("buoy_lateral"); //$NON-NLS-1$730 Main.main.undoRedo.add(new ChangePropertyCommand(node,731 "seamark:buoy_lateral:shape", "can")); //$NON-NLS-1$ //$NON-NLS-2$732 break;733 case LAT_PILLAR:734 super.saveSign("buoy_lateral"); //$NON-NLS-1$735 Main.main.undoRedo.add(new ChangePropertyCommand(node,736 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$737 break;738 case LAT_SPAR:739 super.saveSign("buoy_lateral"); //$NON-NLS-1$740 Main.main.undoRedo.add(new ChangePropertyCommand(node,741 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$742 break;743 case LAT_BEACON:744 super.saveSign("beacon_lateral"); //$NON-NLS-1$745 break;746 case LAT_TOWER:747 super.saveSign("beacon_lateral"); //$NON-NLS-1$748 Main.main.undoRedo.add(new ChangePropertyCommand(node,749 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$750 break;751 case LAT_FLOAT:752 super.saveSign("light_float"); //$NON-NLS-1$753 break;754 case LAT_PERCH:755 super.saveSign("beacon_lateral"); //$NON-NLS-1$756 Main.main.undoRedo.add(new ChangePropertyCommand(node,757 "seamark:beacon_lateral:shape", "perch")); //$NON-NLS-1$ //$NON-NLS-2$758 break;759 default:760 }761 switch (getStyleIndex()) {762 case LAT_CAN:763 case LAT_PILLAR:764 case LAT_SPAR:765 Main.main.undoRedo.add(new ChangePropertyCommand(node,766 "seamark:buoy_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$767 if (getRegion() == IALA_A) {768 Main.main.undoRedo.add(new ChangePropertyCommand(node,769 "seamark:buoy_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$770 colour = "red"; //$NON-NLS-1$771 } else {772 Main.main.undoRedo.add(new ChangePropertyCommand(node,773 "seamark:buoy_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$774 colour = "green"; //$NON-NLS-1$775 }776 break;777 case LAT_PERCH:778 Main.main.undoRedo.add(new ChangePropertyCommand(node,779 "seamark:beacon_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$780 break;781 case LAT_BEACON:782 case LAT_TOWER:783 Main.main.undoRedo.add(new ChangePropertyCommand(node,784 "seamark:beacon_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$785 if (getRegion() == IALA_A) {786 Main.main.undoRedo.add(new ChangePropertyCommand(node,787 "seamark:beacon_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$788 colour = "red"; //$NON-NLS-1$789 } else {790 Main.main.undoRedo.add(new ChangePropertyCommand(node,791 "seamark:beacon_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$792 colour = "green"; //$NON-NLS-1$793 }794 break;795 case LAT_FLOAT:796 if (getRegion() == IALA_A) {797 Main.main.undoRedo.add(new ChangePropertyCommand(node,798 "seamark:light_float:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$799 colour = "red"; //$NON-NLS-1$800 } else {801 Main.main.undoRedo.add(new ChangePropertyCommand(node,802 "seamark:light_float:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$803 colour = "green"; //$NON-NLS-1$804 }805 break;806 }807 shape = "cylinder"; //$NON-NLS-1$808 break;809 810 case PREF_PORT_HAND:811 switch (getStyleIndex()) {812 case LAT_CAN:813 super.saveSign("buoy_lateral"); //$NON-NLS-1$814 Main.main.undoRedo.add(new ChangePropertyCommand(node,815 "seamark:buoy_lateral:shape", "can")); //$NON-NLS-1$ //$NON-NLS-2$816 break;817 case LAT_PILLAR:818 super.saveSign("buoy_lateral"); //$NON-NLS-1$819 Main.main.undoRedo.add(new ChangePropertyCommand(node,820 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$821 break;822 case LAT_SPAR:823 super.saveSign("buoy_lateral"); //$NON-NLS-1$824 Main.main.undoRedo.add(new ChangePropertyCommand(node,825 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$826 break;827 case LAT_BEACON:828 super.saveSign("beacon_lateral"); //$NON-NLS-1$829 break;830 case LAT_TOWER:831 super.saveSign("beacon_lateral"); //$NON-NLS-1$832 Main.main.undoRedo.add(new ChangePropertyCommand(node,833 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$834 break;835 case LAT_FLOAT:836 super.saveSign("light_float"); //$NON-NLS-1$837 break;838 default:839 }840 switch (getStyleIndex()) {841 case LAT_CAN:842 case LAT_PILLAR:843 case LAT_SPAR:844 Main.main.undoRedo.add(new ChangePropertyCommand(node,845 "seamark:buoy_lateral:category", "preferred_channel_port")); //$NON-NLS-1$ //$NON-NLS-2$846 Main.main.undoRedo.add(new ChangePropertyCommand(node,847 "seamark:buoy_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$848 if (getRegion() == IALA_A) {849 Main.main.undoRedo.add(new ChangePropertyCommand(node,850 "seamark:buoy_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$851 colour = "red"; //$NON-NLS-1$852 } else {853 Main.main.undoRedo.add(new ChangePropertyCommand(node,854 "seamark:buoy_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$855 colour = "green"; //$NON-NLS-1$856 }857 break;858 case LAT_BEACON:859 case LAT_TOWER:860 Main.main.undoRedo.add(new ChangePropertyCommand(node,861 "seamark:beacon_lateral:category", "preferred_channel_port")); //$NON-NLS-1$ //$NON-NLS-2$862 Main.main.undoRedo.add(new ChangePropertyCommand(node,863 "seamark:beacon_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$864 if (getRegion() == IALA_A) {865 Main.main.undoRedo.add(new ChangePropertyCommand(node,866 "seamark:beacon_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$867 colour = "red"; //$NON-NLS-1$868 } else {869 Main.main.undoRedo.add(new ChangePropertyCommand(node,870 "seamark:beacon_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$871 colour = "green"; //$NON-NLS-1$872 }873 break;874 case LAT_FLOAT:875 Main.main.undoRedo.add(new ChangePropertyCommand(node,876 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$877 if (getRegion() == IALA_A) {878 Main.main.undoRedo.add(new ChangePropertyCommand(node,879 "seamark:light_float:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$880 colour = "red"; //$NON-NLS-1$881 } else {882 Main.main.undoRedo.add(new ChangePropertyCommand(node,883 "seamark:light_float:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$884 colour = "green"; //$NON-NLS-1$885 }886 break;887 }888 shape = "cylinder"; //$NON-NLS-1$889 break;890 891 case STARBOARD_HAND:892 switch (getStyleIndex()) {893 case LAT_CONE:894 super.saveSign("buoy_lateral"); //$NON-NLS-1$895 Main.main.undoRedo.add(new ChangePropertyCommand(node,896 "seamark:buoy_lateral:shape", "conical")); //$NON-NLS-1$ //$NON-NLS-2$897 break;898 case LAT_PILLAR:899 super.saveSign("buoy_lateral"); //$NON-NLS-1$900 Main.main.undoRedo.add(new ChangePropertyCommand(node,901 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$902 break;903 case LAT_SPAR:904 super.saveSign("buoy_lateral"); //$NON-NLS-1$905 Main.main.undoRedo.add(new ChangePropertyCommand(node,906 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$907 break;908 case LAT_BEACON:909 super.saveSign("beacon_lateral"); //$NON-NLS-1$910 Main.main.undoRedo.add(new ChangePropertyCommand(node,911 "seamark:beacon_lateral:shape", "stake")); //$NON-NLS-1$ //$NON-NLS-2$912 break;913 case LAT_TOWER:914 super.saveSign("beacon_lateral"); //$NON-NLS-1$915 Main.main.undoRedo.add(new ChangePropertyCommand(node,916 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$917 break;918 case LAT_FLOAT:919 super.saveSign("light_float"); //$NON-NLS-1$920 break;921 case LAT_PERCH:922 super.saveSign("beacon_lateral"); //$NON-NLS-1$923 Main.main.undoRedo.add(new ChangePropertyCommand(node,924 "seamark:beacon_lateral:shape", "perch")); //$NON-NLS-1$ //$NON-NLS-2$925 break;926 default:927 }928 switch (getStyleIndex()) {929 case LAT_CAN:930 case LAT_PILLAR:931 case LAT_SPAR:932 Main.main.undoRedo.add(new ChangePropertyCommand(node,933 "seamark:buoy_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$934 if (getRegion() == IALA_A) {935 Main.main.undoRedo.add(new ChangePropertyCommand(node,936 "seamark:buoy_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$937 colour = "green"; //$NON-NLS-1$938 } else {939 Main.main.undoRedo.add(new ChangePropertyCommand(node,940 "seamark:buoy_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$941 colour = "red"; //$NON-NLS-1$942 }943 break;944 case LAT_BEACON:945 case LAT_TOWER:946 Main.main.undoRedo.add(new ChangePropertyCommand(node,947 "seamark:beacon_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$948 if (getRegion() == IALA_A) {949 Main.main.undoRedo.add(new ChangePropertyCommand(node,950 "seamark:beacon_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$951 colour = "green"; //$NON-NLS-1$952 } else {953 Main.main.undoRedo.add(new ChangePropertyCommand(node,954 "seamark:beacon_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$955 colour = "red"; //$NON-NLS-1$956 }957 break;958 case LAT_FLOAT:959 if (getRegion() == IALA_A) {960 Main.main.undoRedo.add(new ChangePropertyCommand(node,961 "seamark:light_float:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$962 colour = "green"; //$NON-NLS-1$963 } else {964 Main.main.undoRedo.add(new ChangePropertyCommand(node,965 "seamark:light_float:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$966 colour = "red"; //$NON-NLS-1$967 }968 break;969 case LAT_PERCH:970 Main.main.undoRedo.add(new ChangePropertyCommand(node,971 "seamark:beacon_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$972 break;973 }974 shape = "cone, point up"; //$NON-NLS-1$975 break;976 977 case PREF_STARBOARD_HAND:978 switch (getStyleIndex()) {979 case LAT_CONE:980 super.saveSign("buoy_lateral"); //$NON-NLS-1$981 Main.main.undoRedo.add(new ChangePropertyCommand(node,982 "seamark:buoy_lateral:shape", "conical")); //$NON-NLS-1$ //$NON-NLS-2$983 break;984 case LAT_PILLAR:985 super.saveSign("buoy_lateral"); //$NON-NLS-1$986 Main.main.undoRedo.add(new ChangePropertyCommand(node,987 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$988 break;989 case LAT_SPAR:990 super.saveSign("buoy_lateral"); //$NON-NLS-1$991 Main.main.undoRedo.add(new ChangePropertyCommand(node,992 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$993 break;994 case LAT_BEACON:995 super.saveSign("beacon_lateral"); //$NON-NLS-1$996 Main.main.undoRedo.add(new ChangePropertyCommand(node,997 "seamark:beacon_lateral:shape", "stake")); //$NON-NLS-1$ //$NON-NLS-2$998 break;999 case LAT_TOWER:1000 super.saveSign("beacon_lateral"); //$NON-NLS-1$1001 Main.main.undoRedo.add(new ChangePropertyCommand(node,1002 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$1003 break;1004 case LAT_FLOAT:1005 super.saveSign("light_float"); //$NON-NLS-1$1006 break;1007 default:1008 }1009 switch (getStyleIndex()) {1010 case LAT_CAN:1011 case LAT_PILLAR:1012 case LAT_SPAR:1013 Main.main.undoRedo.add(new ChangePropertyCommand(node,1014 "seamark:buoy_lateral:category", "preferred_channel_starboard")); //$NON-NLS-1$ //$NON-NLS-2$1015 Main.main.undoRedo.add(new ChangePropertyCommand(node,1016 "seamark:buoy_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$1017 if (getRegion() == IALA_A) {1018 Main.main.undoRedo.add(new ChangePropertyCommand(node,1019 "seamark:buoy_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$1020 colour = "green"; //$NON-NLS-1$1021 } else {1022 Main.main.undoRedo.add(new ChangePropertyCommand(node,1023 "seamark:buoy_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$1024 colour = "red"; //$NON-NLS-1$1025 }1026 break;1027 case LAT_BEACON:1028 case LAT_TOWER:1029 Main.main.undoRedo.add(new ChangePropertyCommand(node,1030 "seamark:beacon_lateral:category", "preferred_channel_starboard")); //$NON-NLS-1$ //$NON-NLS-2$1031 Main.main.undoRedo.add(new ChangePropertyCommand(node,1032 "seamark:beacon_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$1033 if (getRegion() == IALA_A) {1034 Main.main.undoRedo.add(new ChangePropertyCommand(node,1035 "seamark:beacon_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$1036 colour = "green"; //$NON-NLS-1$1037 } else {1038 Main.main.undoRedo.add(new ChangePropertyCommand(node,1039 "seamark:beacon_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$1040 colour = "red"; //$NON-NLS-1$1041 }1042 break;1043 case LAT_FLOAT:1044 Main.main.undoRedo.add(new ChangePropertyCommand(node,1045 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$1046 if (getRegion() == IALA_A) {1047 Main.main.undoRedo.add(new ChangePropertyCommand(node,1048 "seamark:light_float:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$1049 colour = "green"; //$NON-NLS-1$1050 } else {1051 Main.main.undoRedo.add(new ChangePropertyCommand(node,1052 "seamark:light_float:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$1053 colour = "red"; //$NON-NLS-1$1054 }1055 break;1056 }1057 shape = "cone, point up"; //$NON-NLS-1$1058 break;1059 1060 default:1061 }1062 saveTopMarkData(shape, colour);1063 saveLightData();1064 saveRadarFogData();1065 1066 Main.pref.put("tomsplugin.IALA", getRegion() ? "B" : "A"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$1067 }415 String image = "/images/Lateral"; //$NON-NLS-1$ 416 417 switch (getBuoyIndex()) { 418 case PORT_HAND: 419 if (region == IALA_A) 420 switch (style) { 421 case LAT_CAN: 422 image += "_Can_Red"; //$NON-NLS-1$ 423 break; 424 case LAT_PILLAR: 425 image += "_Pillar_Red"; //$NON-NLS-1$ 426 break; 427 case LAT_SPAR: 428 image += "_Spar_Red"; //$NON-NLS-1$ 429 break; 430 case LAT_BEACON: 431 image += "_Beacon_Red"; //$NON-NLS-1$ 432 break; 433 case LAT_TOWER: 434 image += "_Tower_Red"; //$NON-NLS-1$ 435 break; 436 case LAT_FLOAT: 437 image += "_Float_Red"; //$NON-NLS-1$ 438 break; 439 case LAT_PERCH: 440 image += "_Perch_Port"; //$NON-NLS-1$ 441 break; 442 default: 443 } 444 else 445 switch (style) { 446 case LAT_CAN: 447 image += "_Can_Green"; //$NON-NLS-1$ 448 break; 449 case LAT_PILLAR: 450 image += "_Pillar_Green"; //$NON-NLS-1$ 451 break; 452 case LAT_SPAR: 453 image += "_Spar_Green"; //$NON-NLS-1$ 454 break; 455 case LAT_BEACON: 456 image += "_Beacon_Green"; //$NON-NLS-1$ 457 break; 458 case LAT_TOWER: 459 image += "_Tower_Green"; //$NON-NLS-1$ 460 break; 461 case LAT_FLOAT: 462 image += "_Float_Green"; //$NON-NLS-1$ 463 break; 464 case LAT_PERCH: 465 image += "_Perch_Port"; //$NON-NLS-1$ 466 break; 467 default: 468 } 469 break; 470 471 case STARBOARD_HAND: 472 if (region == IALA_A) 473 switch (style) { 474 case LAT_CONE: 475 image += "_Cone_Green"; //$NON-NLS-1$ 476 break; 477 case LAT_PILLAR: 478 image += "_Pillar_Green"; //$NON-NLS-1$ 479 break; 480 case LAT_SPAR: 481 image += "_Spar_Green"; //$NON-NLS-1$ 482 break; 483 case LAT_BEACON: 484 image += "_Beacon_Green"; //$NON-NLS-1$ 485 break; 486 case LAT_TOWER: 487 image += "_Tower_Green"; //$NON-NLS-1$ 488 break; 489 case LAT_FLOAT: 490 image += "_Float_Green"; //$NON-NLS-1$ 491 break; 492 case LAT_PERCH: 493 image += "_Perch_Starboard"; //$NON-NLS-1$ 494 break; 495 default: 496 } 497 else 498 switch (style) { 499 case LAT_CONE: 500 image += "_Cone_Red"; //$NON-NLS-1$ 501 break; 502 case LAT_PILLAR: 503 image += "_Pillar_Red"; //$NON-NLS-1$ 504 break; 505 case LAT_SPAR: 506 image += "_Spar_Red"; //$NON-NLS-1$ 507 break; 508 case LAT_BEACON: 509 image += "_Beacon_Red"; //$NON-NLS-1$ 510 break; 511 case LAT_TOWER: 512 image += "_Tower_Red"; //$NON-NLS-1$ 513 break; 514 case LAT_FLOAT: 515 image += "_Float_Red"; //$NON-NLS-1$ 516 break; 517 case LAT_PERCH: 518 image += "_Perch_Starboard"; //$NON-NLS-1$ 519 break; 520 default: 521 } 522 break; 523 524 case PREF_PORT_HAND: 525 if (region == IALA_A) 526 switch (style) { 527 case LAT_CAN: 528 image += "_Can_Red_Green_Red"; //$NON-NLS-1$ 529 break; 530 case LAT_PILLAR: 531 image += "_Pillar_Red_Green_Red"; //$NON-NLS-1$ 532 break; 533 case LAT_SPAR: 534 image += "_Spar_Red_Green_Red"; //$NON-NLS-1$ 535 break; 536 case LAT_BEACON: 537 image += "_Beacon_Red_Green_Red"; //$NON-NLS-1$ 538 break; 539 case LAT_TOWER: 540 image += "_Tower_Red_Green_Red"; //$NON-NLS-1$ 541 break; 542 case LAT_FLOAT: 543 image += "_Float_Red_Green_Red"; //$NON-NLS-1$ 544 break; 545 default: 546 } 547 else 548 switch (style) { 549 case LAT_CAN: 550 image += "_Can_Green_Red_Green"; //$NON-NLS-1$ 551 break; 552 case LAT_PILLAR: 553 image += "_Pillar_Green_Red_Green"; //$NON-NLS-1$ 554 break; 555 case LAT_SPAR: 556 image += "_Spar_Green_Red_Green"; //$NON-NLS-1$ 557 break; 558 case LAT_BEACON: 559 image += "_Beacon_Green_Red_Green"; //$NON-NLS-1$ 560 break; 561 case LAT_TOWER: 562 image += "_Tower_Green_Red_Green"; //$NON-NLS-1$ 563 break; 564 case LAT_FLOAT: 565 image += "_Float_Green_Red_Green"; //$NON-NLS-1$ 566 break; 567 default: 568 } 569 break; 570 571 case PREF_STARBOARD_HAND: 572 if (region == IALA_A) 573 switch (style) { 574 case LAT_CONE: 575 image += "_Cone_Green_Red_Green"; //$NON-NLS-1$ 576 break; 577 case LAT_PILLAR: 578 image += "_Pillar_Green_Red_Green"; //$NON-NLS-1$ 579 break; 580 case LAT_SPAR: 581 image += "_Spar_Green_Red_Green"; //$NON-NLS-1$ 582 break; 583 case LAT_BEACON: 584 image += "_Beacon_Green_Red_Green"; //$NON-NLS-1$ 585 break; 586 case LAT_TOWER: 587 image += "_Tower_Green_Red_Green"; //$NON-NLS-1$ 588 break; 589 case LAT_FLOAT: 590 image += "_Float_Green_Red_Green"; //$NON-NLS-1$ 591 break; 592 default: 593 } 594 else 595 switch (style) { 596 case LAT_CONE: 597 image += "_Cone_Red_Green_Red"; //$NON-NLS-1$ 598 break; 599 case LAT_PILLAR: 600 image += "_Pillar_Red_Green_Red"; //$NON-NLS-1$ 601 break; 602 case LAT_SPAR: 603 image += "_Spar_Red_Green_Red"; //$NON-NLS-1$ 604 break; 605 case LAT_BEACON: 606 image += "_Beacon_Red_Green_Red"; //$NON-NLS-1$ 607 break; 608 case LAT_TOWER: 609 image += "_Tower_Red_Green_Red"; //$NON-NLS-1$ 610 break; 611 case LAT_FLOAT: 612 image += "_Float_Red_Green_Red"; //$NON-NLS-1$ 613 break; 614 default: 615 } 616 break; 617 618 default: 619 } 620 621 if (!image.equals("/images/Lateral")) { //$NON-NLS-1$ 622 623 image += ".png"; //$NON-NLS-1$ 624 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image))); 625 626 if (hasTopMark()) { 627 image = ""; 628 switch (getBuoyIndex()) { 629 case PORT_HAND: 630 case PREF_PORT_HAND: 631 if (region == IALA_A) 632 switch (style) { 633 case LAT_CAN: 634 image = "/images/Top_Can_Red_Buoy_Small.png"; //$NON-NLS-1$ 635 break; 636 case LAT_PILLAR: 637 case LAT_SPAR: 638 image = "/images/Top_Can_Red_Buoy.png"; //$NON-NLS-1$ 639 break; 640 case LAT_BEACON: 641 case LAT_TOWER: 642 image = "/images/Top_Can_Red_Beacon.png"; //$NON-NLS-1$ 643 break; 644 case LAT_FLOAT: 645 image = "/images/Top_Can_Red_Float.png"; //$NON-NLS-1$ 646 break; 647 } 648 else 649 switch (style) { 650 case LAT_CAN: 651 image = "/images/Top_Can_Green_Buoy_Small.png"; //$NON-NLS-1$ 652 break; 653 case LAT_PILLAR: 654 case LAT_SPAR: 655 image = "/images/Top_Can_Green_Buoy.png"; //$NON-NLS-1$ 656 break; 657 case LAT_BEACON: 658 case LAT_TOWER: 659 image = "/images/Top_Can_Green_Beacon.png"; //$NON-NLS-1$ 660 break; 661 case LAT_FLOAT: 662 image = "/images/Top_Can_Green_Float.png"; //$NON-NLS-1$ 663 break; 664 } 665 break; 666 667 case STARBOARD_HAND: 668 case PREF_STARBOARD_HAND: 669 if (region == IALA_A) 670 switch (style) { 671 case LAT_CONE: 672 image = "/images/Top_Cone_Green_Buoy_Small.png"; //$NON-NLS-1$ 673 break; 674 case LAT_PILLAR: 675 case LAT_SPAR: 676 image = "/images/Top_Cone_Green_Buoy.png"; //$NON-NLS-1$ 677 break; 678 case LAT_BEACON: 679 case LAT_TOWER: 680 image = "/images/Top_Cone_Green_Beacon.png"; //$NON-NLS-1$ 681 break; 682 case LAT_FLOAT: 683 image = "/images/Top_Cone_Green_Float.png"; //$NON-NLS-1$ 684 break; 685 } 686 else 687 switch (style) { 688 case LAT_CONE: 689 image = "/images/Top_Cone_Red_Buoy_Small.png"; //$NON-NLS-1$ 690 break; 691 case LAT_PILLAR: 692 case LAT_SPAR: 693 image = "/images/Top_Cone_Red_Buoy.png"; //$NON-NLS-1$ 694 break; 695 case LAT_BEACON: 696 case LAT_TOWER: 697 image = "/images/Top_Cone_Red_Beacon.png"; //$NON-NLS-1$ 698 break; 699 case LAT_FLOAT: 700 image = "/images/Top_Cone_Red_Float.png"; //$NON-NLS-1$ 701 break; 702 } 703 break; 704 } 705 if (!image.isEmpty()) 706 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image))); 707 } 708 } else 709 dlg.lM01Icon.setIcon(null); 710 } 711 } 712 713 public void saveSign() { 714 Node node = getNode(); 715 716 if (node == null) { 717 return; 718 } 719 720 int cat = getBuoyIndex(); 721 String shape = ""; //$NON-NLS-1$ 722 String colour = ""; //$NON-NLS-1$ 723 724 switch (cat) { 725 726 case PORT_HAND: 727 switch (getStyleIndex()) { 728 case LAT_CAN: 729 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 730 Main.main.undoRedo.add(new ChangePropertyCommand(node, 731 "seamark:buoy_lateral:shape", "can")); //$NON-NLS-1$ //$NON-NLS-2$ 732 break; 733 case LAT_PILLAR: 734 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 735 Main.main.undoRedo.add(new ChangePropertyCommand(node, 736 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 737 break; 738 case LAT_SPAR: 739 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 740 Main.main.undoRedo.add(new ChangePropertyCommand(node, 741 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 742 break; 743 case LAT_BEACON: 744 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 745 break; 746 case LAT_TOWER: 747 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 748 Main.main.undoRedo.add(new ChangePropertyCommand(node, 749 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 750 break; 751 case LAT_FLOAT: 752 super.saveSign("light_float"); //$NON-NLS-1$ 753 break; 754 case LAT_PERCH: 755 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 756 Main.main.undoRedo.add(new ChangePropertyCommand(node, 757 "seamark:beacon_lateral:shape", "perch")); //$NON-NLS-1$ //$NON-NLS-2$ 758 break; 759 default: 760 } 761 switch (getStyleIndex()) { 762 case LAT_CAN: 763 case LAT_PILLAR: 764 case LAT_SPAR: 765 Main.main.undoRedo.add(new ChangePropertyCommand(node, 766 "seamark:buoy_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$ 767 if (getRegion() == IALA_A) { 768 Main.main.undoRedo.add(new ChangePropertyCommand(node, 769 "seamark:buoy_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 770 colour = "red"; //$NON-NLS-1$ 771 } else { 772 Main.main.undoRedo.add(new ChangePropertyCommand(node, 773 "seamark:buoy_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 774 colour = "green"; //$NON-NLS-1$ 775 } 776 break; 777 case LAT_PERCH: 778 Main.main.undoRedo.add(new ChangePropertyCommand(node, 779 "seamark:beacon_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$ 780 break; 781 case LAT_BEACON: 782 case LAT_TOWER: 783 Main.main.undoRedo.add(new ChangePropertyCommand(node, 784 "seamark:beacon_lateral:category", "port")); //$NON-NLS-1$ //$NON-NLS-2$ 785 if (getRegion() == IALA_A) { 786 Main.main.undoRedo.add(new ChangePropertyCommand(node, 787 "seamark:beacon_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 788 colour = "red"; //$NON-NLS-1$ 789 } else { 790 Main.main.undoRedo.add(new ChangePropertyCommand(node, 791 "seamark:beacon_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 792 colour = "green"; //$NON-NLS-1$ 793 } 794 break; 795 case LAT_FLOAT: 796 if (getRegion() == IALA_A) { 797 Main.main.undoRedo.add(new ChangePropertyCommand(node, 798 "seamark:light_float:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 799 colour = "red"; //$NON-NLS-1$ 800 } else { 801 Main.main.undoRedo.add(new ChangePropertyCommand(node, 802 "seamark:light_float:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 803 colour = "green"; //$NON-NLS-1$ 804 } 805 break; 806 } 807 shape = "cylinder"; //$NON-NLS-1$ 808 break; 809 810 case PREF_PORT_HAND: 811 switch (getStyleIndex()) { 812 case LAT_CAN: 813 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 814 Main.main.undoRedo.add(new ChangePropertyCommand(node, 815 "seamark:buoy_lateral:shape", "can")); //$NON-NLS-1$ //$NON-NLS-2$ 816 break; 817 case LAT_PILLAR: 818 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 819 Main.main.undoRedo.add(new ChangePropertyCommand(node, 820 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 821 break; 822 case LAT_SPAR: 823 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 824 Main.main.undoRedo.add(new ChangePropertyCommand(node, 825 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 826 break; 827 case LAT_BEACON: 828 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 829 break; 830 case LAT_TOWER: 831 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 832 Main.main.undoRedo.add(new ChangePropertyCommand(node, 833 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 834 break; 835 case LAT_FLOAT: 836 super.saveSign("light_float"); //$NON-NLS-1$ 837 break; 838 default: 839 } 840 switch (getStyleIndex()) { 841 case LAT_CAN: 842 case LAT_PILLAR: 843 case LAT_SPAR: 844 Main.main.undoRedo.add(new ChangePropertyCommand(node, 845 "seamark:buoy_lateral:category", "preferred_channel_port")); //$NON-NLS-1$ //$NON-NLS-2$ 846 Main.main.undoRedo.add(new ChangePropertyCommand(node, 847 "seamark:buoy_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 848 if (getRegion() == IALA_A) { 849 Main.main.undoRedo.add(new ChangePropertyCommand(node, 850 "seamark:buoy_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 851 colour = "red"; //$NON-NLS-1$ 852 } else { 853 Main.main.undoRedo.add(new ChangePropertyCommand(node, 854 "seamark:buoy_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 855 colour = "green"; //$NON-NLS-1$ 856 } 857 break; 858 case LAT_BEACON: 859 case LAT_TOWER: 860 Main.main.undoRedo.add(new ChangePropertyCommand(node, 861 "seamark:beacon_lateral:category", "preferred_channel_port")); //$NON-NLS-1$ //$NON-NLS-2$ 862 Main.main.undoRedo.add(new ChangePropertyCommand(node, 863 "seamark:beacon_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 864 if (getRegion() == IALA_A) { 865 Main.main.undoRedo.add(new ChangePropertyCommand(node, 866 "seamark:beacon_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 867 colour = "red"; //$NON-NLS-1$ 868 } else { 869 Main.main.undoRedo.add(new ChangePropertyCommand(node, 870 "seamark:beacon_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 871 colour = "green"; //$NON-NLS-1$ 872 } 873 break; 874 case LAT_FLOAT: 875 Main.main.undoRedo.add(new ChangePropertyCommand(node, 876 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 877 if (getRegion() == IALA_A) { 878 Main.main.undoRedo.add(new ChangePropertyCommand(node, 879 "seamark:light_float:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 880 colour = "red"; //$NON-NLS-1$ 881 } else { 882 Main.main.undoRedo.add(new ChangePropertyCommand(node, 883 "seamark:light_float:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 884 colour = "green"; //$NON-NLS-1$ 885 } 886 break; 887 } 888 shape = "cylinder"; //$NON-NLS-1$ 889 break; 890 891 case STARBOARD_HAND: 892 switch (getStyleIndex()) { 893 case LAT_CONE: 894 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 895 Main.main.undoRedo.add(new ChangePropertyCommand(node, 896 "seamark:buoy_lateral:shape", "conical")); //$NON-NLS-1$ //$NON-NLS-2$ 897 break; 898 case LAT_PILLAR: 899 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 900 Main.main.undoRedo.add(new ChangePropertyCommand(node, 901 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 902 break; 903 case LAT_SPAR: 904 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 905 Main.main.undoRedo.add(new ChangePropertyCommand(node, 906 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 907 break; 908 case LAT_BEACON: 909 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 910 Main.main.undoRedo.add(new ChangePropertyCommand(node, 911 "seamark:beacon_lateral:shape", "stake")); //$NON-NLS-1$ //$NON-NLS-2$ 912 break; 913 case LAT_TOWER: 914 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 915 Main.main.undoRedo.add(new ChangePropertyCommand(node, 916 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 917 break; 918 case LAT_FLOAT: 919 super.saveSign("light_float"); //$NON-NLS-1$ 920 break; 921 case LAT_PERCH: 922 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 923 Main.main.undoRedo.add(new ChangePropertyCommand(node, 924 "seamark:beacon_lateral:shape", "perch")); //$NON-NLS-1$ //$NON-NLS-2$ 925 break; 926 default: 927 } 928 switch (getStyleIndex()) { 929 case LAT_CAN: 930 case LAT_PILLAR: 931 case LAT_SPAR: 932 Main.main.undoRedo.add(new ChangePropertyCommand(node, 933 "seamark:buoy_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$ 934 if (getRegion() == IALA_A) { 935 Main.main.undoRedo.add(new ChangePropertyCommand(node, 936 "seamark:buoy_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 937 colour = "green"; //$NON-NLS-1$ 938 } else { 939 Main.main.undoRedo.add(new ChangePropertyCommand(node, 940 "seamark:buoy_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 941 colour = "red"; //$NON-NLS-1$ 942 } 943 break; 944 case LAT_BEACON: 945 case LAT_TOWER: 946 Main.main.undoRedo.add(new ChangePropertyCommand(node, 947 "seamark:beacon_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$ 948 if (getRegion() == IALA_A) { 949 Main.main.undoRedo.add(new ChangePropertyCommand(node, 950 "seamark:beacon_lateral:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 951 colour = "green"; //$NON-NLS-1$ 952 } else { 953 Main.main.undoRedo.add(new ChangePropertyCommand(node, 954 "seamark:beacon_lateral:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 955 colour = "red"; //$NON-NLS-1$ 956 } 957 break; 958 case LAT_FLOAT: 959 if (getRegion() == IALA_A) { 960 Main.main.undoRedo.add(new ChangePropertyCommand(node, 961 "seamark:light_float:colour", "green")); //$NON-NLS-1$ //$NON-NLS-2$ 962 colour = "green"; //$NON-NLS-1$ 963 } else { 964 Main.main.undoRedo.add(new ChangePropertyCommand(node, 965 "seamark:light_float:colour", "red")); //$NON-NLS-1$ //$NON-NLS-2$ 966 colour = "red"; //$NON-NLS-1$ 967 } 968 break; 969 case LAT_PERCH: 970 Main.main.undoRedo.add(new ChangePropertyCommand(node, 971 "seamark:beacon_lateral:category", "starboard")); //$NON-NLS-1$ //$NON-NLS-2$ 972 break; 973 } 974 shape = "cone, point up"; //$NON-NLS-1$ 975 break; 976 977 case PREF_STARBOARD_HAND: 978 switch (getStyleIndex()) { 979 case LAT_CONE: 980 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 981 Main.main.undoRedo.add(new ChangePropertyCommand(node, 982 "seamark:buoy_lateral:shape", "conical")); //$NON-NLS-1$ //$NON-NLS-2$ 983 break; 984 case LAT_PILLAR: 985 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 986 Main.main.undoRedo.add(new ChangePropertyCommand(node, 987 "seamark:buoy_lateral:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 988 break; 989 case LAT_SPAR: 990 super.saveSign("buoy_lateral"); //$NON-NLS-1$ 991 Main.main.undoRedo.add(new ChangePropertyCommand(node, 992 "seamark:buoy_lateral:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 993 break; 994 case LAT_BEACON: 995 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 996 Main.main.undoRedo.add(new ChangePropertyCommand(node, 997 "seamark:beacon_lateral:shape", "stake")); //$NON-NLS-1$ //$NON-NLS-2$ 998 break; 999 case LAT_TOWER: 1000 super.saveSign("beacon_lateral"); //$NON-NLS-1$ 1001 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1002 "seamark:beacon_lateral:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 1003 break; 1004 case LAT_FLOAT: 1005 super.saveSign("light_float"); //$NON-NLS-1$ 1006 break; 1007 default: 1008 } 1009 switch (getStyleIndex()) { 1010 case LAT_CAN: 1011 case LAT_PILLAR: 1012 case LAT_SPAR: 1013 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1014 "seamark:buoy_lateral:category", "preferred_channel_starboard")); //$NON-NLS-1$ //$NON-NLS-2$ 1015 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1016 "seamark:buoy_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 1017 if (getRegion() == IALA_A) { 1018 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1019 "seamark:buoy_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 1020 colour = "green"; //$NON-NLS-1$ 1021 } else { 1022 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1023 "seamark:buoy_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 1024 colour = "red"; //$NON-NLS-1$ 1025 } 1026 break; 1027 case LAT_BEACON: 1028 case LAT_TOWER: 1029 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1030 "seamark:beacon_lateral:category", "preferred_channel_starboard")); //$NON-NLS-1$ //$NON-NLS-2$ 1031 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1032 "seamark:beacon_lateral:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 1033 if (getRegion() == IALA_A) { 1034 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1035 "seamark:beacon_lateral:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 1036 colour = "green"; //$NON-NLS-1$ 1037 } else { 1038 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1039 "seamark:beacon_lateral:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 1040 colour = "red"; //$NON-NLS-1$ 1041 } 1042 break; 1043 case LAT_FLOAT: 1044 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1045 "seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 1046 if (getRegion() == IALA_A) { 1047 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1048 "seamark:light_float:colour", "green;red;green")); //$NON-NLS-1$ //$NON-NLS-2$ 1049 colour = "green"; //$NON-NLS-1$ 1050 } else { 1051 Main.main.undoRedo.add(new ChangePropertyCommand(node, 1052 "seamark:light_float:colour", "red;green;red")); //$NON-NLS-1$ //$NON-NLS-2$ 1053 colour = "red"; //$NON-NLS-1$ 1054 } 1055 break; 1056 } 1057 shape = "cone, point up"; //$NON-NLS-1$ 1058 break; 1059 1060 default: 1061 } 1062 saveTopMarkData(shape, colour); 1063 saveLightData(); 1064 saveRadarFogData(); 1065 1066 Main.pref.put("tomsplugin.IALA", getRegion() ? "B" : "A"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 1067 } 1068 1068 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java
r23261 r23269 17 17 18 18 public class BuoyNota extends Buoy { 19 public BuoyNota(SmpDialogAction dia, Node node) {20 super(dia);19 public BuoyNota(SmpDialogAction dia, Node node) { 20 super(dia); 21 21 22 Map<String, String> keys;23 keys = node.getKeys();24 setNode(node);22 Map<String, String> keys; 23 keys = node.getKeys(); 24 setNode(node); 25 25 26 resetMask();26 resetMask(); 27 27 28 dlg.cbM01TypeOfMark.setSelectedIndex(LIGHT);28 dlg.cbM01TypeOfMark.setSelectedIndex(LIGHT); 29 29 30 dlg.cbM01CatOfMark.setEnabled(true);31 dlg.cbM01CatOfMark.setVisible(true);32 dlg.lM01CatOfMark.setVisible(true);30 dlg.cbM01CatOfMark.setEnabled(true); 31 dlg.cbM01CatOfMark.setVisible(true); 32 dlg.lM01CatOfMark.setVisible(true); 33 33 34 dlg.cbM01CatOfMark.removeAllItems();35 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.157")); //$NON-NLS-1$36 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.206")); //$NON-NLS-1$37 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.207")); //$NON-NLS-1$38 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.208")); //$NON-NLS-1$39 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.209")); //$NON-NLS-1$34 dlg.cbM01CatOfMark.removeAllItems(); 35 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.157")); //$NON-NLS-1$ 36 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.206")); //$NON-NLS-1$ 37 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.207")); //$NON-NLS-1$ 38 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.208")); //$NON-NLS-1$ 39 dlg.cbM01CatOfMark.addItem(Messages.getString("SmpDialogAction.209")); //$NON-NLS-1$ 40 40 41 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$41 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$ 42 42 43 if (keys.containsKey("name")) //$NON-NLS-1$44 setName(keys.get("name")); //$NON-NLS-1$43 if (keys.containsKey("name")) //$NON-NLS-1$ 44 setName(keys.get("name")); //$NON-NLS-1$ 45 45 46 if (keys.containsKey("seamark:name")) //$NON-NLS-1$47 setName(keys.get("seamark:name")); //$NON-NLS-1$46 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 47 setName(keys.get("seamark:name")); //$NON-NLS-1$ 48 48 49 if (keys.containsKey("seamark:landmark:name")) //$NON-NLS-1$50 setName(keys.get("seamark:landmark:name")); //$NON-NLS-1$51 else if (keys.containsKey("seamark:light_major:name")) //$NON-NLS-1$52 setName(keys.get("seamark:light_major:name")); //$NON-NLS-1$53 else if (keys.containsKey("seamark:light_minor:name")) //$NON-NLS-1$54 setName(keys.get("seamark:light_minor:name")); //$NON-NLS-1$55 else if (keys.containsKey("seamark:light_vessel:name")) //$NON-NLS-1$56 setName(keys.get("seamark:light_vessel:name")); //$NON-NLS-1$49 if (keys.containsKey("seamark:landmark:name")) //$NON-NLS-1$ 50 setName(keys.get("seamark:landmark:name")); //$NON-NLS-1$ 51 else if (keys.containsKey("seamark:light_major:name")) //$NON-NLS-1$ 52 setName(keys.get("seamark:light_major:name")); //$NON-NLS-1$ 53 else if (keys.containsKey("seamark:light_minor:name")) //$NON-NLS-1$ 54 setName(keys.get("seamark:light_minor:name")); //$NON-NLS-1$ 55 else if (keys.containsKey("seamark:light_vessel:name")) //$NON-NLS-1$ 56 setName(keys.get("seamark:light_vessel:name")); //$NON-NLS-1$ 57 57 58 if (keys.containsKey("seamark:type")) { //$NON-NLS-1$59 String type = keys.get("seamark:type"); //$NON-NLS-1$60 if (type.equals("landmark"))61 setBuoyIndex(LIGHT_HOUSE);62 else if (type.equals("light_major"))63 setBuoyIndex(LIGHT_MAJOR);64 else if (type.equals("light_minor"))65 setBuoyIndex(LIGHT_MINOR);66 else if (type.equals("light_vessel"))67 setBuoyIndex(LIGHT_VESSEL);68 }58 if (keys.containsKey("seamark:type")) { //$NON-NLS-1$ 59 String type = keys.get("seamark:type"); //$NON-NLS-1$ 60 if (type.equals("landmark")) 61 setBuoyIndex(LIGHT_HOUSE); 62 else if (type.equals("light_major")) 63 setBuoyIndex(LIGHT_MAJOR); 64 else if (type.equals("light_minor")) 65 setBuoyIndex(LIGHT_MINOR); 66 else if (type.equals("light_vessel")) 67 setBuoyIndex(LIGHT_VESSEL); 68 } 69 69 70 refreshLights();71 parseLights(keys);72 parseFogRadar(keys);73 setTopMark(false);74 setFired(true);70 refreshLights(); 71 parseLights(keys); 72 parseFogRadar(keys); 73 setTopMark(false); 74 setFired(true); 75 75 76 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex());77 dlg.tfM01Name.setText(getName());78 dlg.cM01Fired.setEnabled(false);79 dlg.cM01Fired.setSelected(true);80 }76 dlg.cbM01CatOfMark.setSelectedIndex(getBuoyIndex()); 77 dlg.tfM01Name.setText(getName()); 78 dlg.cM01Fired.setEnabled(false); 79 dlg.cM01Fired.setSelected(true); 80 } 81 81 82 public boolean isValid() {83 return (getBuoyIndex() > 0);84 }82 public boolean isValid() { 83 return (getBuoyIndex() > 0); 84 } 85 85 86 public void paintSign() {87 if (dlg.paintlock)88 return;89 super.paintSign();86 public void paintSign() { 87 if (dlg.paintlock) 88 return; 89 super.paintSign(); 90 90 91 dlg.sM01StatusBar.setText(getErrMsg());91 dlg.sM01StatusBar.setText(getErrMsg()); 92 92 93 if (isValid()) {94 dlg.cM01Radar.setVisible(true);95 dlg.cM01Racon.setVisible(true);96 dlg.cM01Fog.setVisible(true);93 if (isValid()) { 94 dlg.cM01Radar.setVisible(true); 95 dlg.cM01Racon.setVisible(true); 96 dlg.cM01Fog.setVisible(true); 97 97 98 dlg.rbM01Fired1.setVisible(true);99 dlg.rbM01FiredN.setVisible(true);100 dlg.lM01Height.setVisible(true);101 dlg.tfM01Height.setVisible(true);102 dlg.lM01Range.setVisible(true);103 dlg.tfM01Range.setVisible(true);98 dlg.rbM01Fired1.setVisible(true); 99 dlg.rbM01FiredN.setVisible(true); 100 dlg.lM01Height.setVisible(true); 101 dlg.tfM01Height.setVisible(true); 102 dlg.lM01Range.setVisible(true); 103 dlg.tfM01Range.setVisible(true); 104 104 105 switch (getBuoyIndex()) {106 case SeaMark.LIGHT_HOUSE:107 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(108 "/images/Light_House.png"))); //$NON-NLS-1$109 break;105 switch (getBuoyIndex()) { 106 case SeaMark.LIGHT_HOUSE: 107 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource( 108 "/images/Light_House.png"))); //$NON-NLS-1$ 109 break; 110 110 111 case SeaMark.LIGHT_MAJOR:112 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(113 "/images/Light_Major.png"))); //$NON-NLS-1$114 break;111 case SeaMark.LIGHT_MAJOR: 112 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource( 113 "/images/Light_Major.png"))); //$NON-NLS-1$ 114 break; 115 115 116 case SeaMark.LIGHT_MINOR:117 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(118 "/images/Light_Minor.png"))); //$NON-NLS-1$119 break;116 case SeaMark.LIGHT_MINOR: 117 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource( 118 "/images/Light_Minor.png"))); //$NON-NLS-1$ 119 break; 120 120 121 case SeaMark.LIGHT_VESSEL:122 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(123 "/images/Major_Float.png"))); //$NON-NLS-1$124 break;121 case SeaMark.LIGHT_VESSEL: 122 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource( 123 "/images/Major_Float.png"))); //$NON-NLS-1$ 124 break; 125 125 126 default:127 }128 }129 }126 default: 127 } 128 } 129 } 130 130 131 public void saveSign() {132 Node node = getNode();131 public void saveSign() { 132 Node node = getNode(); 133 133 134 if (node == null) {135 return;136 }134 if (node == null) { 135 return; 136 } 137 137 138 switch (getBuoyIndex()) {139 case LIGHT_HOUSE:140 super.saveSign("landmark"); //$NON-NLS-1$141 break;142 case LIGHT_MAJOR:143 super.saveSign("light_major"); //$NON-NLS-1$144 break;145 case LIGHT_MINOR:146 super.saveSign("light_minor"); //$NON-NLS-1$147 break;148 case LIGHT_VESSEL:149 super.saveSign("light_vessel"); //$NON-NLS-1$150 break;151 default:152 }153 saveLightData(); //$NON-NLS-1$154 saveRadarFogData();155 }138 switch (getBuoyIndex()) { 139 case LIGHT_HOUSE: 140 super.saveSign("landmark"); //$NON-NLS-1$ 141 break; 142 case LIGHT_MAJOR: 143 super.saveSign("light_major"); //$NON-NLS-1$ 144 break; 145 case LIGHT_MINOR: 146 super.saveSign("light_minor"); //$NON-NLS-1$ 147 break; 148 case LIGHT_VESSEL: 149 super.saveSign("light_vessel"); //$NON-NLS-1$ 150 break; 151 default: 152 } 153 saveLightData(); //$NON-NLS-1$ 154 saveRadarFogData(); 155 } 156 156 157 public void setLightColour() {158 }157 public void setLightColour() { 158 } 159 159 160 160 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java
r23268 r23269 17 17 18 18 public class BuoySaw extends Buoy { 19 public BuoySaw(SmpDialogAction dia, Node node) {20 super(dia);21 22 String str;23 Map<String, String> keys;24 keys = node.getKeys();25 setNode(node);26 27 resetMask();28 29 dlg.cbM01TypeOfMark.setSelectedIndex(SAFE_WATER);30 31 dlg.cbM01StyleOfMark.removeAllItems();32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.08")); //$NON-NLS-1$36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$38 dlg.cbM01StyleOfMark.setVisible(true);39 dlg.lM01StyleOfMark.setVisible(true);40 41 setBuoyIndex(SAFE_WATER);42 setColour(SeaMark.RED_WHITE);43 setLightColour("W"); //$NON-NLS-1$44 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$45 46 if (keys.containsKey("name")) //$NON-NLS-1$47 setName(keys.get("name")); //$NON-NLS-1$48 49 if (keys.containsKey("seamark:name")) //$NON-NLS-1$50 setName(keys.get("seamark:name")); //$NON-NLS-1$51 52 if (keys.containsKey("seamark:buoy_safe_water:name")) //$NON-NLS-1$53 setName(keys.get("seamark:buoy_safe_water:name")); //$NON-NLS-1$54 else if (keys.containsKey("seamark:beacon_safe_water:name")) //$NON-NLS-1$55 setName(keys.get("seamark:beacon_safe_water:name")); //$NON-NLS-1$56 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$57 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$58 59 if (keys.containsKey("seamark:buoy_safe_water:shape")) { //$NON-NLS-1$60 str = keys.get("seamark:buoy_safe_water:shape"); //$NON-NLS-1$61 62 if (str.equals("pillar")) //$NON-NLS-1$63 setStyleIndex(SAFE_PILLAR);64 else if (str.equals("spar")) //$NON-NLS-1$65 setStyleIndex(SAFE_SPAR);66 else if (str.equals("sphere")) //$NON-NLS-1$67 setStyleIndex(SAFE_SPHERE);68 } else if ((keys.containsKey("seamark:type")) //$NON-NLS-1$69 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$70 setStyleIndex(SAFE_FLOAT);71 } else if ((keys.containsKey("seamark:type")) //$NON-NLS-1$72 && (keys.get("seamark:type").equals("beacon_safe_water"))) { //$NON-NLS-1$ //$NON-NLS-2$73 setStyleIndex(SAFE_BEACON);74 }75 76 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount())77 setStyleIndex(0);78 79 if (keys.containsKey("seamark:topmark:shape") //$NON-NLS-1$80 || keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$81 setTopMark(true);82 }83 84 refreshLights();85 parseLights(keys);86 parseFogRadar(keys);87 88 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());89 dlg.tfM01Name.setText(getName());90 dlg.cM01TopMark.setSelected(hasTopMark());91 }92 93 public void refreshLights() {94 dlg.cbM01Kennung.removeAllItems();95 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$96 dlg.cbM01Kennung.addItem("Iso"); //$NON-NLS-1$97 dlg.cbM01Kennung.addItem("Oc"); //$NON-NLS-1$98 dlg.cbM01Kennung.addItem("LFl"); //$NON-NLS-1$99 dlg.cbM01Kennung.addItem("Mo"); //$NON-NLS-1$100 dlg.cbM01Kennung.setSelectedIndex(0);101 }102 103 public boolean isValid() {104 return (getBuoyIndex() > 0) && (getStyleIndex() > 0);105 }19 public BuoySaw(SmpDialogAction dia, Node node) { 20 super(dia); 21 22 String str; 23 Map<String, String> keys; 24 keys = node.getKeys(); 25 setNode(node); 26 27 resetMask(); 28 29 dlg.cbM01TypeOfMark.setSelectedIndex(SAFE_WATER); 30 31 dlg.cbM01StyleOfMark.removeAllItems(); 32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.08")); //$NON-NLS-1$ 36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 38 dlg.cbM01StyleOfMark.setVisible(true); 39 dlg.lM01StyleOfMark.setVisible(true); 40 41 setBuoyIndex(SAFE_WATER); 42 setColour(SeaMark.RED_WHITE); 43 setLightColour("W"); //$NON-NLS-1$ 44 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$ 45 46 if (keys.containsKey("name")) //$NON-NLS-1$ 47 setName(keys.get("name")); //$NON-NLS-1$ 48 49 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 50 setName(keys.get("seamark:name")); //$NON-NLS-1$ 51 52 if (keys.containsKey("seamark:buoy_safe_water:name")) //$NON-NLS-1$ 53 setName(keys.get("seamark:buoy_safe_water:name")); //$NON-NLS-1$ 54 else if (keys.containsKey("seamark:beacon_safe_water:name")) //$NON-NLS-1$ 55 setName(keys.get("seamark:beacon_safe_water:name")); //$NON-NLS-1$ 56 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 57 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 58 59 if (keys.containsKey("seamark:buoy_safe_water:shape")) { //$NON-NLS-1$ 60 str = keys.get("seamark:buoy_safe_water:shape"); //$NON-NLS-1$ 61 62 if (str.equals("pillar")) //$NON-NLS-1$ 63 setStyleIndex(SAFE_PILLAR); 64 else if (str.equals("spar")) //$NON-NLS-1$ 65 setStyleIndex(SAFE_SPAR); 66 else if (str.equals("sphere")) //$NON-NLS-1$ 67 setStyleIndex(SAFE_SPHERE); 68 } else if ((keys.containsKey("seamark:type")) //$NON-NLS-1$ 69 && (keys.get("seamark:type").equals("light_float"))) { //$NON-NLS-1$ //$NON-NLS-2$ 70 setStyleIndex(SAFE_FLOAT); 71 } else if ((keys.containsKey("seamark:type")) //$NON-NLS-1$ 72 && (keys.get("seamark:type").equals("beacon_safe_water"))) { //$NON-NLS-1$ //$NON-NLS-2$ 73 setStyleIndex(SAFE_BEACON); 74 } 75 76 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount()) 77 setStyleIndex(0); 78 79 if (keys.containsKey("seamark:topmark:shape") //$NON-NLS-1$ 80 || keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$ 81 setTopMark(true); 82 } 83 84 refreshLights(); 85 parseLights(keys); 86 parseFogRadar(keys); 87 88 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 89 dlg.tfM01Name.setText(getName()); 90 dlg.cM01TopMark.setSelected(hasTopMark()); 91 } 92 93 public void refreshLights() { 94 dlg.cbM01Kennung.removeAllItems(); 95 dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 96 dlg.cbM01Kennung.addItem("Iso"); //$NON-NLS-1$ 97 dlg.cbM01Kennung.addItem("Oc"); //$NON-NLS-1$ 98 dlg.cbM01Kennung.addItem("LFl"); //$NON-NLS-1$ 99 dlg.cbM01Kennung.addItem("Mo"); //$NON-NLS-1$ 100 dlg.cbM01Kennung.setSelectedIndex(0); 101 } 102 103 public boolean isValid() { 104 return (getBuoyIndex() > 0) && (getStyleIndex() > 0); 105 } 106 106 107 107 public void setLightColour() { … … 114 114 super.paintSign(); 115 115 116 dlg.sM01StatusBar.setText(getErrMsg());116 dlg.sM01StatusBar.setText(getErrMsg()); 117 117 118 118 if (isValid()) { … … 151 151 } 152 152 153 String image = "/images/Safe_Water"; //$NON-NLS-1$154 155 switch (getStyleIndex()) {156 case SAFE_PILLAR:157 image += "_Pillar"; //$NON-NLS-1$158 break;159 case SAFE_SPAR:160 image += "_Spar"; //$NON-NLS-1$161 break;162 case SAFE_SPHERE:163 image += "_Sphere"; //$NON-NLS-1$164 break;165 case SAFE_BEACON:166 image += "_Beacon"; //$NON-NLS-1$167 break;168 case SAFE_FLOAT:169 image += "_Float"; //$NON-NLS-1$170 break;171 default:172 }173 174 if (!image.equals("/images/Safe_Water")) { //$NON-NLS-1$175 image += ".png"; //$NON-NLS-1$176 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));177 if (hasTopMark()) {178 image = "";179 switch (getStyleIndex()) {180 case SAFE_PILLAR:181 case SAFE_SPAR:182 image = "/images/Top_Sphere_Red_Buoy.png"; //$NON-NLS-1$183 break;184 case SAFE_SPHERE:185 image = "/images/Top_Sphere_Red_Buoy_Small.png"; //$NON-NLS-1$186 break;187 case SAFE_BEACON:188 image = "/images/Top_Sphere_Red_Beacon.png"; //$NON-NLS-1$189 break;190 case SAFE_FLOAT:191 image = "/images/Top_Sphere_Red_Float.png"; //$NON-NLS-1$192 break;193 }194 if (!image.isEmpty())195 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image)));196 }197 } else198 dlg.lM01Icon.setIcon(null);199 }200 }201 202 public void saveSign() {203 Node node = getNode();204 205 if (node == null) {206 return;207 }208 209 switch (getStyleIndex()) {210 case SAFE_PILLAR:211 super.saveSign("buoy_safe_water"); //$NON-NLS-1$212 Main.main.undoRedo.add(new ChangePropertyCommand(node,213 "seamark:buoy_safe_water:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$214 break;215 case SAFE_SPAR:216 super.saveSign("buoy_safe_water"); //$NON-NLS-1$217 Main.main.undoRedo.add(new ChangePropertyCommand(node,218 "seamark:buoy_safe_water:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$219 break;220 case SAFE_SPHERE:221 super.saveSign("buoy_safe_water"); //$NON-NLS-1$222 Main.main.undoRedo.add(new ChangePropertyCommand(node,223 "seamark:buoy_safe_water:shape", "sphere")); //$NON-NLS-1$ //$NON-NLS-2$224 break;225 case SAFE_BEACON:226 super.saveSign("beacon_safe_water"); //$NON-NLS-1$227 break;228 case SAFE_FLOAT:229 super.saveSign("light_float"); //$NON-NLS-1$230 break;231 default:232 }233 234 switch (getStyleIndex()) {235 case SAFE_PILLAR:236 case SAFE_SPAR:237 case SAFE_SPHERE:238 Main.main.undoRedo.add(new ChangePropertyCommand(node,239 "seamark:buoy_safe_water:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$240 Main.main.undoRedo.add(new ChangePropertyCommand(node,241 "seamark:buoy_safe_water:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$242 break;243 case SAFE_BEACON:244 Main.main.undoRedo.add(new ChangePropertyCommand(node,245 "seamark:beacon_safe_water:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$246 Main.main.undoRedo.add(new ChangePropertyCommand(node,247 "seamark:beacon_safe_water:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$248 break;249 case SAFE_FLOAT:250 Main.main.undoRedo.add(new ChangePropertyCommand(node,251 "seamark:light_float:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$252 Main.main.undoRedo.add(new ChangePropertyCommand(node,253 "seamark:light_float:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$254 break;255 default:256 }257 saveTopMarkData("sphere", "red"); //$NON-NLS-1$ //$NON-NLS-2$258 saveLightData(); //$NON-NLS-1$259 saveRadarFogData();260 }153 String image = "/images/Safe_Water"; //$NON-NLS-1$ 154 155 switch (getStyleIndex()) { 156 case SAFE_PILLAR: 157 image += "_Pillar"; //$NON-NLS-1$ 158 break; 159 case SAFE_SPAR: 160 image += "_Spar"; //$NON-NLS-1$ 161 break; 162 case SAFE_SPHERE: 163 image += "_Sphere"; //$NON-NLS-1$ 164 break; 165 case SAFE_BEACON: 166 image += "_Beacon"; //$NON-NLS-1$ 167 break; 168 case SAFE_FLOAT: 169 image += "_Float"; //$NON-NLS-1$ 170 break; 171 default: 172 } 173 174 if (!image.equals("/images/Safe_Water")) { //$NON-NLS-1$ 175 image += ".png"; //$NON-NLS-1$ 176 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image))); 177 if (hasTopMark()) { 178 image = ""; 179 switch (getStyleIndex()) { 180 case SAFE_PILLAR: 181 case SAFE_SPAR: 182 image = "/images/Top_Sphere_Red_Buoy.png"; //$NON-NLS-1$ 183 break; 184 case SAFE_SPHERE: 185 image = "/images/Top_Sphere_Red_Buoy_Small.png"; //$NON-NLS-1$ 186 break; 187 case SAFE_BEACON: 188 image = "/images/Top_Sphere_Red_Beacon.png"; //$NON-NLS-1$ 189 break; 190 case SAFE_FLOAT: 191 image = "/images/Top_Sphere_Red_Float.png"; //$NON-NLS-1$ 192 break; 193 } 194 if (!image.isEmpty()) 195 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image))); 196 } 197 } else 198 dlg.lM01Icon.setIcon(null); 199 } 200 } 201 202 public void saveSign() { 203 Node node = getNode(); 204 205 if (node == null) { 206 return; 207 } 208 209 switch (getStyleIndex()) { 210 case SAFE_PILLAR: 211 super.saveSign("buoy_safe_water"); //$NON-NLS-1$ 212 Main.main.undoRedo.add(new ChangePropertyCommand(node, 213 "seamark:buoy_safe_water:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 214 break; 215 case SAFE_SPAR: 216 super.saveSign("buoy_safe_water"); //$NON-NLS-1$ 217 Main.main.undoRedo.add(new ChangePropertyCommand(node, 218 "seamark:buoy_safe_water:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 219 break; 220 case SAFE_SPHERE: 221 super.saveSign("buoy_safe_water"); //$NON-NLS-1$ 222 Main.main.undoRedo.add(new ChangePropertyCommand(node, 223 "seamark:buoy_safe_water:shape", "sphere")); //$NON-NLS-1$ //$NON-NLS-2$ 224 break; 225 case SAFE_BEACON: 226 super.saveSign("beacon_safe_water"); //$NON-NLS-1$ 227 break; 228 case SAFE_FLOAT: 229 super.saveSign("light_float"); //$NON-NLS-1$ 230 break; 231 default: 232 } 233 234 switch (getStyleIndex()) { 235 case SAFE_PILLAR: 236 case SAFE_SPAR: 237 case SAFE_SPHERE: 238 Main.main.undoRedo.add(new ChangePropertyCommand(node, 239 "seamark:buoy_safe_water:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 240 Main.main.undoRedo.add(new ChangePropertyCommand(node, 241 "seamark:buoy_safe_water:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$ 242 break; 243 case SAFE_BEACON: 244 Main.main.undoRedo.add(new ChangePropertyCommand(node, 245 "seamark:beacon_safe_water:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 246 Main.main.undoRedo.add(new ChangePropertyCommand(node, 247 "seamark:beacon_safe_water:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$ 248 break; 249 case SAFE_FLOAT: 250 Main.main.undoRedo.add(new ChangePropertyCommand(node, 251 "seamark:light_float:colour_pattern", "vertical stripes")); //$NON-NLS-1$ //$NON-NLS-2$ 252 Main.main.undoRedo.add(new ChangePropertyCommand(node, 253 "seamark:light_float:colour", "red;white")); //$NON-NLS-1$ //$NON-NLS-2$ 254 break; 255 default: 256 } 257 saveTopMarkData("sphere", "red"); //$NON-NLS-1$ //$NON-NLS-2$ 258 saveLightData(); //$NON-NLS-1$ 259 saveRadarFogData(); 260 } 261 261 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java
r23268 r23269 17 17 18 18 public class BuoySpec extends Buoy { 19 public BuoySpec(SmpDialogAction dia, Node node) {20 super(dia);21 22 String str;23 Map<String, String> keys;24 keys = node.getKeys();25 setNode(node);26 27 resetMask();28 29 dlg.cbM01TypeOfMark.setSelectedIndex(SPECIAL_PURPOSE);30 31 dlg.cbM01StyleOfMark.removeAllItems();32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$38 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$39 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$40 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.08")); //$NON-NLS-1$41 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.09")); //$NON-NLS-1$42 dlg.cbM01StyleOfMark.setVisible(true);43 dlg.lM01StyleOfMark.setVisible(true);44 45 dlg.cbM01TopMark.removeAllItems();46 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.212"));47 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.210")); //$NON-NLS-1$48 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.211")); //$NON-NLS-1$49 50 dlg.cM01TopMark.setEnabled(true);51 52 setBuoyIndex(SPECIAL_PURPOSE);53 setColour(SeaMark.YELLOW);54 setLightColour("W"); //$NON-NLS-1$55 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$56 57 if (keys.containsKey("name")) //$NON-NLS-1$58 setName(keys.get("name")); //$NON-NLS-1$59 60 if (keys.containsKey("seamark:name")) //$NON-NLS-1$61 setName(keys.get("seamark:name")); //$NON-NLS-1$62 63 if (keys.containsKey("seamark:buoy_special_purpose:name")) //$NON-NLS-1$64 setName(keys.get("seamark:buoy_special_purpose:name")); //$NON-NLS-1$65 else if (keys.containsKey("seamark:beacon_special_purpose:name")) //$NON-NLS-1$66 setName(keys.get("seamark:beacon_special_purpose:name")); //$NON-NLS-1$67 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$68 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$69 70 if (keys.containsKey("seamark:buoy_special_purpose:shape")) { //$NON-NLS-1$71 str = keys.get("seamark:buoy_special_purpose:shape"); //$NON-NLS-1$72 73 if (str.equals("pillar")) //$NON-NLS-1$74 setStyleIndex(SPEC_PILLAR);75 else if (str.equals("can")) //$NON-NLS-1$76 setStyleIndex(SPEC_CAN);77 else if (str.equals("conical")) //$NON-NLS-1$78 setStyleIndex(SPEC_CONE);79 else if (str.equals("spar")) //$NON-NLS-1$80 setStyleIndex(SPEC_SPAR);81 else if (str.equals("sphere")) //$NON-NLS-1$82 setStyleIndex(SPEC_SPHERE);83 else if (str.equals("barrel")) //$NON-NLS-1$84 setStyleIndex(SPEC_BARREL);85 }86 87 if (keys.containsKey("seamark:beacon_special_purpose:shape")) { //$NON-NLS-1$88 str = keys.get("seamark:beacon_special_purpose:shape"); //$NON-NLS-1$89 if (str.equals("tower")) //$NON-NLS-1$90 setStyleIndex(SPEC_TOWER);91 else92 setStyleIndex(SPEC_BEACON);93 }94 95 if (keys.containsKey("seamark:light_float:colour")) {96 setStyleIndex(SPEC_FLOAT);97 }98 99 if ((keys.containsKey("seamark:type") && keys.get("seamark:type").equals( //$NON-NLS-1$ //$NON-NLS-2$100 "beacon_special_purpose")) //$NON-NLS-1$101 || keys.containsKey("seamark:beacon_special_purpose:colour") //$NON-NLS-1$102 || keys.containsKey("seamark:beacon_special_purpose:shape")) { //$NON-NLS-1$103 if (keys.containsKey("seamark:beacon_special_purpose:shape") //$NON-NLS-1$104 && keys.get("seamark:beacon_special_purpose:shape").equals("tower")) //$NON-NLS-1$ //$NON-NLS-2$105 setStyleIndex(SPEC_TOWER);106 else107 setStyleIndex(SPEC_BEACON);108 } else if (keys.containsKey("seamark:light_float:colour") //$NON-NLS-1$109 && keys.get("seamark:light_float:colour").equals("yellow")) //$NON-NLS-1$ //$NON-NLS-2$110 setStyleIndex(SPEC_FLOAT);111 112 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount())113 setStyleIndex(0);114 115 keys = node.getKeys();116 if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$117 str = keys.get("seamark:topmark:shape"); //$NON-NLS-1$118 119 if (str.equals("x-shape")) { //$NON-NLS-1$120 setTopMark(true);121 }122 }123 124 refreshLights();125 parseLights(keys);126 parseFogRadar(keys);127 128 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());129 dlg.tfM01Name.setText(getName());130 dlg.cM01TopMark.setSelected(hasTopMark());131 }19 public BuoySpec(SmpDialogAction dia, Node node) { 20 super(dia); 21 22 String str; 23 Map<String, String> keys; 24 keys = node.getKeys(); 25 setNode(node); 26 27 resetMask(); 28 29 dlg.cbM01TypeOfMark.setSelectedIndex(SPECIAL_PURPOSE); 30 31 dlg.cbM01StyleOfMark.removeAllItems(); 32 dlg.cbM01StyleOfMark.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$ 33 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.01")); //$NON-NLS-1$ 34 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.02")); //$NON-NLS-1$ 35 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.03")); //$NON-NLS-1$ 36 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.04")); //$NON-NLS-1$ 37 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.05")); //$NON-NLS-1$ 38 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.06")); //$NON-NLS-1$ 39 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.07")); //$NON-NLS-1$ 40 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.08")); //$NON-NLS-1$ 41 dlg.cbM01StyleOfMark.addItem(Messages.getString("Buoy.09")); //$NON-NLS-1$ 42 dlg.cbM01StyleOfMark.setVisible(true); 43 dlg.lM01StyleOfMark.setVisible(true); 44 45 dlg.cbM01TopMark.removeAllItems(); 46 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.212")); 47 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.210")); //$NON-NLS-1$ 48 dlg.cbM01TopMark.addItem(Messages.getString("SmpDialogAction.211")); //$NON-NLS-1$ 49 50 dlg.cM01TopMark.setEnabled(true); 51 52 setBuoyIndex(SPECIAL_PURPOSE); 53 setColour(SeaMark.YELLOW); 54 setLightColour("W"); //$NON-NLS-1$ 55 setRegion(Main.pref.get("tomsplugin.IALA").equals("B")); //$NON-NLS-1$ //$NON-NLS-2$ 56 57 if (keys.containsKey("name")) //$NON-NLS-1$ 58 setName(keys.get("name")); //$NON-NLS-1$ 59 60 if (keys.containsKey("seamark:name")) //$NON-NLS-1$ 61 setName(keys.get("seamark:name")); //$NON-NLS-1$ 62 63 if (keys.containsKey("seamark:buoy_special_purpose:name")) //$NON-NLS-1$ 64 setName(keys.get("seamark:buoy_special_purpose:name")); //$NON-NLS-1$ 65 else if (keys.containsKey("seamark:beacon_special_purpose:name")) //$NON-NLS-1$ 66 setName(keys.get("seamark:beacon_special_purpose:name")); //$NON-NLS-1$ 67 else if (keys.containsKey("seamark:light_float:name")) //$NON-NLS-1$ 68 setName(keys.get("seamark:light_float:name")); //$NON-NLS-1$ 69 70 if (keys.containsKey("seamark:buoy_special_purpose:shape")) { //$NON-NLS-1$ 71 str = keys.get("seamark:buoy_special_purpose:shape"); //$NON-NLS-1$ 72 73 if (str.equals("pillar")) //$NON-NLS-1$ 74 setStyleIndex(SPEC_PILLAR); 75 else if (str.equals("can")) //$NON-NLS-1$ 76 setStyleIndex(SPEC_CAN); 77 else if (str.equals("conical")) //$NON-NLS-1$ 78 setStyleIndex(SPEC_CONE); 79 else if (str.equals("spar")) //$NON-NLS-1$ 80 setStyleIndex(SPEC_SPAR); 81 else if (str.equals("sphere")) //$NON-NLS-1$ 82 setStyleIndex(SPEC_SPHERE); 83 else if (str.equals("barrel")) //$NON-NLS-1$ 84 setStyleIndex(SPEC_BARREL); 85 } 86 87 if (keys.containsKey("seamark:beacon_special_purpose:shape")) { //$NON-NLS-1$ 88 str = keys.get("seamark:beacon_special_purpose:shape"); //$NON-NLS-1$ 89 if (str.equals("tower")) //$NON-NLS-1$ 90 setStyleIndex(SPEC_TOWER); 91 else 92 setStyleIndex(SPEC_BEACON); 93 } 94 95 if (keys.containsKey("seamark:light_float:colour")) { 96 setStyleIndex(SPEC_FLOAT); 97 } 98 99 if ((keys.containsKey("seamark:type") && keys.get("seamark:type").equals( //$NON-NLS-1$ //$NON-NLS-2$ 100 "beacon_special_purpose")) //$NON-NLS-1$ 101 || keys.containsKey("seamark:beacon_special_purpose:colour") //$NON-NLS-1$ 102 || keys.containsKey("seamark:beacon_special_purpose:shape")) { //$NON-NLS-1$ 103 if (keys.containsKey("seamark:beacon_special_purpose:shape") //$NON-NLS-1$ 104 && keys.get("seamark:beacon_special_purpose:shape").equals("tower")) //$NON-NLS-1$ //$NON-NLS-2$ 105 setStyleIndex(SPEC_TOWER); 106 else 107 setStyleIndex(SPEC_BEACON); 108 } else if (keys.containsKey("seamark:light_float:colour") //$NON-NLS-1$ 109 && keys.get("seamark:light_float:colour").equals("yellow")) //$NON-NLS-1$ //$NON-NLS-2$ 110 setStyleIndex(SPEC_FLOAT); 111 112 if (getStyleIndex() >= dlg.cbM01StyleOfMark.getItemCount()) 113 setStyleIndex(0); 114 115 keys = node.getKeys(); 116 if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$ 117 str = keys.get("seamark:topmark:shape"); //$NON-NLS-1$ 118 119 if (str.equals("x-shape")) { //$NON-NLS-1$ 120 setTopMark(true); 121 } 122 } 123 124 refreshLights(); 125 parseLights(keys); 126 parseFogRadar(keys); 127 128 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex()); 129 dlg.tfM01Name.setText(getName()); 130 dlg.cM01TopMark.setSelected(hasTopMark()); 131 } 132 132 133 133 public void refreshLights() { 134 134 super.refreshLights(); 135 135 136 136 switch (getStyleIndex()) { 137 137 case SPEC_BARREL: … … 146 146 } 147 147 148 public boolean isValid() {149 return (getBuoyIndex() > 0) && (getStyleIndex() > 0);150 }148 public boolean isValid() { 149 return (getBuoyIndex() > 0) && (getStyleIndex() > 0); 150 } 151 151 152 152 public void setLightColour() { … … 159 159 super.paintSign(); 160 160 161 dlg.sM01StatusBar.setText(getErrMsg());161 dlg.sM01StatusBar.setText(getErrMsg()); 162 162 163 163 if (isValid()) { … … 202 202 } 203 203 204 String image = "/images/Special_Purpose"; //$NON-NLS-1$205 206 switch (getStyleIndex()) {207 case SPEC_PILLAR:208 image += "_Pillar"; //$NON-NLS-1$209 break;210 case SPEC_CAN:211 image += "_Can"; //$NON-NLS-1$212 break;213 case SPEC_CONE:214 image += "_Cone"; //$NON-NLS-1$215 break;216 case SPEC_SPAR:217 image += "_Spar"; //$NON-NLS-1$218 break;219 case SPEC_SPHERE:220 image += "_Sphere"; //$NON-NLS-1$221 break;222 case SPEC_BARREL:223 image += "_Barrel"; //$NON-NLS-1$224 break;225 case SPEC_FLOAT:226 image += "_Float"; //$NON-NLS-1$227 break;228 case SPEC_BEACON:229 image += "_Beacon"; //$NON-NLS-1$230 break;231 case SPEC_TOWER:232 image += "_Tower"; //$NON-NLS-1$233 break;234 default:235 }236 237 if (!image.equals("/images/Special_Purpose")) { //$NON-NLS-1$238 image += ".png"; //$NON-NLS-1$239 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));240 if (hasTopMark()) {241 image = "";242 switch (getStyleIndex()) {243 case SPEC_PILLAR:244 case SPEC_SPAR:245 image = "/images/Top_X_Yellow_Buoy.png"; //$NON-NLS-1$246 break;247 case SPEC_CAN:248 case SPEC_CONE:249 case SPEC_SPHERE:250 case SPEC_BARREL:251 image = "/images/Top_X_Yellow_Buoy_Small.png"; //$NON-NLS-1$252 break;253 case SPEC_BEACON:254 case SPEC_TOWER:255 image = "/images/Top_X_Yellow_Beacon.png"; //$NON-NLS-1$256 break;257 case SPEC_FLOAT:258 image = "/images/Top_X_Yellow_Float.png"; //$NON-NLS-1$259 break;260 }261 if (!image.isEmpty())262 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image)));263 }264 } else265 dlg.lM01Icon.setIcon(null);266 }267 }268 269 public void saveSign() {270 Node node = getNode();271 272 if (node == null) {273 return;274 }275 276 switch (getStyleIndex()) {277 case SPEC_PILLAR:278 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$279 Main.main.undoRedo.add(new ChangePropertyCommand(node,280 "seamark:buoy_special_purpose:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$281 Main.main.undoRedo.add(new ChangePropertyCommand(node,282 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$283 break;284 case SPEC_SPAR:285 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$286 Main.main.undoRedo.add(new ChangePropertyCommand(node,287 "seamark:buoy_special_purpose:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$288 Main.main.undoRedo.add(new ChangePropertyCommand(node,289 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$290 break;291 case SPEC_SPHERE:292 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$293 Main.main.undoRedo.add(new ChangePropertyCommand(node,294 "seamark:buoy_special_purpose:shape", "sphere")); //$NON-NLS-1$ //$NON-NLS-2$295 Main.main.undoRedo.add(new ChangePropertyCommand(node,296 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$297 break;298 case SPEC_BARREL:299 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$300 Main.main.undoRedo.add(new ChangePropertyCommand(node,301 "seamark:buoy_special_purpose:shape", "barrel")); //$NON-NLS-1$ //$NON-NLS-2$302 Main.main.undoRedo.add(new ChangePropertyCommand(node,303 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$304 break;305 case SPEC_FLOAT:306 super.saveSign("light_float"); //$NON-NLS-1$307 Main.main.undoRedo.add(new ChangePropertyCommand(node,308 "seamark:light_float:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$309 break;310 case SPEC_BEACON:311 super.saveSign("beacon_special_purpose"); //$NON-NLS-1$312 Main.main.undoRedo.add(new ChangePropertyCommand(node,313 "seamark:beacon_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$314 break;315 case SPEC_TOWER:316 super.saveSign("beacon_special_purpose"); //$NON-NLS-1$317 Main.main.undoRedo.add(new ChangePropertyCommand(node,318 "seamark:beacon_special_purpose:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$319 Main.main.undoRedo.add(new ChangePropertyCommand(node,320 "seamark:beacon_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$321 break;322 default:323 }324 saveTopMarkData("x-shape", "yellow"); //$NON-NLS-1$ //$NON-NLS-2$325 saveLightData(); //$NON-NLS-1$326 saveRadarFogData();327 }204 String image = "/images/Special_Purpose"; //$NON-NLS-1$ 205 206 switch (getStyleIndex()) { 207 case SPEC_PILLAR: 208 image += "_Pillar"; //$NON-NLS-1$ 209 break; 210 case SPEC_CAN: 211 image += "_Can"; //$NON-NLS-1$ 212 break; 213 case SPEC_CONE: 214 image += "_Cone"; //$NON-NLS-1$ 215 break; 216 case SPEC_SPAR: 217 image += "_Spar"; //$NON-NLS-1$ 218 break; 219 case SPEC_SPHERE: 220 image += "_Sphere"; //$NON-NLS-1$ 221 break; 222 case SPEC_BARREL: 223 image += "_Barrel"; //$NON-NLS-1$ 224 break; 225 case SPEC_FLOAT: 226 image += "_Float"; //$NON-NLS-1$ 227 break; 228 case SPEC_BEACON: 229 image += "_Beacon"; //$NON-NLS-1$ 230 break; 231 case SPEC_TOWER: 232 image += "_Tower"; //$NON-NLS-1$ 233 break; 234 default: 235 } 236 237 if (!image.equals("/images/Special_Purpose")) { //$NON-NLS-1$ 238 image += ".png"; //$NON-NLS-1$ 239 dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image))); 240 if (hasTopMark()) { 241 image = ""; 242 switch (getStyleIndex()) { 243 case SPEC_PILLAR: 244 case SPEC_SPAR: 245 image = "/images/Top_X_Yellow_Buoy.png"; //$NON-NLS-1$ 246 break; 247 case SPEC_CAN: 248 case SPEC_CONE: 249 case SPEC_SPHERE: 250 case SPEC_BARREL: 251 image = "/images/Top_X_Yellow_Buoy_Small.png"; //$NON-NLS-1$ 252 break; 253 case SPEC_BEACON: 254 case SPEC_TOWER: 255 image = "/images/Top_X_Yellow_Beacon.png"; //$NON-NLS-1$ 256 break; 257 case SPEC_FLOAT: 258 image = "/images/Top_X_Yellow_Float.png"; //$NON-NLS-1$ 259 break; 260 } 261 if (!image.isEmpty()) 262 dlg.lM06Icon.setIcon(new ImageIcon(getClass().getResource(image))); 263 } 264 } else 265 dlg.lM01Icon.setIcon(null); 266 } 267 } 268 269 public void saveSign() { 270 Node node = getNode(); 271 272 if (node == null) { 273 return; 274 } 275 276 switch (getStyleIndex()) { 277 case SPEC_PILLAR: 278 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$ 279 Main.main.undoRedo.add(new ChangePropertyCommand(node, 280 "seamark:buoy_special_purpose:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$ 281 Main.main.undoRedo.add(new ChangePropertyCommand(node, 282 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 283 break; 284 case SPEC_SPAR: 285 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$ 286 Main.main.undoRedo.add(new ChangePropertyCommand(node, 287 "seamark:buoy_special_purpose:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$ 288 Main.main.undoRedo.add(new ChangePropertyCommand(node, 289 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 290 break; 291 case SPEC_SPHERE: 292 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$ 293 Main.main.undoRedo.add(new ChangePropertyCommand(node, 294 "seamark:buoy_special_purpose:shape", "sphere")); //$NON-NLS-1$ //$NON-NLS-2$ 295 Main.main.undoRedo.add(new ChangePropertyCommand(node, 296 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 297 break; 298 case SPEC_BARREL: 299 super.saveSign("buoy_special_purpose"); //$NON-NLS-1$ 300 Main.main.undoRedo.add(new ChangePropertyCommand(node, 301 "seamark:buoy_special_purpose:shape", "barrel")); //$NON-NLS-1$ //$NON-NLS-2$ 302 Main.main.undoRedo.add(new ChangePropertyCommand(node, 303 "seamark:buoy_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 304 break; 305 case SPEC_FLOAT: 306 super.saveSign("light_float"); //$NON-NLS-1$ 307 Main.main.undoRedo.add(new ChangePropertyCommand(node, 308 "seamark:light_float:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 309 break; 310 case SPEC_BEACON: 311 super.saveSign("beacon_special_purpose"); //$NON-NLS-1$ 312 Main.main.undoRedo.add(new ChangePropertyCommand(node, 313 "seamark:beacon_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 314 break; 315 case SPEC_TOWER: 316 super.saveSign("beacon_special_purpose"); //$NON-NLS-1$ 317 Main.main.undoRedo.add(new ChangePropertyCommand(node, 318 "seamark:beacon_special_purpose:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$ 319 Main.main.undoRedo.add(new ChangePropertyCommand(node, 320 "seamark:beacon_special_purpose:colour", "yellow")); //$NON-NLS-1$ //$NON-NLS-2$ 321 break; 322 default: 323 } 324 saveTopMarkData("x-shape", "yellow"); //$NON-NLS-1$ //$NON-NLS-2$ 325 saveLightData(); //$NON-NLS-1$ 326 saveRadarFogData(); 327 } 328 328 } -
applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java
r23268 r23269 18 18 } 19 19 20 public void paintSign() {21 if (dlg.paintlock)22 return;23 super.paintSign();20 public void paintSign() { 21 if (dlg.paintlock) 22 return; 23 super.paintSign(); 24 24 25 if (getErrMsg() != null)26 dlg.sM01StatusBar.setText(getErrMsg());25 if (getErrMsg() != null) 26 dlg.sM01StatusBar.setText(getErrMsg()); 27 27 28 setErrMsg(null);29 }28 setErrMsg(null); 29 } 30 30 31 public void setLightColour() {32 super.setLightColour("");33 }31 public void setLightColour() { 32 super.setLightColour(""); 33 } 34 34 35 public void saveSign() {36 }35 public void saveSign() { 36 } 37 37 }
Note:
See TracChangeset
for help on using the changeset viewer.
