Changeset 24830 in osm for applications/editors/josm


Ignore:
Timestamp:
2010-12-21T18:30:26+01:00 (14 years ago)
Author:
malcolmh
Message:

save

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

Legend:

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

    r24823 r24830  
    77import java.awt.Dimension;
    88import java.util.Collection;
    9 import java.util.Iterator;
    109import java.util.Map;
    1110
     
    3534
    3635        public SeaMark mark = null;
     36        public Node node = null;
    3737        private Collection<? extends OsmPrimitive> Selection = null;
    38         private OsmPrimitive SelNode = null;
     38        private OsmPrimitive lastNode = null;
    3939
    4040        public SelectionChangedListener SmpListener = new SelectionChangedListener() {
    41                 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
    42                         Node node = null;
     41                public void selectionChanged(
     42                                Collection<? extends OsmPrimitive> newSelection) {
     43                        Node nextNode = null;
    4344                        Selection = newSelection;
    4445
    45 //System.out.println(newSelection);
     46                        // System.out.println(newSelection);
    4647                        for (OsmPrimitive osm : Selection) {
    4748                                if (osm instanceof Node) {
    48                                         node = (Node) osm;
     49                                        nextNode = (Node) osm;
    4950                                        if (Selection.size() == 1) {
    50                                                 if (node.compareTo(SelNode) != 0) {
    51                                                         SelNode = node;
    52                                                         parseSeaMark();
    53                                                         mark.paintSign();
     51                                                if (nextNode.compareTo(lastNode) != 0) {
     52                                                        lastNode = nextNode;
     53                                                        parseNode(nextNode);
    5454                                                }
    55                                         }
     55                                        } else
     56                                                manager.showVisualMessage(Messages.getString("OneNode"));
    5657                                }
    5758                        }
    58                         if (node == null) {
     59                        if (nextNode == null) {
    5960                                panelMain.clearSelections();
    60                                 SelNode = null;
     61                                lastNode = null;
     62                                manager.showVisualMessage(Messages.getString("SelectNode"));
    6163                        }
    6264                }
     
    8890        }
    8991
    90         private void parseSeaMark() {
    91 
    92                 int nodes = 0;
    93                 Node node = null;
    94                 Collection<Node> selection = null;
     92        private void parseNode(Node newNode) {
     93
    9594                Map<String, String> keys;
    96                 DataSet ds;
    97 
    98                 ds = Main.main.getCurrentDataSet();
    9995
    10096                manager.showVisualMessage("");
    101                 if (ds == null) {
    102                         manager.showVisualMessage(Messages.getString("NoData"));
    103                         mark = new MarkUkn(this, null);
    104                         return;
    105                 }
    106 
    107                 selection = ds.getSelectedNodes();
    108                 nodes = selection.size();
    109 
    110                 if (nodes == 0) {
    111                         manager.showVisualMessage(Messages.getString("SelectNode"));
    112                         mark = new MarkUkn(this, null);
    113                         return;
    114                 }
    115 
    116                 if (nodes > 1) {
    117                         manager.showVisualMessage(Messages.getString("OneNode"));
    118                         mark = new MarkUkn(this, null);
    119                         return;
    120                 }
    121                
     97                node = newNode;
    12298                mark = null;
    123 
    124                 Iterator<Node> it = selection.iterator();
    125                 node = it.next();
    126 
    12799                String type = "";
    128100                String str = "";
     
    133105                        type = keys.get("seamark:type");
    134106                if (type.equals("buoy_lateral") || type.equals("beacon_lateral")) {
    135                         mark = new MarkLat(this, node);
     107                        mark = new MarkLat(this);
    136108                } else if (type.equals("buoy_cardinal")
    137109                                || type.equals("beacon_cardinal")) {
    138                         mark = new MarkCard(this, node);
     110                        mark = new MarkCard(this);
    139111                } else if (type.equals("buoy_safe_water")
    140112                                || type.equals("beacon_safe_water")) {
    141                         mark = new MarkSaw(this, node);
     113                        mark = new MarkSaw(this);
    142114                } else if (type.equals("buoy_special_purpose")
    143115                                || type.equals("beacon_special_purpose")) {
    144                         mark = new MarkSpec(this, node);
     116                        mark = new MarkSpec(this);
    145117                } else if (type.equals("buoy_isolated_danger")
    146118                                || type.equals("beacon_isolated_danger")) {
    147                         mark = new MarkIsol(this, node);
     119                        mark = new MarkIsol(this);
    148120                } else if (type.equals("landmark") || type.equals("light_vessel")
    149121                                || type.equals("light_major") || type.equals("light_minor")) {
    150                         mark = new MarkLight(this, node);
     122                        mark = new MarkLight(this);
    151123                } else if (type.equals("light_float")) {
    152124                        if (keys.containsKey("seamark:light_float:colour")) {
     
    155127                                                || str.equals("red;green;red")
    156128                                                || str.equals("green;red;green")) {
    157                                         mark = new MarkLat(this, node);
     129                                        mark = new MarkLat(this);
    158130                                } else if (str.equals("black;yellow")
    159131                                                || str.equals("black;yellow;black")
    160132                                                || str.equals("yellow;black")
    161133                                                || str.equals("yellow;black;yellow")) {
    162                                         mark = new MarkCard(this, node);
     134                                        mark = new MarkCard(this);
    163135                                } else if (str.equals("black;red;black")) {
    164                                         mark = new MarkIsol(this, node);
     136                                        mark = new MarkIsol(this);
    165137                                } else if (str.equals("red;white")) {
    166                                         mark = new MarkSaw(this, node);
     138                                        mark = new MarkSaw(this);
    167139                                } else if (str.equals("yellow")) {
    168                                         mark = new MarkSpec(this, node);
     140                                        mark = new MarkSpec(this);
    169141                                }
    170142                        } else if (keys.containsKey("seamark:light_float:topmark:shape")) {
    171143                                str = keys.get("seamark:light_float:topmark:shape");
    172144                                if (str.equals("cylinder") || str.equals("cone, point up")) {
    173                                         mark = new MarkLat(this, node);
     145                                        mark = new MarkLat(this);
    174146                                }
    175147                        } else if (keys.containsKey("seamark:light_float:topmark:colour")) {
    176148                                str = keys.get("seamark:light_float:topmark:colour");
    177149                                if (str.equals("red") || str.equals("green")) {
    178                                         mark = new MarkLat(this, node);
     150                                        mark = new MarkLat(this);
    179151                                }
    180152                        }
    181153                } else if (keys.containsKey("buoy_lateral:category")
    182154                                || keys.containsKey("beacon_lateral:category")) {
    183                         mark = new MarkLat(this, node);
     155                        mark = new MarkLat(this);
    184156                } else if (keys.containsKey("buoy_cardinal:category")
    185157                                || keys.containsKey("beacon_cardinal:category")) {
    186                         mark = new MarkCard(this, node);
     158                        mark = new MarkCard(this);
    187159                } else if (keys.containsKey("buoy_isolated_danger:category")
    188160                                || keys.containsKey("beacon_isolated_danger:category")) {
    189                         mark = new MarkIsol(this, node);
     161                        mark = new MarkIsol(this);
    190162                } else if (keys.containsKey("buoy_safe_water:category")
    191163                                || keys.containsKey("beacon_safe_water:category")) {
    192                         mark = new MarkSaw(this, node);
     164                        mark = new MarkSaw(this);
    193165                } else if (keys.containsKey("buoy_special_purpose:category")
    194166                                || keys.containsKey("beacon_special_purpose:category")) {
    195                         mark = new MarkSpec(this, node);
     167                        mark = new MarkSpec(this);
    196168                } else if (keys.containsKey("buoy_lateral:shape")
    197169                                || keys.containsKey("beacon_lateral:shape")) {
    198                         mark = new MarkLat(this, node);
     170                        mark = new MarkLat(this);
    199171                } else if (keys.containsKey("buoy_cardinal:shape")
    200172                                || keys.containsKey("beacon_cardinal:shape")) {
    201                         mark = new MarkCard(this, node);
     173                        mark = new MarkCard(this);
    202174                } else if (keys.containsKey("buoy_isolated_danger:shape")
    203175                                || keys.containsKey("beacon_isolated_danger:shape")) {
    204                         mark = new MarkIsol(this, node);
     176                        mark = new MarkIsol(this);
    205177                } else if (keys.containsKey("buoy_safe_water:shape")
    206178                                || keys.containsKey("beacon_safe_water:shape")) {
    207                         mark = new MarkSaw(this, node);
     179                        mark = new MarkSaw(this);
    208180                } else if (keys.containsKey("buoy_special_purpose:shape")
    209181                                || keys.containsKey("beacon_special_purpose:shape")) {
    210                         mark = new MarkSpec(this, node);
     182                        mark = new MarkSpec(this);
    211183                } else if (keys.containsKey("buoy_lateral:colour")
    212184                                || keys.containsKey("beacon_lateral:colour")) {
    213                         mark = new MarkLat(this, node);
     185                        mark = new MarkLat(this);
    214186                } else if (keys.containsKey("buoy_cardinal:colour")
    215187                                || keys.containsKey("beacon_cardinal:colour")) {
    216                         mark = new MarkCard(this, node);
     188                        mark = new MarkCard(this);
    217189                } else if (keys.containsKey("buoy_isolated_danger:colour")
    218190                                || keys.containsKey("beacon_isolated_danger:colour")) {
    219                         mark = new MarkIsol(this, node);
     191                        mark = new MarkIsol(this);
    220192                } else if (keys.containsKey("buoy_safe_water:colour")
    221193                                || keys.containsKey("beacon_safe_water:colour")) {
    222                         mark = new MarkSaw(this, node);
     194                        mark = new MarkSaw(this);
    223195                } else if (keys.containsKey("buoy_special_purpose:colour")
    224196                                || keys.containsKey("beacon_special_purpose:colour")) {
    225                         mark = new MarkSpec(this, node);
    226                 }
    227                
     197                        mark = new MarkSpec(this);
     198                }
     199
    228200                if (mark == null) {
    229                         manager.showVisualMessage(tr("No seamark recognised at this node"));
    230                         mark = new MarkUkn(this, node);
     201                        manager.showVisualMessage(Messages.getString("NoMark"));
     202                        mark = new MarkUkn(this);
    231203                } else {
    232204                        mark.parseMark();
     205                        mark.paintSign();
    233206                }
    234207        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages.properties

    r24808 r24830  
    5454SquareDayTip=Square daymark
    5555MooringTopTip=Mooring
    56 NoData=Active layer contains no OSM data
    5756SelectNode=Please select a node
    5857OneNode=Please select only one node
     58NoMark=No seamark recognised at this node
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages_de.properties

    r24808 r24830  
    5454SquareDayTip=Square daymark
    5555MooringTopTip=Mooring
    56 NoData=Active layer contains no OSM data
    5756SelectNode=Please select a node
    5857OneNode=Please select only one node
     58NoMark=No seamark recognised at this node
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages_en.properties

    r24808 r24830  
    5454SquareDayTip=Square daymark
    5555MooringTopTip=Mooring
    56 NoData=Active layer contains no OSM data
    5756SelectNode=Please select a node
    5857OneNode=Please select only one node
     58NoMark=No seamark recognised at this node
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java

    r24823 r24830  
    55
    66import java.awt.Color;
    7 import java.awt.Dimension;
    87import java.awt.Rectangle;
    9 import java.awt.Font;
    108
    119import javax.swing.ButtonGroup;
    1210import javax.swing.ImageIcon;
    13 import javax.swing.JLabel;
    14 import javax.swing.JTextField;
    15 import javax.swing.JComboBox;
    16 import javax.swing.JCheckBox;
    1711import javax.swing.JRadioButton;
    1812
    1913import oseam.Messages;
    20 
    21 import java.awt.Cursor;
     14import oseam.dialogs.OSeaMAction;
     15import oseam.panels.PanelPort;
     16import oseam.panels.PanelStbd;
     17import oseam.panels.PanelPrefPort;
     18import oseam.panels.PanelPrefStbd;
     19import oseam.seamarks.SeaMark;
     20import oseam.seamarks.SeaMark.Cat;
     21import oseam.seamarks.SeaMark.Col;
     22import oseam.seamarks.MarkLat;
     23import oseam.seamarks.MarkSaw;
     24
    2225import java.awt.event.ActionListener;
    2326
    2427public class PanelChan extends JPanel {
    2528
     29        private OSeaMAction dlg;
     30        private boolean region;
    2631        private ButtonGroup catButtons = null;
    2732        public JRadioButton portButton = null;
     
    3742        public PanelSafeWater panelSafeWater = null;
    3843
    39         public PanelChan() {
    40                 panelPort = new PanelPort();
     44        public PanelChan(OSeaMAction dia) {
     45                dlg = dia;
     46                panelPort = new PanelPort(dlg);
    4147                panelPort.setBounds(new Rectangle(55, 0, 225, 160));
    4248                panelPort.setVisible(false);
    43                 panelStbd = new PanelStbd();
     49                panelStbd = new PanelStbd(dlg);
    4450                panelStbd.setBounds(new Rectangle(55, 0, 225, 160));
    4551                panelStbd.setVisible(false);
    46                 panelPrefPort = new PanelPrefPort();
     52                panelPrefPort = new PanelPrefPort(dlg);
    4753                panelPrefPort.setBounds(new Rectangle(55, 0, 225, 160));
    4854                panelPrefPort.setVisible(false);
    49                 panelPrefStbd = new PanelPrefStbd();
     55                panelPrefStbd = new PanelPrefStbd(dlg);
    5056                panelPrefStbd.setBounds(new Rectangle(55, 0, 225, 160));
    5157                panelPrefStbd.setVisible(false);
    52                 panelSafeWater = new PanelSafeWater();
     58                panelSafeWater = new PanelSafeWater(dlg);
    5359                panelSafeWater.setBounds(new Rectangle(55, 0, 225, 160));
    5460                panelSafeWater.setVisible(false);
     
    7379                        public void actionPerformed(java.awt.event.ActionEvent e) {
    7480                                if (portButton.isSelected()) {
     81                                        if (!(dlg.mark instanceof MarkLat))
     82                                                dlg.mark = new MarkLat(dlg);
     83                                        dlg.mark.setCategory(Cat.PORT_HAND);
     84                                        if (dlg.mark.getRegion() == SeaMark.IALA_A) {
     85                                                dlg.mark.setColour(Col.RED);
     86                                                panelPort.regionAButton.doClick();
     87                                        } else {
     88                                                dlg.mark.setColour(Col.GREEN);
     89                                                panelPort.regionBButton.doClick();
     90                                        }
    7591                                        portButton.setBorderPainted(true);
    7692                                        panelPort.setVisible(true);
     
    8096                                }
    8197                                if (stbdButton.isSelected()) {
     98                                        if (!(dlg.mark instanceof MarkLat))
     99                                                dlg.mark = new MarkLat(dlg);
     100                                        dlg.mark.setCategory(Cat.STARBOARD_HAND);
     101                                        if (dlg.mark.getRegion() == SeaMark.IALA_A) {
     102                                                dlg.mark.setColour(Col.GREEN);
     103                                                panelStbd.regionAButton.doClick();
     104                                        } else {
     105                                                dlg.mark.setColour(Col.RED);
     106                                                panelStbd.regionBButton.doClick();
     107                                        }
    82108                                        stbdButton.setBorderPainted(true);
    83109                                        panelStbd.setVisible(true);
     
    87113                                }
    88114                                if (prefPortButton.isSelected()) {
     115                                        if (!(dlg.mark instanceof MarkLat))
     116                                                dlg.mark = new MarkLat(dlg);
     117                                        dlg.mark.setCategory(Cat.PREF_PORT_HAND);
     118                                        if (dlg.mark.getRegion() == SeaMark.IALA_A) {
     119                                                dlg.mark.setColour(Col.RED_GREEN_RED);
     120                                                panelPrefPort.regionAButton.doClick();
     121                                        } else {
     122                                                dlg.mark.setColour(Col.GREEN_RED_GREEN);
     123                                                panelPrefPort.regionBButton.doClick();
     124                                        }
    89125                                        prefPortButton.setBorderPainted(true);
    90126                                        panelPrefPort.setVisible(true);
     
    94130                                }
    95131                                if (prefStbdButton.isSelected()) {
     132                                        if (!(dlg.mark instanceof MarkLat))
     133                                                dlg.mark = new MarkLat(dlg);
     134                                        dlg.mark.setCategory(Cat.PREF_STARBOARD_HAND);
     135                                        if (dlg.mark.getRegion() == SeaMark.IALA_A) {
     136                                                dlg.mark.setColour(Col.GREEN_RED_GREEN);
     137                                                panelPrefStbd.regionAButton.doClick();
     138                                        } else {
     139                                                dlg.mark.setColour(Col.RED_GREEN_RED);
     140                                                panelPrefStbd.regionBButton.doClick();
     141                                        }
    96142                                        prefStbdButton.setBorderPainted(true);
    97143                                        panelPrefStbd.setVisible(true);
     
    101147                                }
    102148                                if (safeWaterButton.isSelected()) {
     149                                        if (!(dlg.mark instanceof MarkSaw))
     150                                                dlg.mark = new MarkSaw(dlg);
     151                                        dlg.mark.setColour(Col.RED_WHITE);
    103152                                        safeWaterButton.setBorderPainted(true);
    104153                                        panelSafeWater.setVisible(true);
     
    107156                                        panelSafeWater.setVisible(false);
    108157                                }
     158                                if (dlg.mark != null) dlg.mark.paintSign();
    109159                        }
    110160                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java

    r24808 r24830  
    77
    88import java.awt.Color;
    9 import java.awt.Dimension;
    109import java.awt.Rectangle;
    11 import java.awt.Font;
    1210
    1311import javax.swing.ButtonGroup;
    1412import javax.swing.ImageIcon;
    15 import javax.swing.JLabel;
    16 import javax.swing.JTextField;
    17 import javax.swing.JComboBox;
    18 import javax.swing.JCheckBox;
    1913import javax.swing.JRadioButton;
    2014
    2115import oseam.Messages;
    22 
    23 import java.awt.Cursor;
     16import oseam.dialogs.OSeaMAction;
     17
    2418import java.awt.event.ActionListener;
    2519
    2620public class PanelCol extends JPanel {
    2721
     22        private OSeaMAction dlg;
    2823        private ButtonGroup colourButtons = null;
    2924        public JRadioButton offButton = null;
     
    3934        private ActionListener alColour = null;
    4035
    41         public PanelCol() {
    42                 super();
     36        public PanelCol(OSeaMAction dia) {
     37                dlg = dia;
    4338                this.setLayout(null);
    44 
    4539                this.add(getOffButton(), null);
    4640                this.add(getWhiteButton(), null);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelFog.java

    r24808 r24830  
    1717
    1818import oseam.Messages;
     19import oseam.dialogs.OSeaMAction;
    1920
    2021import java.awt.Cursor;
     
    2324public class PanelFog extends JPanel {
    2425
    25         public PanelFog() {
    26                 super();
     26        private OSeaMAction dlg;
     27
     28        public PanelFog(OSeaMAction dia) {
     29                dlg = dia;
    2730                this.setLayout(null);
    2831        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java

    r24808 r24830  
    1313import oseam.Messages;
    1414import oseam.dialogs.OSeaMAction;
     15import oseam.seamarks.MarkCard;
     16import oseam.seamarks.MarkIsol;
    1517import oseam.seamarks.SeaMark.Cat;
    1618import oseam.seamarks.SeaMark.Col;
    17 import oseam.seamarks.SeaMark.Styl;
     19import oseam.seamarks.SeaMark.Shp;
    1820
    1921import java.awt.event.ActionListener;
     
    5557                        public void actionPerformed(java.awt.event.ActionEvent e) {
    5658                                if (northButton.isSelected()) {
    57                                         northButton.setBorderPainted(true);
     59                                        if (!(dlg.mark instanceof MarkCard))
     60                                                dlg.mark = new MarkCard(dlg);
    5861                                        dlg.mark.setCategory(Cat.CARD_NORTH);
    5962                                        dlg.mark.setColour(Col.BLACK_YELLOW);
    6063                                        dlg.panelMain.panelTop.northTopButton.doClick();
    6164                                        dlg.panelMain.panelTop.panelCol.blackButton.doClick();
     65                                        northButton.setBorderPainted(true);
    6266                                } else {
    6367                                        northButton.setBorderPainted(false);
    6468                                }
    6569                                if (southButton.isSelected()) {
    66                                         southButton.setBorderPainted(true);
     70                                        if (!(dlg.mark instanceof MarkCard))
     71                                                dlg.mark = new MarkCard(dlg);
    6772                                        dlg.mark.setCategory(Cat.CARD_SOUTH);
    6873                                        dlg.mark.setColour(Col.YELLOW_BLACK);
    6974                                        dlg.panelMain.panelTop.southTopButton.doClick();
    7075                                        dlg.panelMain.panelTop.panelCol.blackButton.doClick();
     76                                        southButton.setBorderPainted(true);
    7177                                } else {
    7278                                        southButton.setBorderPainted(false);
    7379                                }
    7480                                if (eastButton.isSelected()) {
    75                                         eastButton.setBorderPainted(true);
     81                                        if (!(dlg.mark instanceof MarkCard))
     82                                                dlg.mark = new MarkCard(dlg);
    7683                                        dlg.mark.setCategory(Cat.CARD_EAST);
    7784                                        dlg.mark.setColour(Col.BLACK_YELLOW_BLACK);
    7885                                        dlg.panelMain.panelTop.eastTopButton.doClick();
    7986                                        dlg.panelMain.panelTop.panelCol.blackButton.doClick();
     87                                        eastButton.setBorderPainted(true);
    8088                                } else {
    8189                                        eastButton.setBorderPainted(false);
    8290                                }
    8391                                if (westButton.isSelected()) {
    84                                         westButton.setBorderPainted(true);
     92                                        if (!(dlg.mark instanceof MarkCard))
     93                                                dlg.mark = new MarkCard(dlg);
    8594                                        dlg.mark.setCategory(Cat.CARD_WEST);
    8695                                        dlg.mark.setColour(Col.YELLOW_BLACK_YELLOW);
    8796                                        dlg.panelMain.panelTop.westTopButton.doClick();
    8897                                        dlg.panelMain.panelTop.panelCol.blackButton.doClick();
     98                                        westButton.setBorderPainted(true);
    8999                                } else {
    90100                                        westButton.setBorderPainted(false);
    91101                                }
    92                                 isolButton.setBorderPainted(isolButton.isSelected());
     102                                if (isolButton.isSelected()) {
     103                                        if (!(dlg.mark instanceof MarkIsol))
     104                                                dlg.mark = new MarkIsol(dlg);
     105                                        dlg.mark.setColour(Col.BLACK_RED_BLACK);
     106                                        dlg.panelMain.panelTop.spheres2TopButton.doClick();
     107                                        dlg.panelMain.panelTop.panelCol.blackButton.doClick();
     108                                        isolButton.setBorderPainted(true);
     109                                } else {
     110                                        isolButton.setBorderPainted(false);
     111                                }
     112                                if (dlg.mark != null) dlg.mark.paintSign();
    93113                        }
    94114                };
     
    114134                                if (pillarButton.isSelected()) {
    115135                                pillarButton.setBorderPainted(true);
    116                                 dlg.mark.setShape(Styl.PILLAR);
     136                                dlg.mark.setShape(Shp.PILLAR);
    117137                                } else {
    118138                                        pillarButton.setBorderPainted(false);
     
    120140                                if (sparButton.isSelected()) {
    121141                                sparButton.setBorderPainted(true);
    122                                 dlg.mark.setShape(Styl.SPAR);
     142                                dlg.mark.setShape(Shp.SPAR);
    123143                                } else {
    124144                                        sparButton.setBorderPainted(false);
     
    126146                                if (floatButton.isSelected()) {
    127147                                floatButton.setBorderPainted(true);
    128                                 dlg.mark.setShape(Styl.FLOAT);
     148                                dlg.mark.setShape(Shp.FLOAT);
    129149                                } else {
    130150                                        floatButton.setBorderPainted(false);
     
    132152                                if (beaconButton.isSelected()) {
    133153                                beaconButton.setBorderPainted(true);
    134                                 dlg.mark.setShape(Styl.BEACON);
     154                                dlg.mark.setShape(Shp.BEACON);
    135155                                } else {
    136156                                        beaconButton.setBorderPainted(false);
     
    138158                                if (towerButton.isSelected()) {
    139159                                towerButton.setBorderPainted(true);
    140                                 dlg.mark.setShape(Styl.TOWER);
     160                                dlg.mark.setShape(Shp.TOWER);
    141161                                } else {
    142162                                        towerButton.setBorderPainted(false);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelLights extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup catButtons = null;
    2729        private JRadioButton houseButton = null;
     
    3133        private JRadioButton floatButton = null;
    3234
    33         public PanelLights() {
    34                 super();
     35        public PanelLights(OSeaMAction dia) {
     36                dlg = dia;
    3537                this.setLayout(null);
    3638                this.add(getHouseButton(), null);
     
    5254                                vesselButton.setBorderPainted(vesselButton.isSelected());
    5355                                floatButton.setBorderPainted(floatButton.isSelected());
     56                                if (dlg.mark != null) dlg.mark.paintSign();
    5457                        }
    5558                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java

    r24808 r24830  
    1717
    1818import oseam.Messages;
     19import oseam.dialogs.OSeaMAction;
    1920
    2021import java.awt.Cursor;
     
    2324public class PanelLit extends JPanel {
    2425
     26        private OSeaMAction dlg;
    2527        private PanelCol panelCol = null;
    2628
    27         public PanelLit() {
    28                 super();
    29                 panelCol = new PanelCol();
     29        public PanelLit(OSeaMAction dia) {
     30                dlg = dia;
     31                panelCol = new PanelCol(dlg);
    3032                panelCol.setBounds(new Rectangle(0, 0, 34, 160));
    3133                this.setLayout(null);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java

    r24823 r24830  
    1818import oseam.Messages;
    1919import oseam.dialogs.OSeaMAction;
     20import oseam.seamarks.MarkSpec;
     21import oseam.seamarks.MarkLight;
    2022
    2123public class PanelMain extends JPanel {
     
    5557
    5658                dlg = dia;
    57                 panelChan = new PanelChan();
     59                panelChan = new PanelChan(dlg);
    5860                panelChan.setBounds(new Rectangle(65, 0, 335, 160));
    5961                panelChan.setVisible(false);
    60                 panelHaz = new PanelHaz(dia);
     62                panelHaz = new PanelHaz(dlg);
    6163                panelHaz.setBounds(new Rectangle(65, 0, 335, 160));
    6264                panelHaz.setVisible(false);
    63                 panelSpec = new PanelSpec();
     65                panelSpec = new PanelSpec(dlg);
    6466                panelSpec.setBounds(new Rectangle(65, 0, 335, 160));
    6567                panelSpec.setVisible(false);
    66                 panelLights = new PanelLights();
     68                panelLights = new PanelLights(dlg);
    6769                panelLights.setBounds(new Rectangle(65, 0, 335, 160));
    6870                panelLights.setVisible(false);
    69                 panelTop = new PanelTop();
     71                panelTop = new PanelTop(dlg);
    7072                panelTop.setBounds(new Rectangle(40, 165, 220, 160));
    7173                panelTop.setVisible(false);
    72                 panelFog = new PanelFog();
     74                panelFog = new PanelFog(dlg);
    7375                panelFog.setBounds(new Rectangle(40, 165, 220, 160));
    7476                panelFog.setVisible(false);
    75                 panelRadar = new PanelRadar();
     77                panelRadar = new PanelRadar(dlg);
    7678                panelRadar.setBounds(new Rectangle(40, 165, 220, 160));
    7779                panelRadar.setVisible(false);
    78                 panelLit = new PanelLit();
     80                panelLit = new PanelLit(dlg);
    7981                panelLit.setBounds(new Rectangle(40, 165, 220, 160));
    8082                panelLit.setVisible(false);
     
    118120                alType = new ActionListener() {
    119121                        public void actionPerformed(java.awt.event.ActionEvent e) {
    120                                 if (dlg.mark == null)
     122                                if (dlg.mark == null) {
    121123                                        typeButtons.clearSelection();
     124                                        return;
     125                                }
    122126                                if (chanButton.isSelected()) {
    123127                                        chanButton.setBorderPainted(true);
     
    135139                                }
    136140                                if (specButton.isSelected()) {
     141                                        if (!(dlg.mark instanceof MarkSpec))
     142                                                dlg.mark = new MarkSpec(dlg);
    137143                                        specButton.setBorderPainted(true);
    138144                                        panelSpec.setVisible(true);
     
    142148                                }
    143149                                if (lightsButton.isSelected()) {
     150                                        if (!(dlg.mark instanceof MarkLight))
     151                                                dlg.mark = new MarkLight(dlg);
    144152                                        lightsButton.setBorderPainted(true);
    145153                                        panelLights.setVisible(true);
     
    166174                alMisc = new ActionListener() {
    167175                        public void actionPerformed(java.awt.event.ActionEvent e) {
    168                                 if (dlg.mark == null)
     176                                if (dlg.mark == null) {
    169177                                        miscButtons.clearSelection();
     178                                        return;
     179                                }
    170180                                if (topButton.isSelected()) {
    171181                                        topButton.setBorderPainted(true);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelPort extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup regionButtons = null;
    27         private JRadioButton regionAButton = null;
    28         private JRadioButton regionBButton = null;
     29        public JRadioButton regionAButton = null;
     30        public JRadioButton regionBButton = null;
    2931        private ButtonGroup shapeButtons = null;
    30         private JRadioButton pillarButton = null;
    31         private JRadioButton sparButton = null;
    32         private JRadioButton canButton = null;
    33         private JRadioButton floatButton = null;
    34         private JRadioButton beaconButton = null;
    35         private JRadioButton towerButton = null;
    36         private JRadioButton perchButton = null;
     32        public JRadioButton pillarButton = null;
     33        public JRadioButton sparButton = null;
     34        public JRadioButton canButton = null;
     35        public JRadioButton floatButton = null;
     36        public JRadioButton beaconButton = null;
     37        public JRadioButton towerButton = null;
     38        public JRadioButton perchButton = null;
    3739
    38         public PanelPort() {
    39                 super();
     40        public PanelPort(OSeaMAction dia) {
     41                dlg = dia;
    4042                this.setLayout(null);
    4143                this.add(getRegionAButton(), null);
     
    5658                                regionAButton.setBorderPainted(regionAButton.isSelected());
    5759                                regionBButton.setBorderPainted(regionBButton.isSelected());
     60                                dlg.mark.paintSign();
    5861                        }
    5962                };
     
    7881                                towerButton.setBorderPainted(towerButton.isSelected());
    7982                                perchButton.setBorderPainted(perchButton.isSelected());
     83                                dlg.mark.paintSign();
    8084                        }
    8185                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPrefPort.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelPrefPort extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup regionButtons = null;
    27         private JRadioButton regionAButton = null;
    28         private JRadioButton regionBButton = null;
     29        public JRadioButton regionAButton = null;
     30        public JRadioButton regionBButton = null;
    2931        private ButtonGroup shapeButtons = null;
    30         private JRadioButton pillarButton = null;
    31         private JRadioButton sparButton = null;
    32         private JRadioButton canButton = null;
    33         private JRadioButton floatButton = null;
    34         private JRadioButton beaconButton = null;
    35         private JRadioButton towerButton = null;
     32        public JRadioButton pillarButton = null;
     33        public JRadioButton sparButton = null;
     34        public JRadioButton canButton = null;
     35        public JRadioButton floatButton = null;
     36        public JRadioButton beaconButton = null;
     37        public JRadioButton towerButton = null;
    3638
    37         public PanelPrefPort() {
    38                 super();
     39        public PanelPrefPort(OSeaMAction dia) {
     40                dlg = dia;
    3941                this.setLayout(null);
    4042                this.add(getRegionAButton(), null);
     
    5456                                regionAButton.setBorderPainted(regionAButton.isSelected());
    5557                                regionBButton.setBorderPainted(regionBButton.isSelected());
     58                                dlg.mark.paintSign();
    5659                        }
    5760                };
     
    7477                                beaconButton.setBorderPainted(beaconButton.isSelected());
    7578                                towerButton.setBorderPainted(towerButton.isSelected());
     79                                dlg.mark.paintSign();
    7680                        }
    7781                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPrefStbd.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelPrefStbd extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup regionButtons = null;
    27         private JRadioButton regionAButton = null;
    28         private JRadioButton regionBButton = null;
     29        public JRadioButton regionAButton = null;
     30        public JRadioButton regionBButton = null;
    2931        private ButtonGroup shapeButtons = null;
    30         private JRadioButton pillarButton = null;
    31         private JRadioButton sparButton = null;
    32         private JRadioButton coneButton = null;
    33         private JRadioButton floatButton = null;
    34         private JRadioButton beaconButton = null;
    35         private JRadioButton towerButton = null;
     32        public JRadioButton pillarButton = null;
     33        public JRadioButton sparButton = null;
     34        public JRadioButton coneButton = null;
     35        public JRadioButton floatButton = null;
     36        public JRadioButton beaconButton = null;
     37        public JRadioButton towerButton = null;
    3638
    37         public PanelPrefStbd() {
    38                 super();
     39        public PanelPrefStbd(OSeaMAction dia) {
     40                dlg = dia;
    3941                this.setLayout(null);
    4042                this.add(getRegionAButton(), null);
     
    5456                                regionAButton.setBorderPainted(regionAButton.isSelected());
    5557                                regionBButton.setBorderPainted(regionBButton.isSelected());
     58                                dlg.mark.paintSign();
    5659                        }
    5760                };
     
    7477                                beaconButton.setBorderPainted(beaconButton.isSelected());
    7578                                towerButton.setBorderPainted(towerButton.isSelected());
     79                                dlg.mark.paintSign();
    7680                        }
    7781                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelRadar.java

    r24808 r24830  
    1717
    1818import oseam.Messages;
     19import oseam.dialogs.OSeaMAction;
    1920
    2021import java.awt.Cursor;
     
    2324public class PanelRadar extends JPanel {
    2425
     26        private OSeaMAction dlg;
    2527
    26         public PanelRadar() {
    27                 super();
     28        public PanelRadar(OSeaMAction dia) {
     29                dlg = dia;
    2830                this.setLayout(null);
    2931        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSafeWater.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelSafeWater extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup shapeButtons = null;
    2729        private JRadioButton pillarButton = null;
     
    3133        private JRadioButton floatButton = null;
    3234
    33         public PanelSafeWater() {
    34                 super();
     35        public PanelSafeWater(OSeaMAction dia) {
     36                dlg = dia;
    3537                this.setLayout(null);
    3638                this.add(getPillarButton(), null);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java

    r24808 r24830  
    2020
    2121import oseam.Messages;
     22import oseam.dialogs.OSeaMAction;
    2223
    2324import java.awt.Cursor;
     
    2627public class PanelSpec extends JPanel {
    2728
     29        private OSeaMAction dlg;
    2830        private ButtonGroup shapeButtons = null;
    2931        private JRadioButton pillarButton = null;
     
    3941        private PanelCol panelCol = null;
    4042
    41         public PanelSpec() {
    42                 super();
    43                 panelCol = new PanelCol();
     43        public PanelSpec(OSeaMAction dia) {
     44                dlg = dia;
     45                panelCol = new PanelCol(dlg);
    4446                panelCol.setBounds(new Rectangle(9, 0, 34, 160));
     47
    4548                this.setLayout(null);
    46 
    4749                this.add(panelCol, null);
    4850                this.add(getPillarButton(), null);
     
    7981                                beaconButton.setBorderPainted(beaconButton.isSelected());
    8082                                towerButton.setBorderPainted(towerButton.isSelected());
     83                                if (dlg.mark != null) dlg.mark.paintSign();
    8184                        }
    8285                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java

    r24808 r24830  
    1818
    1919import oseam.Messages;
     20import oseam.dialogs.OSeaMAction;
    2021
    2122import java.awt.Cursor;
     
    2425public class PanelStbd extends JPanel {
    2526
     27        private OSeaMAction dlg;
    2628        private ButtonGroup regionButtons = null;
    27         private JRadioButton regionAButton = null;
    28         private JRadioButton regionBButton = null;
     29        public JRadioButton regionAButton = null;
     30        public JRadioButton regionBButton = null;
    2931        private ButtonGroup shapeButtons = null;
    30         private JRadioButton pillarButton = null;
    31         private JRadioButton sparButton = null;
    32         private JRadioButton coneButton = null;
    33         private JRadioButton floatButton = null;
    34         private JRadioButton beaconButton = null;
    35         private JRadioButton towerButton = null;
    36         private JRadioButton perchButton = null;
     32        public JRadioButton pillarButton = null;
     33        public JRadioButton sparButton = null;
     34        public JRadioButton coneButton = null;
     35        public JRadioButton floatButton = null;
     36        public JRadioButton beaconButton = null;
     37        public JRadioButton towerButton = null;
     38        public JRadioButton perchButton = null;
    3739
    38         public PanelStbd() {
    39                 super();
     40        public PanelStbd(OSeaMAction dia) {
     41                dlg = dia;
    4042                this.setLayout(null);
    4143                this.add(getRegionAButton(), null);
     
    5658                                regionAButton.setBorderPainted(regionAButton.isSelected());
    5759                                regionBButton.setBorderPainted(regionBButton.isSelected());
     60                                dlg.mark.paintSign();
    5861                        }
    5962                };
     
    7881                                towerButton.setBorderPainted(towerButton.isSelected());
    7982                                perchButton.setBorderPainted(perchButton.isSelected());
     83                                dlg.mark.paintSign();
    8084                        }
    8185                };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java

    r24808 r24830  
    1919
    2020import oseam.Messages;
     21import oseam.dialogs.OSeaMAction;
    2122
    2223import java.awt.Cursor;
     
    2526public class PanelTop extends JPanel {
    2627
     28        private OSeaMAction dlg;
    2729        public PanelCol panelCol = null;
    2830        private ButtonGroup topButtons = null;
     
    4547        ActionListener alTop = null;
    4648
    47         public PanelTop() {
    48                 super();
    49                 panelCol = new PanelCol();
     49        public PanelTop(OSeaMAction dia) {
     50                dlg = dia;
     51                panelCol = new PanelCol(dlg);
    5052                panelCol.setBounds(new Rectangle(0, 0, 34, 160));
    5153                this.setLayout(null);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkCard.java

    r24824 r24830  
    66import org.openstreetmap.josm.Main;
    77import org.openstreetmap.josm.command.ChangePropertyCommand;
    8 import org.openstreetmap.josm.data.osm.Node;
    98
    109import oseam.dialogs.OSeaMAction;
     
    1312public class MarkCard extends SeaMark {
    1413
    15         public MarkCard(OSeaMAction dia, Node node) {
    16                 super(dia, node);
     14        public MarkCard(OSeaMAction dia) {
     15                super(dia);
    1716        }
    1817       
     
    2019                String str;
    2120                Map<String, String> keys;
    22                 keys = getNode().getKeys();
     21                keys = dlg.node.getKeys();
    2322
    2423                if (!dlg.panelMain.hazButton.isSelected())
     
    102101        }
    103102
    104         public boolean isValid() {
    105                 return (getCategory() != Cat.UNKNOWN_CAT)
    106                                 && (getShape() != Styl.UNKNOWN_SHAPE);
    107         }
    108 
    109103        public void setLightColour() {
    110104                super.setLightColour("W");
     
    115109                if (dlg.paintlock) return; super.paintSign();
    116110                 */
    117                 if (isValid()) {
     111                if ((getCategory() != Cat.UNKNOWN) && (getShape() != Shp.UNKNOWN)) {
    118112                        String image = "/images/Cardinal";
    119113                        switch (getShape()) {
     
    164158
    165159        public void saveSign() {
    166                 Node node = getNode();
    167                 if (node == null)
     160                if (dlg.node == null)
    168161                        return;
    169162
     
    173166                case PILLAR:
    174167                        super.saveSign("buoy_cardinal");
    175                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     168                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    176169                                        "seamark:buoy_cardinal:shape", "pillar"));
    177170                        break;
    178171                case SPAR:
    179172                        super.saveSign("buoy_cardinal");
    180                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     173                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    181174                                        "seamark:buoy_cardinal:shape", "spar"));
    182175                        break;
     
    186179                case TOWER:
    187180                        super.saveSign("beacon_cardinal");
    188                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     181                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    189182                                        "seamark:beacon_cardinal:shape", "tower"));
    190183                        break;
     
    200193                        switch (getCategory()) {
    201194                        case CARD_NORTH:
    202                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     195                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    203196                                                "seamark:buoy_cardinal:category", "north"));
    204                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     197                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    205198                                                "seamark:buoy_cardinal:colour", "black;yellow"));
    206199                                shape = "2 cones up";
     
    208201
    209202                        case CARD_EAST:
    210                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     203                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    211204                                                "seamark:buoy_cardinal:category", "east"));
    212                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     205                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    213206                                                "seamark:buoy_cardinal:colour", "black;yellow;black"));
    214207                                shape = "2 cones base together";
     
    216209
    217210                        case CARD_SOUTH:
    218                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     211                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    219212                                                "seamark:buoy_cardinal:category", "south"));
    220                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     213                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    221214                                                "seamark:buoy_cardinal:colour", "yellow;black"));
    222215                                shape = "2 cones down";
     
    224217
    225218                        case CARD_WEST:
    226                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     219                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    227220                                                "seamark:buoy_cardinal:category", "west"));
    228                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     221                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    229222                                                "seamark:buoy_cardinal:colour", "yellow;black;yellow"));
    230223                                shape = "2 cones point together";
    231224                                break;
    232225                        }
    233                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     226                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    234227                                        "seamark:buoy_cardinal:colour_pattern",
    235228                                        "horizontal stripes"));
     
    240233                        switch (getCategory()) {
    241234                        case CARD_NORTH:
    242                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     235                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    243236                                                "seamark:beacon_cardinal:category", "north"));
    244                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     237                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    245238                                                "seamark:beacon_cardinal:colour", "black;yellow"));
    246239                                shape = "2 cones up";
     
    248241
    249242                        case CARD_EAST:
    250                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     243                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    251244                                                "seamark:beacon_cardinal:category", "east"));
    252245                                Main.main.undoRedo
    253                                                 .add(new ChangePropertyCommand(node,
     246                                                .add(new ChangePropertyCommand(dlg.node,
    254247                                                                "seamark:beacon_cardinal:colour",
    255248                                                                "black;yellow;black"));
     
    258251
    259252                        case CARD_SOUTH:
    260                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     253                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    261254                                                "seamark:beacon_cardinal:category", "south"));
    262                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     255                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    263256                                                "seamark:beacon_cardinal:colour", "yellow;black"));
    264257                                shape = "2 cones down";
     
    266259
    267260                        case CARD_WEST:
    268                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     261                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    269262                                                "seamark:beacon_cardinal:category", "west"));
    270263                                Main.main.undoRedo
    271                                                 .add(new ChangePropertyCommand(node,
     264                                                .add(new ChangePropertyCommand(dlg.node,
    272265                                                                "seamark:beacon_cardinal:colour",
    273266                                                                "yellow;black;yellow"));
     
    275268                                break;
    276269                        }
    277                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     270                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    278271                                        "seamark:beacon_cardinal:colour_pattern",
    279272                                        "horizontal stripes"));
     
    283276                        switch (getCategory()) {
    284277                        case CARD_NORTH:
    285                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     278                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    286279                                                "seamark:light_float:colour", "black;yellow"));
    287280                                shape = "2 cones up";
     
    289282
    290283                        case CARD_EAST:
    291                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     284                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    292285                                                "seamark:light_float:colour", "black;yellow;black"));
    293286                                shape = "2 cones base together";
     
    295288
    296289                        case CARD_SOUTH:
    297                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     290                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    298291                                                "seamark:light_float:colour", "yellow;black"));
    299292                                shape = "2 cones down";
     
    301294
    302295                        case CARD_WEST:
    303                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     296                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    304297                                                "seamark:light_float:colour", "yellow;black;yellow"));
    305298                                shape = "2 cones point together";
     
    307300                        }
    308301                        Main.main.undoRedo
    309                                         .add(new ChangePropertyCommand(node,
     302                                        .add(new ChangePropertyCommand(dlg.node,
    310303                                                        "seamark:light_float:colour_pattern",
    311304                                                        "horizontal stripes"));
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkIsol.java

    r24824 r24830  
    77import org.openstreetmap.josm.Main;
    88import org.openstreetmap.josm.command.ChangePropertyCommand;
    9 import org.openstreetmap.josm.data.osm.Node;
    109
    1110import oseam.dialogs.OSeaMAction;
     
    1312
    1413public class MarkIsol extends SeaMark {
    15         public MarkIsol(OSeaMAction dia, Node node) {
    16                 super(dia, node);
     14        public MarkIsol(OSeaMAction dia) {
     15                super(dia);
    1716        }
    1817       
     
    2120                String str;
    2221                Map<String, String> keys;
    23                 keys = getNode().getKeys();
     22                keys = dlg.node.getKeys();
    2423
    2524                if (!dlg.panelMain.hazButton.isSelected())
     
    7069        }
    7170
    72         public boolean isValid() {
    73                 return (getCategory() != Cat.UNKNOWN_CAT)
    74                                 && (getShape() != Styl.UNKNOWN_SHAPE);
    75         }
    76 
    7771        public void setLightColour() {
    7872                super.setLightColour("W");
     
    8579                super.paintSign();
    8680*/
    87                 if (isValid()) {
     81                if ((getCategory() != Cat.UNKNOWN) && (getShape() != Shp.UNKNOWN)) {
    8882
    8983                        String image = "/images/Cardinal";
     
    118112
    119113        public void saveSign() {
    120                 Node node = getNode();
    121114
    122                 if (node == null) {
     115                if (dlg.node == null) {
    123116                        return;
    124117                }
     
    127120                case PILLAR:
    128121                        super.saveSign("buoy_isolated_danger");
    129                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     122                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    130123                                        "seamark:buoy_isolated_danger:shape", "pillar"));
    131124                        break;
    132125                case SPAR:
    133126                        super.saveSign("buoy_isolated_danger");
    134                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     127                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    135128                                        "seamark:buoy_isolated_danger:shape", "spar"));
    136129                        break;
     
    140133                case TOWER:
    141134                        super.saveSign("beacon_isolated_danger");
    142                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     135                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    143136                                        "seamark:beacon_isolated_danger:shape", "tower"));
    144137                        break;
     
    152145                case PILLAR:
    153146                case SPAR:
    154                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     147                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    155148                                        "seamark:buoy_isolated_danger:colour_pattern", "horizontal stripes"));
    156                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     149                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    157150                                        "seamark:buoy_isolated_danger:colour", "black;red;black"));
    158151                        break;
    159152                case BEACON:
    160153                case TOWER:
    161                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     154                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    162155                                        "seamark:beacon_isolated_danger:colour_pattern",
    163156                                        "horizontal stripes"));
    164                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     157                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    165158                                        "seamark:beacon_isolated_danger:colour", "black;red;black"));
    166159                        break;
    167160                case FLOAT:
    168                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     161                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    169162                                        "seamark:light_float:colour_pattern", "horizontal stripes"));
    170                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     163                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    171164                                        "seamark:light_float:colour", "black;red;black"));
    172165                        break;
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkLat.java

    r24824 r24830  
    55import javax.swing.ImageIcon;
    66
    7 import org.openstreetmap.josm.data.osm.Node;
    87import org.openstreetmap.josm.Main;
    98import org.openstreetmap.josm.command.ChangePropertyCommand;
    109
    1110import oseam.dialogs.OSeaMAction;
    12 import oseam.seamarks.SeaMark.Cat;
    13 import oseam.seamarks.SeaMark.Styl;
    1411
    1512public class MarkLat extends SeaMark {
    16         public MarkLat(OSeaMAction dia, Node node) {
    17                 super(dia, node);
     13        public MarkLat(OSeaMAction dia) {
     14                super(dia);
    1815        }
    1916       
     
    2219                String str;
    2320                Map<String, String> keys;
    24                 keys = getNode().getKeys();
     21                keys = dlg.node.getKeys();
    2522
    2623                if (!dlg.panelMain.chanButton.isSelected())
     
    5653                        col = keys.get("seamark:light_float:colour");
    5754
    58                 if (getShape() != Styl.PERCH) {
     55                if (getShape() != Shp.PERCH) {
    5956                        if (keys.containsKey("seamark:topmark:shape")) {
    6057                                top = keys.get("seamark:topmark:shape");
     
    260257*/      }
    261258
    262         public boolean isValid() {
    263                 return (getCategory() != Cat.UNKNOWN_CAT)
    264                                 && (getShape() != Styl.UNKNOWN_SHAPE);
    265         }
    266 
    267259        public void setLightColour() {
    268260                if (getRegion() == IALA_A) {
     
    284276                super.paintSign();
    285277*/
    286                 if (isValid()) {
     278                if ((getCategory() != Cat.UNKNOWN) && (getShape() != Shp.UNKNOWN)) {
    287279                boolean region = getRegion();
    288                         Styl style = getShape();
     280                        Shp style = getShape();
    289281
    290282                        String image = "/images/Lateral";
     
    589581
    590582        public void saveSign() {
    591                 Node node = getNode();
    592 
    593                 if (node == null) {
     583
     584                if (dlg.node == null) {
    594585                        return;
    595586                }
     
    605596                        case CAN:
    606597                                super.saveSign("buoy_lateral");
    607                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     598                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    608599                                                "seamark:buoy_lateral:shape", "can"));
    609600                                break;
    610601                        case PILLAR:
    611602                                super.saveSign("buoy_lateral");
    612                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     603                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    613604                                                "seamark:buoy_lateral:shape", "pillar"));
    614605                                break;
    615606                        case SPAR:
    616607                                super.saveSign("buoy_lateral");
    617                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     608                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    618609                                                "seamark:buoy_lateral:shape", "spar"));
    619610                                break;
     
    623614                        case TOWER:
    624615                                super.saveSign("beacon_lateral");
    625                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     616                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    626617                                                "seamark:beacon_lateral:shape", "tower"));
    627618                                break;
     
    631622                        case PERCH:
    632623                                super.saveSign("beacon_lateral");
    633                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     624                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    634625                                                "seamark:beacon_lateral:shape", "perch"));
    635626                                break;
     
    640631                        case PILLAR:
    641632                        case SPAR:
    642                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     633                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    643634                                                "seamark:buoy_lateral:category", "port"));
    644635                                if (getRegion() == IALA_A) {
    645                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     636                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    646637                                                        "seamark:buoy_lateral:colour", "red"));
    647638                                        colour = "red";
    648639                                } else {
    649                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     640                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    650641                                                        "seamark:buoy_lateral:colour", "green"));
    651642                                        colour = "green";
     
    653644                                break;
    654645                        case PERCH:
    655                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     646                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    656647                                                "seamark:beacon_lateral:category", "port"));
    657648                                break;
    658649                        case BEACON:
    659650                        case TOWER:
    660                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     651                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    661652                                                "seamark:beacon_lateral:category", "port"));
    662653                                if (getRegion() == IALA_A) {
    663                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     654                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    664655                                                        "seamark:beacon_lateral:colour", "red"));
    665656                                        colour = "red";
    666657                                } else {
    667                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     658                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    668659                                                        "seamark:beacon_lateral:colour", "green"));
    669660                                        colour = "green";
     
    672663                        case FLOAT:
    673664                                if (getRegion() == IALA_A) {
    674                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     665                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    675666                                                        "seamark:light_float:colour", "red"));
    676667                                        colour = "red";
    677668                                } else {
    678                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     669                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    679670                                                        "seamark:light_float:colour", "green"));
    680671                                        colour = "green";
     
    689680                        case CAN:
    690681                                super.saveSign("buoy_lateral");
    691                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     682                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    692683                                                "seamark:buoy_lateral:shape", "can"));
    693684                                break;
    694685                        case PILLAR:
    695686                                super.saveSign("buoy_lateral");
    696                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     687                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    697688                                                "seamark:buoy_lateral:shape", "pillar"));
    698689                                break;
    699690                        case SPAR:
    700691                                super.saveSign("buoy_lateral");
    701                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     692                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    702693                                                "seamark:buoy_lateral:shape", "spar"));
    703694                                break;
     
    707698                        case TOWER:
    708699                                super.saveSign("beacon_lateral");
    709                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     700                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    710701                                                "seamark:beacon_lateral:shape", "tower"));
    711702                                break;
     
    719710                        case PILLAR:
    720711                        case SPAR:
    721                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     712                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    722713                                                "seamark:buoy_lateral:category", "preferred_channel_port"));
    723                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     714                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    724715                                                "seamark:buoy_lateral:colour_pattern", "horizontal stripes"));
    725716                                if (getRegion() == IALA_A) {
    726                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     717                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    727718                                                        "seamark:buoy_lateral:colour", "red;green;red"));
    728719                                        colour = "red";
    729720                                } else {
    730                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     721                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    731722                                                        "seamark:buoy_lateral:colour", "green;red;green"));
    732723                                        colour = "green";
     
    735726                        case BEACON:
    736727                        case TOWER:
    737                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     728                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    738729                                                "seamark:beacon_lateral:category", "preferred_channel_port"));
    739                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     730                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    740731                                                "seamark:beacon_lateral:colour_pattern", "horizontal stripes"));
    741732                                if (getRegion() == IALA_A) {
    742                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     733                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    743734                                                        "seamark:beacon_lateral:colour", "red;green;red"));
    744735                                        colour = "red";
    745736                                } else {
    746                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     737                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    747738                                                        "seamark:beacon_lateral:colour", "green;red;green"));
    748739                                        colour = "green";
     
    750741                                break;
    751742                        case FLOAT:
    752                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     743                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    753744                                                "seamark:light_float:colour_pattern", "horizontal stripes"));
    754745                                if (getRegion() == IALA_A) {
    755                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     746                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    756747                                                        "seamark:light_float:colour", "red;green;red"));
    757748                                        colour = "red";
    758749                                } else {
    759                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     750                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    760751                                                        "seamark:light_float:colour", "green;red;green"));
    761752                                        colour = "green";
     
    770761                        case CONE:
    771762                                super.saveSign("buoy_lateral");
    772                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     763                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    773764                                                "seamark:buoy_lateral:shape", "conical"));
    774765                                break;
    775766                        case PILLAR:
    776767                                super.saveSign("buoy_lateral");
    777                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     768                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    778769                                                "seamark:buoy_lateral:shape", "pillar"));
    779770                                break;
    780771                        case SPAR:
    781772                                super.saveSign("buoy_lateral");
    782                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     773                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    783774                                                "seamark:buoy_lateral:shape", "spar"));
    784775                                break;
    785776                        case BEACON:
    786777                                super.saveSign("beacon_lateral");
    787                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     778                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    788779                                                "seamark:beacon_lateral:shape", "stake"));
    789780                                break;
    790781                        case TOWER:
    791782                                super.saveSign("beacon_lateral");
    792                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     783                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    793784                                                "seamark:beacon_lateral:shape", "tower"));
    794785                                break;
     
    798789                        case PERCH:
    799790                                super.saveSign("beacon_lateral");
    800                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     791                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    801792                                                "seamark:beacon_lateral:shape", "perch"));
    802793                                break;
     
    807798                        case PILLAR:
    808799                        case SPAR:
    809                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     800                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    810801                                                "seamark:buoy_lateral:category", "starboard"));
    811802                                if (getRegion() == IALA_A) {
    812                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     803                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    813804                                                        "seamark:buoy_lateral:colour", "green"));
    814805                                        colour = "green";
    815806                                } else {
    816                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     807                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    817808                                                        "seamark:buoy_lateral:colour", "red"));
    818809                                        colour = "red";
     
    821812                        case BEACON:
    822813                        case TOWER:
    823                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     814                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    824815                                                "seamark:beacon_lateral:category", "starboard"));
    825816                                if (getRegion() == IALA_A) {
    826                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     817                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    827818                                                        "seamark:beacon_lateral:colour", "green"));
    828819                                        colour = "green";
    829820                                } else {
    830                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     821                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    831822                                                        "seamark:beacon_lateral:colour", "red"));
    832823                                        colour = "red";
     
    835826                        case FLOAT:
    836827                                if (getRegion() == IALA_A) {
    837                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     828                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    838829                                                        "seamark:light_float:colour", "green"));
    839830                                        colour = "green";
    840831                                } else {
    841                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     832                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    842833                                                        "seamark:light_float:colour", "red"));
    843834                                        colour = "red";
     
    845836                                break;
    846837                        case PERCH:
    847                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     838                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    848839                                                "seamark:beacon_lateral:category", "starboard"));
    849840                                break;
     
    856847                        case CONE:
    857848                                super.saveSign("buoy_lateral");
    858                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     849                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    859850                                                "seamark:buoy_lateral:shape", "conical"));
    860851                                break;
    861852                        case PILLAR:
    862853                                super.saveSign("buoy_lateral");
    863                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     854                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    864855                                                "seamark:buoy_lateral:shape", "pillar"));
    865856                                break;
    866857                        case SPAR:
    867858                                super.saveSign("buoy_lateral");
    868                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     859                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    869860                                                "seamark:buoy_lateral:shape", "spar"));
    870861                                break;
    871862                        case BEACON:
    872863                                super.saveSign("beacon_lateral");
    873                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     864                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    874865                                                "seamark:beacon_lateral:shape", "stake"));
    875866                                break;
    876867                        case TOWER:
    877868                                super.saveSign("beacon_lateral");
    878                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     869                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    879870                                                "seamark:beacon_lateral:shape", "tower"));
    880871                                break;
     
    888879                        case PILLAR:
    889880                        case SPAR:
    890                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     881                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    891882                                                "seamark:buoy_lateral:category", "preferred_channel_starboard"));
    892                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     883                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    893884                                                "seamark:buoy_lateral:colour_pattern", "horizontal stripes"));
    894885                                if (getRegion() == IALA_A) {
    895                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     886                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    896887                                                        "seamark:buoy_lateral:colour", "green;red;green"));
    897888                                        colour = "green";
    898889                                } else {
    899                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     890                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    900891                                                        "seamark:buoy_lateral:colour", "red;green;red"));
    901892                                        colour = "red";
     
    904895                        case BEACON:
    905896                        case TOWER:
    906                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     897                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    907898                                                "seamark:beacon_lateral:category", "preferred_channel_starboard"));
    908                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     899                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    909900                                                "seamark:beacon_lateral:colour_pattern", "horizontal stripes"));
    910901                                if (getRegion() == IALA_A) {
    911                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     902                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    912903                                                        "seamark:beacon_lateral:colour", "green;red;green"));
    913904                                        colour = "green";
    914905                                } else {
    915                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     906                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    916907                                                        "seamark:beacon_lateral:colour", "red;green;red"));
    917908                                        colour = "red";
     
    919910                                break;
    920911                        case FLOAT:
    921                                 Main.main.undoRedo.add(new ChangePropertyCommand(node,
     912                                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    922913                                                "seamark:light_float:colour_pattern", "horizontal stripes"));
    923914                                if (getRegion() == IALA_A) {
    924                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     915                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    925916                                                        "seamark:light_float:colour", "green;red;green"));
    926917                                        colour = "green";
    927918                                } else {
    928                                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     919                                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    929920                                                        "seamark:light_float:colour", "red;green;red"));
    930921                                        colour = "red";
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkLight.java

    r24824 r24830  
    55import javax.swing.ImageIcon;
    66
    7 import org.openstreetmap.josm.data.osm.Node;
    8 
    97import oseam.dialogs.OSeaMAction;
    108import oseam.seamarks.SeaMark;
    119
    1210public class MarkLight extends SeaMark {
    13         public MarkLight(OSeaMAction dia, Node node) {
    14                 super(dia, node);
     11        public MarkLight(OSeaMAction dia) {
     12                super(dia);
    1513        }
    1614       
     
    1816
    1917                Map<String, String> keys;
    20                 keys = getNode().getKeys();
     18                keys = dlg.node.getKeys();
    2119
    2220                if (!dlg.panelMain.lightsButton.isSelected())
     
    6361                dlg.cM01Fired.setSelected(true);
    6462*/      }
    65 /*
    66         public boolean isValid() {
    67                 return (getBuoyIndex() > 0);
    68         }
    69 */
     63
    7064        public void paintSign() {
    7165/*              if (dlg.paintlock)
     
    7367                super.paintSign();
    7468*/
    75                 if (isValid()) {
     69                if (getCategory() != Cat.UNKNOWN) {
    7670
    7771                        switch (getCategory()) {
     
    10296
    10397        public void saveSign() {
    104                 Node node = getNode();
    105 
    106                 if (node == null) {
     98                if (dlg.node == null) {
    10799                        return;
    108100                }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkSaw.java

    r24824 r24830  
    55import javax.swing.ImageIcon;
    66
    7 import org.openstreetmap.josm.data.osm.Node;
    87import org.openstreetmap.josm.Main;
    98import org.openstreetmap.josm.command.ChangePropertyCommand;
     
    1312
    1413public class MarkSaw extends SeaMark {
    15         public MarkSaw(OSeaMAction dia, Node node) {
    16                 super(dia, node);
     14        public MarkSaw(OSeaMAction dia) {
     15                super(dia);
    1716        }
    1817
     
    2120                String str;
    2221                Map<String, String> keys;
    23                 keys = getNode().getKeys();
     22                keys = dlg.node.getKeys();
    2423
    2524                if (!dlg.panelMain.chanButton.isSelected())
     
    8483         * dlg.cbM01Kennung.setSelectedIndex(0); }
    8584         *
    86          * public boolean isValid() { return (getBuoyIndex() > 0) &&
    87          * (getStyleIndex() > 0); }
    88          *
    8985         * public void setLightColour() { super.setLightColour("W"); }
    9086         */
     
    9389                 * if (dlg.paintlock) return; super.paintSign();
    9490                 */
    95                 if (isValid()) {
     91                if ((getCategory() != Cat.UNKNOWN) && (getShape() != Shp.UNKNOWN)) {
    9692
    9793                        String image = "/images/Safe_Water";
     
    150146
    151147        public void saveSign() {
    152                 Node node = getNode();
    153 
    154                 if (node == null) {
     148                if (dlg.node == null) {
    155149                        return;
    156150                }
     
    159153                case PILLAR:
    160154                        super.saveSign("buoy_safe_water");
    161                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     155                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    162156                                        "seamark:buoy_safe_water:shape", "pillar"));
    163157                        break;
    164158                case SPAR:
    165159                        super.saveSign("buoy_safe_water");
    166                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     160                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    167161                                        "seamark:buoy_safe_water:shape", "spar"));
    168162                        break;
    169163                case SPHERE:
    170164                        super.saveSign("buoy_safe_water");
    171                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     165                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    172166                                        "seamark:buoy_safe_water:shape", "sphere"));
    173167                        break;
     
    185179                case SPAR:
    186180                case SPHERE:
    187                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     181                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    188182                                        "seamark:buoy_safe_water:colour_pattern",
    189183                                        "vertical stripes"));
    190                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     184                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    191185                                        "seamark:buoy_safe_water:colour", "red;white"));
    192186                        break;
    193187                case BEACON:
    194                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     188                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    195189                                        "seamark:beacon_safe_water:colour_pattern",
    196190                                        "vertical stripes"));
    197                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     191                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    198192                                        "seamark:beacon_safe_water:colour", "red;white"));
    199193                        break;
    200194                case FLOAT:
    201                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     195                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    202196                                        "seamark:light_float:colour_pattern", "vertical stripes"));
    203                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     197                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    204198                                        "seamark:light_float:colour", "red;white"));
    205199                        break;
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkSpec.java

    r24824 r24830  
    55import javax.swing.ImageIcon;
    66
    7 import org.openstreetmap.josm.data.osm.Node;
    87import org.openstreetmap.josm.Main;
    98import org.openstreetmap.josm.command.ChangePropertyCommand;
     
    1110import oseam.dialogs.OSeaMAction;
    1211import oseam.seamarks.SeaMark;
    13 import oseam.seamarks.SeaMark.Cat;
    14 import oseam.seamarks.SeaMark.Styl;
    1512
    1613public class MarkSpec extends SeaMark {
    17         public MarkSpec(OSeaMAction dia, Node node) {
    18                 super(dia, node);
     14        public MarkSpec(OSeaMAction dia) {
     15                super(dia);
    1916        }
    2017       
     
    2320                String str;
    2421                Map<String, String> keys;
    25                 keys = getNode().getKeys();
     22                keys = dlg.node.getKeys();
    2623
    2724                if (!dlg.panelMain.specButton.isSelected())
     
    120117*/      }
    121118
    122         public boolean isValid() {
    123                 return (getCategory() != Cat.UNKNOWN_CAT)
    124                                 && (getShape() != Styl.UNKNOWN_SHAPE);
    125         }
    126 
    127119        public void setLightColour() {
    128120                super.setLightColour("W");
     
    134126                super.paintSign();
    135127*/
    136                 if (isValid()) {
     128                if ((getCategory() != Cat.UNKNOWN) && (getShape() != Shp.UNKNOWN)) {
    137129
    138130                        String image = "/images/Special_Purpose";
     
    255247
    256248        public void saveSign() {
    257                 Node node = getNode();
    258 
    259                 if (node == null) {
     249                if (dlg.node == null) {
    260250                        return;
    261251                }
     
    264254                case PILLAR:
    265255                        super.saveSign("buoy_special_purpose");
    266                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     256                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    267257                                        "seamark:buoy_special_purpose:shape", "pillar"));
    268                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     258                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    269259                                        "seamark:buoy_special_purpose:colour", "yellow"));
    270260                        break;
    271261                case SPAR:
    272262                        super.saveSign("buoy_special_purpose");
    273                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     263                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    274264                                        "seamark:buoy_special_purpose:shape", "spar"));
    275                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     265                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    276266                                        "seamark:buoy_special_purpose:colour", "yellow"));
    277267                        break;
    278268                case CAN:
    279269                        super.saveSign("buoy_special_purpose");
    280                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     270                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    281271                                        "seamark:buoy_special_purpose:shape", "can"));
    282                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     272                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    283273                                        "seamark:buoy_special_purpose:colour", "yellow"));
    284274                        break;
    285275                case CONE:
    286276                        super.saveSign("buoy_special_purpose");
    287                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     277                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    288278                                        "seamark:buoy_special_purpose:shape", "conical"));
    289                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     279                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    290280                                        "seamark:buoy_special_purpose:colour", "yellow"));
    291281                        break;
    292282                case SPHERE:
    293283                        super.saveSign("buoy_special_purpose");
    294                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     284                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    295285                                        "seamark:buoy_special_purpose:shape", "sphere"));
    296                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     286                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    297287                                        "seamark:buoy_special_purpose:colour", "yellow"));
    298288                        break;
    299289                case BARREL:
    300290                        super.saveSign("buoy_special_purpose");
    301                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     291                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    302292                                        "seamark:buoy_special_purpose:shape", "barrel"));
    303                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     293                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    304294                                        "seamark:buoy_special_purpose:colour", "yellow"));
    305295                        break;
    306296                case FLOAT:
    307297                        super.saveSign("light_float");
    308                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     298                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    309299                                        "seamark:light_float:colour", "yellow"));
    310300                        break;
    311301                case BEACON:
    312302                        super.saveSign("beacon_special_purpose");
    313                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     303                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    314304                                        "seamark:beacon_special_purpose:colour", "yellow"));
    315305                        break;
    316306                case TOWER:
    317307                        super.saveSign("beacon_special_purpose");
    318                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     308                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    319309                                        "seamark:beacon_special_purpose:shape", "tower"));
    320                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     310                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    321311                                        "seamark:beacon_special_purpose:colour", "yellow"));
    322312                        break;
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkUkn.java

    r24801 r24830  
    11package oseam.seamarks;
    2 
    3 import org.openstreetmap.josm.data.osm.Node;
    42
    53import oseam.dialogs.OSeaMAction;
    64
    75public class MarkUkn extends SeaMark {
    8         public MarkUkn(OSeaMAction dia, Node node) {
    9                 super(dia, node);
     6        public MarkUkn(OSeaMAction dia) {
     7                super(dia);
    108                dlg.panelMain.clearSelections();
    119        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r24824 r24830  
    1414abstract public class SeaMark {
    1515
    16         public enum Type {
    17                 UNKNOWN_TYPE, LATERAL, CARDINAL, SAFE_WATER, ISOLATED_DANGER, SPECIAL_PURPOSE, LIGHT
    18         }
    19 
    20         public enum Cat {
    21                 UNKNOWN_CAT, PORT_HAND, STARBOARD_HAND, PREF_PORT_HAND, PREF_STARBOARD_HAND, CARD_NORTH, CARD_EAST, CARD_SOUTH, CARD_WEST, LIGHT_HOUSE, LIGHT_MAJOR, LIGHT_MINOR, LIGHT_VESSEL
    22         }
    23 
    2416        public final static boolean IALA_A = false;
    2517        public final static boolean IALA_B = true;
    2618
    27         public enum Styl {
    28                 UNKNOWN_SHAPE, PILLAR, SPAR, CAN, CONE, SPHERE, BARREL, FLOAT, SUPER, BEACON, TOWER, STAKE, PERCH
     19        public enum Cat {
     20                UNKNOWN, PORT_HAND, STARBOARD_HAND, PREF_PORT_HAND, PREF_STARBOARD_HAND,
     21                CARD_NORTH, CARD_EAST, CARD_SOUTH, CARD_WEST,
     22                LIGHT_HOUSE, LIGHT_MAJOR, LIGHT_MINOR, LIGHT_VESSEL, LIGHT_FLOAT
     23        }
     24
     25        public enum Shp {
     26                UNKNOWN, PILLAR, SPAR, CAN, CONE, SPHERE, BARREL, FLOAT, SUPER, BEACON, TOWER, STAKE, PERCH
    2927        }
    3028
    3129        public enum Col {
    32                 UNKNOWN_COLOUR, RED, GREEN, RED_GREEN_RED, GREEN_RED_GREEN, RED_WHITE, BLACK_YELLOW, BLACK_YELLOW_BLACK, YELLOW_BLACK, YELLOW_BLACK_YELLOW, BLACK_RED_BLACK, YELLOW
    33         }
    34 
    35         public final static int WHITE_LIGHT = 1;
    36         public final static int RED_LIGHT = 2;
    37         public final static int GREEN_LIGHT = 3;
    38 
    39         /**
    40          * Topmark Shapes - correspond to TopMarkIndex
    41          */
    42 
    43         public final static int UNKNOWN_TOPMARK = 0;
    44         public final static int TOP_YELLOW_X = 1;
    45         public final static int TOP_RED_X = 2;
    46         public final static int TOP_YELLOW_CAN = 3;
    47         public final static int TOP_YELLOW_CONE = 4;
    48 
    49         /**
    50          * Radar Beacons - correspond to Ratyp Index
    51          */
    52 
    53         public final static int UNKNOWN_RATYPE = 0;
    54         public final static int RATYPE_RACON = 1;
    55         public final static int RATYPE_RAMARK = 2;
    56         public final static int RATYPE_LEADING = 3;
    57 
    58         /**
    59          * Fog Signals - correspond to FogSound Index
    60          */
    61 
    62         public final static int UNKNOWN_FOG = 0;
    63         public final static int FOG_HORN = 1;
    64         public final static int FOG_SIREN = 2;
    65         public final static int FOG_DIA = 3;
    66         public final static int FOG_BELL = 4;
    67         public final static int FOG_WHIS = 5;
    68         public final static int FOG_GONG = 6;
    69         public final static int FOG_EXPLOS = 7;
     30                UNKNOWN, WHITE, RED, ORANGE, AMBER, YELLOW, GREEN, BLUE, VIOLET, BLACK,
     31                RED_GREEN_RED, GREEN_RED_GREEN, RED_WHITE, BLACK_YELLOW, BLACK_YELLOW_BLACK, YELLOW_BLACK, YELLOW_BLACK_YELLOW, BLACK_RED_BLACK
     32        }
     33
     34        public enum Top {
     35                UNKNOWN, X_SHAPE, CAN, CONE
     36        }
     37
     38        public enum Rtb {
     39                UNKNOWN, RACON, RAMARK, LEADING
     40        }
     41
     42        public enum Fog {
     43                UNKNOWN, HORN, SIREN, DIA, BELL, WHIS, GONG, EXPLOS
     44        }
    7045
    7146        /**
     
    7954        }
    8055
    81         protected SeaMark(OSeaMAction dia, Node node) {
     56        protected SeaMark(OSeaMAction dia) {
    8257                dlg = dia;
    83                 this.node = node;
    84         }
    85 
    86         private Node node = null;
    87 
    88         public Node getNode() {
    89                 return node;
    90         }
    91 
    92         public void setNode(Node nod) {
    93                 node = nod;
     58                region = Main.pref.get("tomsplugin.IALA").equals("B");
    9459        }
    9560
     
    10469        }
    10570
    106         private Col colour = Col.UNKNOWN_COLOUR;
     71        private Col colour = Col.UNKNOWN;
    10772
    10873        public Col getColour() {
     
    11479        }
    11580
    116         private String errMsg = null;
    117 
    118         public String getErrMsg() {
    119                 return errMsg;
    120         }
    121 
    122         public void setErrMsg(String msg) {
    123                 errMsg = msg;
    124         }
    125 
    12681        private String name;
    12782
     
    13489        }
    13590
    136         private Cat category = Cat.UNKNOWN_CAT;
     91        private Cat category = Cat.UNKNOWN;
    13792
    13893        public Cat getCategory() {
     
    14499        }
    145100
    146         private Styl shape = Styl.UNKNOWN_SHAPE;
    147 
    148         public Styl getShape() {
     101        private Shp shape = Shp.UNKNOWN;
     102
     103        public Shp getShape() {
    149104                return shape;
    150105        }
    151106
    152         public void setShape(Styl styl) {
     107        public void setShape(Shp styl) {
    153108                shape = styl;
    154         }
    155 
    156         private boolean valid = true;
    157 
    158         public boolean isValid() {
    159                 return valid;
    160         }
    161 
    162         public void setValid(boolean val) {
    163                 valid = val;
    164109        }
    165110
     
    194139        }
    195140
    196         private int RaType = 0;
    197 
    198         public int getRaType() {
     141        private Rtb RaType = Rtb.UNKNOWN;
     142
     143        public Rtb getRaType() {
    199144                return RaType;
    200145        }
    201146
    202         public void setRaType(int type) {
     147        public void setRaType(Rtb type) {
    203148                RaType = type;
    204149        }
     
    214159        }
    215160
    216         private boolean Fog = false;
     161        private boolean FogSignal = false;
    217162
    218163        public boolean hasFog() {
    219                 return Fog;
     164                return FogSignal;
    220165        }
    221166
    222167        public void setFog(boolean fog) {
    223                 Fog = fog;
    224         }
    225 
    226         private int FogSound = 0;
    227 
    228         public int getFogSound() {
     168                FogSignal = fog;
     169        }
     170
     171        private Fog FogSound = Fog.UNKNOWN;
     172
     173        public Fog getFogSound() {
    229174                return FogSound;
    230175        }
    231176
    232         public void setFogSound(int sound) {
     177        public void setFogSound(Fog sound) {
    233178                FogSound = sound;
    234179        }
     
    434379
    435380                        if (matcher.find()) {
    436                                 setErrMsg(null);
     381//                              setErrMsg(null);
    437382                        } else {
    438                                 setErrMsg("Must be a number");
     383//                              setErrMsg("Must be a number");
    439384                                lightPeriod = "";
    440385//                              dlg.tfM01RepeatTime.requestFocus();
     
    529474                                str = k.get("seamark:fog_signal:category");
    530475                                if (str.equals("horn"))
    531                                         setFogSound(FOG_HORN);
     476                                        setFogSound(Fog.HORN);
    532477                                else if (str.equals("siren"))
    533                                         setFogSound(FOG_SIREN);
     478                                        setFogSound(Fog.SIREN);
    534479                                else if (str.equals("diaphone"))
    535                                         setFogSound(FOG_DIA);
     480                                        setFogSound(Fog.DIA);
    536481                                else if (str.equals("bell"))
    537                                         setFogSound(FOG_BELL);
     482                                        setFogSound(Fog.BELL);
    538483                                else if (str.equals("whis"))
    539                                         setFogSound(FOG_WHIS);
     484                                        setFogSound(Fog.WHIS);
    540485                                else if (str.equals("gong"))
    541                                         setFogSound(FOG_GONG);
     486                                        setFogSound(Fog.GONG);
    542487                                else if (str.equals("explosive"))
    543                                         setFogSound(FOG_EXPLOS);
     488                                        setFogSound(Fog.EXPLOS);
    544489                                else
    545                                         setFogSound(UNKNOWN_FOG);
     490                                        setFogSound(Fog.UNKNOWN);
    546491                        }
    547492                        if (k.containsKey("seamark:fog_signal:group"))
     
    562507                                str = k.get("seamark:radar_transponder:category");
    563508                                if (str.equals("racon"))
    564                                         setRaType(RATYPE_RACON);
     509                                        setRaType(Rtb.RACON);
    565510                                else if (str.equals("ramark"))
    566                                         setRaType(RATYPE_RAMARK);
     511                                        setRaType(Rtb.RAMARK);
    567512                                else if (str.equals("leading"))
    568                                         setRaType(RATYPE_LEADING);
     513                                        setRaType(Rtb.LEADING);
    569514                                else
    570                                         setRaType(UNKNOWN_RATYPE);
     515                                        setRaType(Rtb.UNKNOWN);
    571516                        }
    572517                        if (k.containsKey("seamark:radar_transponder:group"))
     
    583528
    584529        public void saveSign(String type) {
    585                 delSeaMarkKeys(node);
     530                delSeaMarkKeys(dlg.node);
    586531
    587532                String str = dlg.panelMain.nameBox.getText();
    588533                if (!str.isEmpty())
    589                         Main.main.undoRedo.add(new ChangePropertyCommand(node,
     534                        Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node,
    590535                                        "seamark:name", str));
    591                 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:type",
     536                Main.main.undoRedo.add(new ChangePropertyCommand(dlg.node, "seamark:type",
    592537                                type));
    593538        }
Note: See TracChangeset for help on using the changeset viewer.