Ignore:
Timestamp:
2010-12-18T23:27:23+01:00 (14 years ago)
Author:
malcolmh
Message:

save

Location:
applications/editors/josm/plugins/smed/plugs/oseam/src/oseam
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java

    r24799 r24801  
    116116                        return;
    117117                }
     118               
     119                mark = null;
    118120
    119121                Iterator<Node> it = selection.iterator();
     
    127129                if (keys.containsKey("seamark:type"))
    128130                        type = keys.get("seamark:type");
    129 
    130131                if (type.equals("buoy_lateral") || type.equals("beacon_lateral")) {
    131132                        mark = new MarkLat(this, node);
    132                         return;
    133 
    134133                } else if (type.equals("buoy_cardinal")
    135134                                || type.equals("beacon_cardinal")) {
    136135                        mark = new MarkCard(this, node);
    137                         return;
    138 
    139136                } else if (type.equals("buoy_safe_water")
    140137                                || type.equals("beacon_safe_water")) {
    141138                        mark = new MarkSaw(this, node);
    142                         return;
    143 
    144139                } else if (type.equals("buoy_special_purpose")
    145140                                || type.equals("beacon_special_purpose")) {
    146141                        mark = new MarkSpec(this, node);
    147                         return;
    148 
    149142                } else if (type.equals("buoy_isolated_danger")
    150143                                || type.equals("beacon_isolated_danger")) {
    151144                        mark = new MarkIsol(this, node);
    152                         return;
    153 
    154145                } else if (type.equals("landmark") || type.equals("light_vessel")
    155146                                || type.equals("light_major") || type.equals("light_minor")) {
    156147                        mark = new MarkLight(this, node);
    157                         return;
    158 
    159148                } else if (type.equals("light_float")) {
    160149                        if (keys.containsKey("seamark:light_float:colour")) {
     
    164153                                                || str.equals("green;red;green")) {
    165154                                        mark = new MarkLat(this, node);
    166                                         return;
    167155                                } else if (str.equals("black;yellow")
    168156                                                || str.equals("black;yellow;black")
     
    170158                                                || str.equals("yellow;black;yellow")) {
    171159                                        mark = new MarkCard(this, node);
    172                                         return;
    173160                                } else if (str.equals("black;red;black")) {
    174161                                        mark = new MarkIsol(this, node);
    175                                         return;
    176162                                } else if (str.equals("red;white")) {
    177163                                        mark = new MarkSaw(this, node);
    178                                         return;
    179164                                } else if (str.equals("yellow")) {
    180165                                        mark = new MarkSpec(this, node);
    181                                         return;
    182166                                }
    183167                        } else if (keys.containsKey("seamark:light_float:topmark:shape")) {
     
    185169                                if (str.equals("cylinder") || str.equals("cone, point up")) {
    186170                                        mark = new MarkLat(this, node);
    187                                         return;
    188171                                }
    189172                        } else if (keys.containsKey("seamark:light_float:topmark:colour")) {
     
    191174                                if (str.equals("red") || str.equals("green")) {
    192175                                        mark = new MarkLat(this, node);
    193                                         return;
    194176                                }
    195177                        }
    196                 }
    197 
    198                 if (keys.containsKey("buoy_lateral:category")
     178                } else if (keys.containsKey("buoy_lateral:category")
    199179                                || keys.containsKey("beacon_lateral:category")) {
    200180                        mark = new MarkLat(this, node);
    201                         return;
    202181                } else if (keys.containsKey("buoy_cardinal:category")
    203182                                || keys.containsKey("beacon_cardinal:category")) {
    204183                        mark = new MarkCard(this, node);
    205                         return;
    206184                } else if (keys.containsKey("buoy_isolated_danger:category")
    207185                                || keys.containsKey("beacon_isolated_danger:category")) {
    208186                        mark = new MarkIsol(this, node);
    209                         return;
    210187                } else if (keys.containsKey("buoy_safe_water:category")
    211188                                || keys.containsKey("beacon_safe_water:category")) {
    212189                        mark = new MarkSaw(this, node);
    213                         return;
    214190                } else if (keys.containsKey("buoy_special_purpose:category")
    215191                                || keys.containsKey("beacon_special_purpose:category")) {
    216192                        mark = new MarkSpec(this, node);
    217                         return;
    218                 }
    219 
    220                 if (keys.containsKey("buoy_lateral:shape")
     193                } else if (keys.containsKey("buoy_lateral:shape")
    221194                                || keys.containsKey("beacon_lateral:shape")) {
    222195                        mark = new MarkLat(this, node);
    223                         return;
    224196                } else if (keys.containsKey("buoy_cardinal:shape")
    225197                                || keys.containsKey("beacon_cardinal:shape")) {
    226198                        mark = new MarkCard(this, node);
    227                         return;
    228199                } else if (keys.containsKey("buoy_isolated_danger:shape")
    229200                                || keys.containsKey("beacon_isolated_danger:shape")) {
    230201                        mark = new MarkIsol(this, node);
    231                         return;
    232202                } else if (keys.containsKey("buoy_safe_water:shape")
    233203                                || keys.containsKey("beacon_safe_water:shape")) {
    234204                        mark = new MarkSaw(this, node);
    235                         return;
    236205                } else if (keys.containsKey("buoy_special_purpose:shape")
    237206                                || keys.containsKey("beacon_special_purpose:shape")) {
    238207                        mark = new MarkSpec(this, node);
    239                         return;
    240                 }
    241 
    242                 if (keys.containsKey("buoy_lateral:colour")
     208                } else if (keys.containsKey("buoy_lateral:colour")
    243209                                || keys.containsKey("beacon_lateral:colour")) {
    244210                        mark = new MarkLat(this, node);
    245                         return;
    246211                } else if (keys.containsKey("buoy_cardinal:colour")
    247212                                || keys.containsKey("beacon_cardinal:colour")) {
    248213                        mark = new MarkCard(this, node);
    249                         return;
    250214                } else if (keys.containsKey("buoy_isolated_danger:colour")
    251215                                || keys.containsKey("beacon_isolated_danger:colour")) {
    252216                        mark = new MarkIsol(this, node);
    253                         return;
    254217                } else if (keys.containsKey("buoy_safe_water:colour")
    255218                                || keys.containsKey("beacon_safe_water:colour")) {
    256219                        mark = new MarkSaw(this, node);
    257                         return;
    258220                } else if (keys.containsKey("buoy_special_purpose:colour")
    259221                                || keys.containsKey("beacon_special_purpose:colour")) {
    260222                        mark = new MarkSpec(this, node);
    261                         return;
    262                 }
    263 
    264                 manager.showVisualMessage(tr("No seamark recognised at this node"));
    265                 mark = new MarkUkn(this, node);
    266                 return;
     223                }
     224               
     225                if (mark == null) {
     226                        manager.showVisualMessage(tr("No seamark recognised at this node"));
     227                        mark = new MarkUkn(this, node);
     228                } else {
     229                        mark.parseMark();
     230                }
    267231        }
    268 
    269232}
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkCard.java

    r24799 r24801  
    1212
    1313        public MarkCard(OSeaMAction dia, Node node) {
    14                 super(dia);
    15 
     14                super(dia, node);
     15        }
     16       
     17        public void parseMark() {
    1618                String str;
    1719                Map<String, String> keys;
    18                 keys = node.getKeys();
    19                 setNode(node);
     20                keys = getNode().getKeys();
    2021
    2122                if (!dlg.panelMain.hazButton.isSelected())
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkIsol.java

    r24786 r24801  
    1010public class MarkIsol extends SeaMark {
    1111        public MarkIsol(OSeaMAction dia, Node node) {
    12                 super(dia);
     12                super(dia, node);
     13        }
     14       
     15        public void parseMark() {
    1316
    1417                String str;
    1518                Map<String, String> keys;
    16                 keys = node.getKeys();
    17                 setNode(node);
     19                keys = getNode().getKeys();
    1820/*
    1921                dlg.cbM01TypeOfMark.setSelectedIndex(ISOLATED_DANGER);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkLat.java

    r24786 r24801  
    99public class MarkLat extends SeaMark {
    1010        public MarkLat(OSeaMAction dia, Node node) {
    11                 super(dia);
     11                super(dia, node);
     12        }
     13       
     14        public void parseMark() {
    1215
    1316                String str;
    1417                Map<String, String> keys;
    15                 keys = node.getKeys();
    16                 setNode(node);
     18                keys = getNode().getKeys();
    1719/*
    1820                dlg.cbM01TypeOfMark.setSelectedIndex(LATERAL);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkLight.java

    r24786 r24801  
    1010public class MarkLight extends SeaMark {
    1111        public MarkLight(OSeaMAction dia, Node node) {
    12                 super(dia);
     12                super(dia, node);
     13        }
     14       
     15        public void parseMark() {
    1316
    1417                Map<String, String> keys;
    15                 keys = node.getKeys();
    16                 setNode(node);
     18                keys = getNode().getKeys();
    1719
    1820/*              dlg.cbM01TypeOfMark.setSelectedIndex(LIGHT);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkSaw.java

    r24786 r24801  
    1010public class MarkSaw extends SeaMark {
    1111        public MarkSaw(OSeaMAction dia, Node node) {
    12                 super(dia);
     12                super(dia, node);
     13        }
     14       
     15        public void parseMark() {
    1316
    1417                String str;
    1518                Map<String, String> keys;
    16                 keys = node.getKeys();
    17                 setNode(node);
     19                keys = getNode().getKeys();
    1820
    1921/*              dlg.cbM01TypeOfMark.setSelectedIndex(SAFE_WATER);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkSpec.java

    r24786 r24801  
    1010public class MarkSpec extends SeaMark {
    1111        public MarkSpec(OSeaMAction dia, Node node) {
    12                 super(dia);
     12                super(dia, node);
     13        }
     14       
     15        public void parseMark() {
    1316
    1417                String str;
    1518                Map<String, String> keys;
    16                 keys = node.getKeys();
    17                 setNode(node);
     19                keys = getNode().getKeys();
    1820
    1921/*              dlg.cbM01TypeOfMark.setSelectedIndex(SPECIAL_PURPOSE);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkUkn.java

    r24799 r24801  
    11package oseam.seamarks;
    2 
    3 import java.util.Map;
    4 
    5 import javax.swing.ButtonGroup;
    62
    73import org.openstreetmap.josm.data.osm.Node;
     
    117public class MarkUkn extends SeaMark {
    128        public MarkUkn(OSeaMAction dia, Node node) {
    13                 super(dia);
    14 
    15                 String str;
    16                 Map<String, String> keys;
    17                 keys = node.getKeys();
    18                 setNode(node);
    19 
     9                super(dia, node);
    2010                dlg.panelMain.clearSelections();
    2111        }
    2212
     13        public void parseMark() {}
     14       
    2315        public void paintSign() {
    2416/*              if (dlg.paintlock)
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r24799 r24801  
    6969
    7070        public void setDlg(OSeaMAction dia) {
    71                 this.dlg = dia;
    72         }
    73 
    74         protected SeaMark(OSeaMAction dia) {
    7571                dlg = dia;
     72        }
     73
     74        protected SeaMark(OSeaMAction dia, Node node) {
     75                dlg = dia;
     76                this.node = node;
    7677        }
    7778
     
    178179        }
    179180
     181        public abstract void parseMark();
     182       
    180183        public abstract void paintSign();
    181184
Note: See TracChangeset for help on using the changeset viewer.