Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/OSeaM.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/OSeaM.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/OSeaM.java	(revision 24799)
@@ -24,5 +24,4 @@
 	public boolean start() {
 		// TODO Auto-generated method stub
-System.out.println("start");
 		return true;
 	}
@@ -31,5 +30,4 @@
 	public boolean stop() {
 		DataSet.removeSelectionListener(oseam.SmpListener);
-System.out.println("stop");
 		return true;
 	}
@@ -37,5 +35,4 @@
 	@Override
 	public boolean hasFocus() {
-System.out.println("hasFocus");
 		DataSet.addSelectionListener(oseam.SmpListener);
 		return true;
@@ -45,5 +42,4 @@
 	public boolean lostFocus() {
 		DataSet.removeSelectionListener(oseam.SmpListener);
-System.out.println("lostFocus");
 		return true;
 	}
@@ -86,5 +82,5 @@
 	public JComponent getComponent() {
 		manager.showVisualMessage(msg);
-		oseam = new OSeaMAction();
+		oseam = new OSeaMAction(manager);
 
 		return oseam.getOSeaMPanel();
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java	(revision 24799)
@@ -27,20 +27,22 @@
 import oseam.seamarks.MarkUkn;
 import oseam.seamarks.MarkSaw;
+import smed.plug.ifc.SmedPluginManager;
 
 public class OSeaMAction {
 
+	private SmedPluginManager manager;
 	private OSeaMAction dia = null;
 	public PanelMain panelMain = null;
 
-	private SeaMark mark = null;
+	public SeaMark mark = null;
 	private Collection<? extends OsmPrimitive> Selection = null;
 	private OsmPrimitive SelNode = null;
 
 	public SelectionChangedListener SmpListener = new SelectionChangedListener() {
-		public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
+		public void selectionChanged(
+				Collection<? extends OsmPrimitive> newSelection) {
 			Node node;
 			Selection = newSelection;
 
-System.out.println("SmpListener");
 			for (OsmPrimitive osm : Selection) {
 				if (osm instanceof Node) {
@@ -49,5 +51,4 @@
 						if (node.compareTo(SelNode) != 0) {
 							SelNode = node;
-System.out.println(node);
 							parseSeaMark();
 							mark.paintSign();
@@ -59,6 +60,7 @@
 	};
 
-	public OSeaMAction() {
-
+	public OSeaMAction(SmedPluginManager mngr) {
+
+		manager = mngr;
 		dia = this;
 		String str = Main.pref.get("mappaint.style.sources");
@@ -72,10 +74,9 @@
 		if (str.equals("#000000") || str.isEmpty())
 			Main.pref.put("color.background", "#606060");
-System.out.println("newOSeaMAction");
 	}
 
 	public JPanel getOSeaMPanel() {
 		if (panelMain == null) {
-			panelMain = new PanelMain();
+			panelMain = new PanelMain(this);
 			panelMain.setLayout(null);
 			panelMain.setSize(new Dimension(400, 360));
@@ -94,7 +95,8 @@
 		ds = Main.main.getCurrentDataSet();
 
+		manager.showVisualMessage("");
 		if (ds == null) {
-			mark = new MarkUkn(this, tr("Active layer contains no OSM data"));
-			mark.setNode(null);
+			manager.showVisualMessage(tr("Active layer contains no OSM data"));
+			mark = new MarkUkn(this, null);
 			return;
 		}
@@ -104,12 +106,12 @@
 
 		if (nodes == 0) {
-			mark = new MarkUkn(this, tr("Please select a node"));
-			mark.setNode(null);
+			manager.showVisualMessage(tr("Please select a node"));
+			mark = new MarkUkn(this, null);
 			return;
 		}
 
 		if (nodes > 1) {
-			mark = new MarkUkn(this, tr("Please select only one node"));
-			mark.setNode(null);
+			manager.showVisualMessage(tr("Please select only one node"));
+			mark = new MarkUkn(this, null);
 			return;
 		}
@@ -125,22 +127,26 @@
 		if (keys.containsKey("seamark:type"))
 			type = keys.get("seamark:type");
-		
+
 		if (type.equals("buoy_lateral") || type.equals("beacon_lateral")) {
 			mark = new MarkLat(this, node);
 			return;
 
-		} else if (type.equals("buoy_cardinal") || type.equals("beacon_cardinal")) {
-			mark = new MarkCard(this, node);
-			return;
-
-		} else if (type.equals("buoy_safe_water") || type.equals("beacon_safe_water")) {
-			mark = new MarkSaw(this, node);
-			return;
-
-		} else if (type.equals("buoy_special_purpose") || type.equals("beacon_special_purpose")) {
-			mark = new MarkSpec(this, node);
-			return;
-
-		} else if (type.equals("buoy_isolated_danger") || type.equals("beacon_isolated_danger")) {
+		} else if (type.equals("buoy_cardinal")
+				|| type.equals("beacon_cardinal")) {
+			mark = new MarkCard(this, node);
+			return;
+
+		} else if (type.equals("buoy_safe_water")
+				|| type.equals("beacon_safe_water")) {
+			mark = new MarkSaw(this, node);
+			return;
+
+		} else if (type.equals("buoy_special_purpose")
+				|| type.equals("beacon_special_purpose")) {
+			mark = new MarkSpec(this, node);
+			return;
+
+		} else if (type.equals("buoy_isolated_danger")
+				|| type.equals("beacon_isolated_danger")) {
 			mark = new MarkIsol(this, node);
 			return;
@@ -155,9 +161,11 @@
 				str = keys.get("seamark:light_float:colour");
 				if (str.equals("red") || str.equals("green")
-						|| str.equals("red;green;red") || str.equals("green;red;green")) {
+						|| str.equals("red;green;red")
+						|| str.equals("green;red;green")) {
 					mark = new MarkLat(this, node);
 					return;
 				} else if (str.equals("black;yellow")
-						|| str.equals("black;yellow;black") || str.equals("yellow;black")
+						|| str.equals("black;yellow;black")
+						|| str.equals("yellow;black")
 						|| str.equals("yellow;black;yellow")) {
 					mark = new MarkCard(this, node);
@@ -188,58 +196,72 @@
 		}
 
-		if (keys.containsKey("buoy_lateral:category") || keys.containsKey("beacon_lateral:category")) {
-			mark = new MarkLat(this, node);
-			return;
-		} else if (keys.containsKey("buoy_cardinal:category") || keys.containsKey("beacon_cardinal:category")) {
-			mark = new MarkCard(this, node);
-			return;
-		} else if (keys.containsKey("buoy_isolated_danger:category") || keys.containsKey("beacon_isolated_danger:category")) {
-			mark = new MarkIsol(this, node);
-			return;
-		} else if (keys.containsKey("buoy_safe_water:category") || keys.containsKey("beacon_safe_water:category")) {
-			mark = new MarkSaw(this, node);
-			return;
-		} else if (keys.containsKey("buoy_special_purpose:category") || keys.containsKey("beacon_special_purpose:category")) {
-			mark = new MarkSpec(this, node);
-			return;
-		}
-
-		if (keys.containsKey("buoy_lateral:shape") || keys.containsKey("beacon_lateral:shape")) {
-			mark = new MarkLat(this, node);
-			return;
-		} else if (keys.containsKey("buoy_cardinal:shape") || keys.containsKey("beacon_cardinal:shape")) {
-			mark = new MarkCard(this, node);
-			return;
-		} else if (keys.containsKey("buoy_isolated_danger:shape") || keys.containsKey("beacon_isolated_danger:shape")) {
-			mark = new MarkIsol(this, node);
-			return;
-		} else if (keys.containsKey("buoy_safe_water:shape") || keys.containsKey("beacon_safe_water:shape")) {
-			mark = new MarkSaw(this, node);
-			return;
-		} else if (keys.containsKey("buoy_special_purpose:shape") || keys.containsKey("beacon_special_purpose:shape")) {
-			mark = new MarkSpec(this, node);
-			return;
-		}
-
-		if (keys.containsKey("buoy_lateral:colour") || keys.containsKey("beacon_lateral:colour")) {
-			mark = new MarkLat(this, node);
-			return;
-		} else if (keys.containsKey("buoy_cardinal:colour") || keys.containsKey("beacon_cardinal:colour")) {
-			mark = new MarkCard(this, node);
-			return;
-		} else if (keys.containsKey("buoy_isolated_danger:colour") || keys.containsKey("beacon_isolated_danger:colour")) {
-			mark = new MarkIsol(this, node);
-			return;
-		} else if (keys.containsKey("buoy_safe_water:colour") || keys.containsKey("beacon_safe_water:colour")) {
-			mark = new MarkSaw(this, node);
-			return;
-		} else if (keys.containsKey("buoy_special_purpose:colour") || keys.containsKey("beacon_special_purpose:colour")) {
-			mark = new MarkSpec(this, node);
-			return;
-		}
-
-		mark = new MarkUkn(this, Messages.getString("SmpDialogAction.91"));
-		mark.setNode(node);
-		mark.paintSign();
+		if (keys.containsKey("buoy_lateral:category")
+				|| keys.containsKey("beacon_lateral:category")) {
+			mark = new MarkLat(this, node);
+			return;
+		} else if (keys.containsKey("buoy_cardinal:category")
+				|| keys.containsKey("beacon_cardinal:category")) {
+			mark = new MarkCard(this, node);
+			return;
+		} else if (keys.containsKey("buoy_isolated_danger:category")
+				|| keys.containsKey("beacon_isolated_danger:category")) {
+			mark = new MarkIsol(this, node);
+			return;
+		} else if (keys.containsKey("buoy_safe_water:category")
+				|| keys.containsKey("beacon_safe_water:category")) {
+			mark = new MarkSaw(this, node);
+			return;
+		} else if (keys.containsKey("buoy_special_purpose:category")
+				|| keys.containsKey("beacon_special_purpose:category")) {
+			mark = new MarkSpec(this, node);
+			return;
+		}
+
+		if (keys.containsKey("buoy_lateral:shape")
+				|| keys.containsKey("beacon_lateral:shape")) {
+			mark = new MarkLat(this, node);
+			return;
+		} else if (keys.containsKey("buoy_cardinal:shape")
+				|| keys.containsKey("beacon_cardinal:shape")) {
+			mark = new MarkCard(this, node);
+			return;
+		} else if (keys.containsKey("buoy_isolated_danger:shape")
+				|| keys.containsKey("beacon_isolated_danger:shape")) {
+			mark = new MarkIsol(this, node);
+			return;
+		} else if (keys.containsKey("buoy_safe_water:shape")
+				|| keys.containsKey("beacon_safe_water:shape")) {
+			mark = new MarkSaw(this, node);
+			return;
+		} else if (keys.containsKey("buoy_special_purpose:shape")
+				|| keys.containsKey("beacon_special_purpose:shape")) {
+			mark = new MarkSpec(this, node);
+			return;
+		}
+
+		if (keys.containsKey("buoy_lateral:colour")
+				|| keys.containsKey("beacon_lateral:colour")) {
+			mark = new MarkLat(this, node);
+			return;
+		} else if (keys.containsKey("buoy_cardinal:colour")
+				|| keys.containsKey("beacon_cardinal:colour")) {
+			mark = new MarkCard(this, node);
+			return;
+		} else if (keys.containsKey("buoy_isolated_danger:colour")
+				|| keys.containsKey("beacon_isolated_danger:colour")) {
+			mark = new MarkIsol(this, node);
+			return;
+		} else if (keys.containsKey("buoy_safe_water:colour")
+				|| keys.containsKey("beacon_safe_water:colour")) {
+			mark = new MarkSaw(this, node);
+			return;
+		} else if (keys.containsKey("buoy_special_purpose:colour")
+				|| keys.containsKey("beacon_special_purpose:colour")) {
+			mark = new MarkSpec(this, node);
+			return;
+		}
+
+		manager.showVisualMessage(tr("No seamark recognised at this node"));
+		mark = new MarkUkn(this, node);
 		return;
 	}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 24799)
@@ -18,4 +18,9 @@
 
 import oseam.Messages;
+import oseam.dialogs.OSeaMAction;
+import oseam.panels.PanelMain;
+import oseam.seamarks.SeaMark.Cat;
+import oseam.seamarks.SeaMark.Col;
+import oseam.seamarks.SeaMark.Styl;
 
 import java.awt.Cursor;
@@ -24,4 +29,5 @@
 public class PanelHaz extends JPanel {
 
+	private OSeaMAction dlg;
 	private ButtonGroup catButtons = null;
 	public JRadioButton northButton = null;
@@ -38,10 +44,6 @@
 	public JRadioButton towerButton = null;
 
-	public PanelHaz() {
-		super();
-		initialize();
-	}
-
-	private void initialize() {
+	public PanelHaz(OSeaMAction dia) {
+		dlg = dia;
 		this.setLayout(null);
 		this.add(getNothButton(), null);
@@ -58,8 +60,32 @@
 		ActionListener alCat = new ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) {
-				northButton.setBorderPainted(northButton.isSelected());
-				southButton.setBorderPainted(southButton.isSelected());
-				eastButton.setBorderPainted(eastButton.isSelected());
-				westButton.setBorderPainted(westButton.isSelected());
+				if (northButton.isSelected()) {
+					northButton.setBorderPainted(true);
+					dlg.mark.setCategory(Cat.CARD_NORTH);
+					dlg.mark.setColour(Col.BLACK_YELLOW);
+				} else {
+					northButton.setBorderPainted(false);
+				}
+				if (southButton.isSelected()) {
+					southButton.setBorderPainted(true);
+					dlg.mark.setCategory(Cat.CARD_SOUTH);
+					dlg.mark.setColour(Col.YELLOW_BLACK);
+				} else {
+					southButton.setBorderPainted(false);
+				}
+				if (eastButton.isSelected()) {
+					eastButton.setBorderPainted(true);
+					dlg.mark.setCategory(Cat.CARD_EAST);
+					dlg.mark.setColour(Col.BLACK_YELLOW_BLACK);
+				} else {
+					eastButton.setBorderPainted(false);
+				}
+				if (westButton.isSelected()) {
+					westButton.setBorderPainted(true);
+					dlg.mark.setCategory(Cat.CARD_WEST);
+					dlg.mark.setColour(Col.YELLOW_BLACK_YELLOW);
+				} else {
+					westButton.setBorderPainted(false);
+				}
 				isolButton.setBorderPainted(isolButton.isSelected());
 			}
@@ -84,9 +110,34 @@
 		ActionListener alShape = new ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) {
-				pillarButton.setBorderPainted(pillarButton.isSelected());
-				sparButton.setBorderPainted(sparButton.isSelected());
-				floatButton.setBorderPainted(floatButton.isSelected());
-				beaconButton.setBorderPainted(beaconButton.isSelected());
-				towerButton.setBorderPainted(towerButton.isSelected());
+				if (pillarButton.isSelected()) {
+				pillarButton.setBorderPainted(true);
+				dlg.mark.setShape(Styl.PILLAR);
+				} else {
+					pillarButton.setBorderPainted(false);
+				}
+				if (sparButton.isSelected()) {
+				sparButton.setBorderPainted(true);
+				dlg.mark.setShape(Styl.SPAR);
+				} else {
+					sparButton.setBorderPainted(false);
+				}
+				if (floatButton.isSelected()) {
+				floatButton.setBorderPainted(true);
+				dlg.mark.setShape(Styl.FLOAT);
+				} else {
+					floatButton.setBorderPainted(false);
+				}
+				if (beaconButton.isSelected()) {
+				beaconButton.setBorderPainted(true);
+				dlg.mark.setShape(Styl.BEACON);
+				} else {
+					beaconButton.setBorderPainted(false);
+				}
+				if (towerButton.isSelected()) {
+				towerButton.setBorderPainted(true);
+				dlg.mark.setShape(Styl.TOWER);
+				} else {
+					towerButton.setBorderPainted(false);
+				}
 			}
 		};
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 24799)
@@ -3,21 +3,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import oseam.panels.*;
-
 import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
 import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.ComponentListener;
-import java.awt.event.FocusAdapter;
-import java.awt.event.FocusEvent;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.beans.PropertyChangeListener;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
 
 import javax.swing.BorderFactory;
@@ -25,28 +11,16 @@
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
 import javax.swing.JLabel;
-import javax.swing.JMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
 
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.command.ChangePropertyCommand;
-import org.openstreetmap.josm.command.Command;
-import org.openstreetmap.josm.data.SelectionChangedListener;
-import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.Node;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
-import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
-
 import oseam.Messages;
-import oseam.OSeaM;
+import oseam.dialogs.OSeaMAction;
 
 public class PanelMain extends JPanel {
 
-	private JLabel shapeIcon = null;
+	private OSeaMAction dlg;
+	public JLabel shapeIcon = null;
 	private JLabel lightIcon = null;
 	private JLabel topIcon = null;
@@ -57,9 +31,10 @@
 	private JTextField nameBox = null;
 	private JButton saveButton = null;
-	private ButtonGroup typeButtons = null;
+	public ButtonGroup typeButtons = null;
 	public JRadioButton chanButton = null;
 	public JRadioButton hazButton = null;
 	public JRadioButton specButton = null;
 	public JRadioButton lightsButton = null;
+	private ActionListener alType;
 	private ButtonGroup miscButtons = null;
 	private JRadioButton topButton = null;
@@ -67,4 +42,5 @@
 	private JRadioButton radarButton = null;
 	private JRadioButton litButton = null;
+	private ActionListener alMisc;
 	public PanelChan panelChan = null;
 	public PanelHaz panelHaz = null;
@@ -76,10 +52,11 @@
 	private PanelLit panelLit = null;
 
-	public PanelMain() {
-
+	public PanelMain(OSeaMAction dia) {
+
+		dlg = dia;
 		panelChan = new PanelChan();
 		panelChan.setBounds(new Rectangle(65, 0, 335, 160));
 		panelChan.setVisible(false);
-		panelHaz = new PanelHaz();
+		panelHaz = new PanelHaz(dia);
 		panelHaz.setBounds(new Rectangle(65, 0, 335, 160));
 		panelHaz.setVisible(false);
@@ -103,10 +80,8 @@
 		panelLit.setVisible(false);
 
-		shapeIcon = new JLabel(new ImageIcon(getClass().getResource(
-				"/images/Cardinal_Pillar_South.png")));
+		shapeIcon = new JLabel();
 		shapeIcon.setBounds(new Rectangle(265, 170, 130, 185));
 		this.add(shapeIcon, null);
-		lightIcon = new JLabel(new ImageIcon(getClass().getResource(
-				"/images/Light_White_120.png")));
+		lightIcon = new JLabel();
 		lightIcon.setBounds(new Rectangle(265, 170, 125, 185));
 		this.add(lightIcon, null);
@@ -114,14 +89,11 @@
 		topIcon.setBounds(new Rectangle(265, 170, 125, 185));
 		this.add(topIcon, null);
-		reflIcon = new JLabel(new ImageIcon(getClass().getResource(
-				"/images/Radar_Reflector_355.png")));
+		reflIcon = new JLabel();
 		reflIcon.setBounds(new Rectangle(265, 170, 125, 185));
 		this.add(reflIcon, null);
-		radarIcon = new JLabel(new ImageIcon(getClass().getResource(
-				"/images/Radar_Station.png")));
+		radarIcon = new JLabel();
 		radarIcon.setBounds(new Rectangle(265, 170, 130, 185));
 		this.add(radarIcon, null);
-		fogIcon = new JLabel(new ImageIcon(getClass().getResource(
-				"/images/Fog_Signal.png")));
+		fogIcon = new JLabel();
 		fogIcon.setBounds(new Rectangle(265, 170, 125, 185));
 		this.add(fogIcon, null);
@@ -144,6 +116,8 @@
 		typeButtons.add(specButton);
 		typeButtons.add(lightsButton);
-		ActionListener alType = new ActionListener() {
+		alType = new ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) {
+				if (dlg.mark == null)
+					typeButtons.clearSelection();
 				if (chanButton.isSelected()) {
 					chanButton.setBorderPainted(true);
@@ -190,6 +164,8 @@
 		miscButtons.add(radarButton);
 		miscButtons.add(litButton);
-		ActionListener alMisc = new ActionListener() {
+		alMisc = new ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) {
+				if (dlg.mark == null)
+					miscButtons.clearSelection();
 				if (topButton.isSelected()) {
 					topButton.setBorderPainted(true);
@@ -240,4 +216,11 @@
 	}
 
+	public void clearSelections() {
+		typeButtons.clearSelection();
+		alType.actionPerformed(null);
+		miscButtons.clearSelection();
+		alMisc.actionPerformed(null);
+	}
+
 	private JRadioButton getChanButton() {
 		if (chanButton == null) {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkCard.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkCard.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkCard.java	(revision 24799)
@@ -2,4 +2,5 @@
 
 import java.util.Map;
+import javax.swing.ImageIcon;
 
 import org.openstreetmap.josm.data.osm.Node;
@@ -17,5 +18,5 @@
 		keys = node.getKeys();
 		setNode(node);
-		
+
 		if (!dlg.panelMain.hazButton.isSelected())
 			dlg.panelMain.hazButton.doClick();
@@ -52,35 +53,19 @@
 			if (col.equals("black;yellow")) {
 				dlg.panelMain.panelHaz.northButton.doClick();
-				setCategory(Cat.CARD_NORTH);
-				setColour(Col.BLACK_YELLOW);
 			} else if (col.equals("black;yellow;black")) {
 				dlg.panelMain.panelHaz.eastButton.doClick();
-				setCategory(Cat.CARD_EAST);
-				setColour(Col.BLACK_YELLOW_BLACK);
 			} else if (col.equals("yellow;black")) {
 				dlg.panelMain.panelHaz.southButton.doClick();
-				setCategory(Cat.CARD_SOUTH);
-				setColour(Col.YELLOW_BLACK);
 			} else if (col.equals("yellow;black;yellow")) {
 				dlg.panelMain.panelHaz.westButton.doClick();
-				setCategory(Cat.CARD_WEST);
-				setColour(Col.YELLOW_BLACK_YELLOW);
 			}
 		} else if (cat.equals("north")) {
 			dlg.panelMain.panelHaz.northButton.doClick();
-			setCategory(Cat.CARD_NORTH);
-			setColour(Col.BLACK_YELLOW);
 		} else if (cat.equals("east")) {
 			dlg.panelMain.panelHaz.eastButton.doClick();
-			setCategory(Cat.CARD_EAST);
-			setColour(Col.BLACK_YELLOW_BLACK);
 		} else if (cat.equals("south")) {
 			dlg.panelMain.panelHaz.southButton.doClick();
-			setCategory(Cat.CARD_SOUTH);
-			setColour(Col.YELLOW_BLACK);
 		} else if (cat.equals("west")) {
 			dlg.panelMain.panelHaz.westButton.doClick();
-			setCategory(Cat.CARD_WEST);
-			setColour(Col.YELLOW_BLACK_YELLOW);
 		}
 
@@ -90,309 +75,237 @@
 			if (str.equals("pillar")) {
 				dlg.panelMain.panelHaz.pillarButton.doClick();
-				setShape(Styl.PILLAR);
 			} else if (str.equals("spar")) {
 				dlg.panelMain.panelHaz.sparButton.doClick();
-				setShape(Styl.SPAR);
 			}
 		} else if (keys.containsKey("seamark:beacon_cardinal:colour")) {
 			if (keys.containsKey("seamark:beacon_cardinal:shape")) {
 				str = keys.get("seamark:beacon_cardinal:shape");
-
 				if (str.equals("tower")) {
-					setShape(Styl.TOWER);
 					dlg.panelMain.panelHaz.towerButton.doClick();
 				} else {
 					dlg.panelMain.panelHaz.beaconButton.doClick();
-					setShape(Styl.BEACON);
 				}
 			} else {
 				dlg.panelMain.panelHaz.beaconButton.doClick();
-				setShape(Styl.BEACON);
 			}
 		} else if (keys.containsKey("seamark:type")
 				&& (keys.get("seamark:type").equals("light_float"))) {
 			dlg.panelMain.panelHaz.floatButton.doClick();
-			setShape(Styl.FLOAT);
 		}
 
-//		refreshLights();
-//		parseLights(keys);
-//		parseFogRadar(keys);
-
-//		dlg.cbM01CatOfMark.setSelectedIndex(getMarkIndex());
-//		dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());
-//		dlg.tfM01Name.setText(getName());
-//		dlg.cM01TopMark.setSelected(hasTopMark());
+		// refreshLights();
+		// parseLights(keys);
+		// parseFogRadar(keys);
+
+		// dlg.cbM01CatOfMark.setSelectedIndex(getMarkIndex());
+		// dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());
+		// dlg.tfM01Name.setText(getName());
+		// dlg.cM01TopMark.setSelected(hasTopMark());
 	}
-/*
-		public void refreshLights() {
-		dlg.cbM01Kennung.removeAllItems();
-		dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212")); //$NON-NLS-1$
-		dlg.cbM01Kennung.setSelectedIndex(0);
-
-		switch (getMarkIndex()) {
-		case CARD_NORTH:
-			dlg.cbM01Kennung.addItem("Q"); //$NON-NLS-1$
-			dlg.cbM01Kennung.addItem("VQ"); //$NON-NLS-1$
-			break;
-		case CARD_EAST:
-			dlg.cbM01Kennung.addItem("Q(3)"); //$NON-NLS-1$
-			dlg.cbM01Kennung.addItem("VQ(3)"); //$NON-NLS-1$
-			break;
-		case CARD_SOUTH:
-			dlg.cbM01Kennung.addItem("Q(6)+LFl"); //$NON-NLS-1$
-			dlg.cbM01Kennung.addItem("VQ(6)+LFl"); //$NON-NLS-1$
-			break;
-		case CARD_WEST:
-			dlg.cbM01Kennung.addItem("Q(9)"); //$NON-NLS-1$
-			dlg.cbM01Kennung.addItem("VQ(9)"); //$NON-NLS-1$
-			break;
+
+	/*
+	 * public void refreshLights() { dlg.cbM01Kennung.removeAllItems();
+	 * dlg.cbM01Kennung.addItem(Messages.getString("SmpDialogAction.212"));
+	 * //$NON-NLS-1$ dlg.cbM01Kennung.setSelectedIndex(0);
+	 * 
+	 * switch (getMarkIndex()) { case CARD_NORTH: dlg.cbM01Kennung.addItem("Q");
+	 * //$NON-NLS-1$ dlg.cbM01Kennung.addItem("VQ"); //$NON-NLS-1$ break; case
+	 * CARD_EAST: dlg.cbM01Kennung.addItem("Q(3)"); //$NON-NLS-1$
+	 * dlg.cbM01Kennung.addItem("VQ(3)"); //$NON-NLS-1$ break; case CARD_SOUTH:
+	 * dlg.cbM01Kennung.addItem("Q(6)+LFl"); //$NON-NLS-1$
+	 * dlg.cbM01Kennung.addItem("VQ(6)+LFl"); //$NON-NLS-1$ break; case
+	 * CARD_WEST: dlg.cbM01Kennung.addItem("Q(9)"); //$NON-NLS-1$
+	 * dlg.cbM01Kennung.addItem("VQ(9)"); //$NON-NLS-1$ break; } }
+	 */
+	public boolean isValid() {
+		return (getCategory() != Cat.UNKNOWN_CAT)
+				&& (getShape() != Styl.UNKNOWN_SHAPE);
+	}
+
+	/*
+	 * public void setLightColour() { super.setLightColour("W"); }
+	 */
+	public void paintSign() {
+		/*
+		 * if (dlg.paintlock) return; super.paintSign();
+		 */
+		if (isValid()) {
+			/*
+			 * dlg.tfM01Name.setEnabled(true); dlg.tfM01Name.setText(getName());
+			 * dlg.cM01TopMark.setSelected(true);
+			 * dlg.cM01TopMark.setVisible(true);
+			 * dlg.cM01TopMark.setEnabled(false);
+			 * dlg.cM01Radar.setVisible(true); dlg.cM01Racon.setVisible(true);
+			 * dlg.cM01Fog.setVisible(true); dlg.cM01Fired.setEnabled(true);
+			 * dlg.cM01Fired.setVisible(true); dlg.tfM01Group.setVisible(false);
+			 * dlg.lM01Group.setVisible(false); if (!isSectored()) {
+			 * dlg.cbM01Colour.setVisible(false);
+			 * dlg.lM01Colour.setVisible(false); }
+			 * dlg.rbM01Fired1.setVisible(false);
+			 * dlg.rbM01FiredN.setVisible(false);
+			 * dlg.lM01Height.setVisible(false);
+			 * dlg.tfM01Height.setVisible(false);
+			 * dlg.lM01Range.setVisible(false);
+			 * dlg.tfM01Range.setVisible(false);
+			 * 
+			 * if (isFired()) { switch (getStyleIndex()) { case CARD_BEACON:
+			 * case CARD_TOWER: case CARD_FLOAT:
+			 * dlg.lM01Height.setVisible(true);
+			 * dlg.tfM01Height.setVisible(true); dlg.lM01Range.setVisible(true);
+			 * dlg.tfM01Range.setVisible(true); break; default: } }
+			 */
+			String image = "/images/Cardinal";
+			switch (getShape()) {
+			case PILLAR:
+				image += "_Pillar";
+				break;
+			case SPAR:
+				image += "_Spar";
+				break;
+			case BEACON:
+				image += "_Beacon";
+				break;
+			case TOWER:
+				image += "_Tower";
+				break;
+			case FLOAT:
+				image += "_Float";
+				break;
+			default:
+				return;
+			}
+
+			switch (getCategory()) {
+			case CARD_NORTH:
+				image += "_North";
+				break;
+			case CARD_EAST:
+				image += "_East";
+				break;
+			case CARD_SOUTH:
+				image += "_South";
+				break;
+			case CARD_WEST:
+				image += "_West";
+				break;
+			default:
+				return;
+			}
+
+			if (!image.equals("/images/Cardinal")) {
+				image += ".png";
+				dlg.panelMain.shapeIcon.setIcon(new ImageIcon(getClass()
+						.getResource(image)));
+			} else
+				dlg.panelMain.shapeIcon.setIcon(null);
 		}
 	}
 
-	public boolean isValid() {
-		return (getMarkIndex() > 0) && (getStyleIndex() > 0);
-	}
-*/
-	public void setLightColour() {
-		super.setLightColour("W"); //$NON-NLS-1$
-	}
-
-	public void paintSign() {
-/*		if (dlg.paintlock)
-			return;
-		super.paintSign();
-
-		dlg.sM01StatusBar.setText(getErrMsg());
-
-		if (isValid()) {
-			dlg.tfM01Name.setEnabled(true);
-			dlg.tfM01Name.setText(getName());
-			dlg.cM01TopMark.setSelected(true);
-			dlg.cM01TopMark.setVisible(true);
-			dlg.cM01TopMark.setEnabled(false);
-			dlg.cM01Radar.setVisible(true);
-			dlg.cM01Racon.setVisible(true);
-			dlg.cM01Fog.setVisible(true);
-			dlg.cM01Fired.setEnabled(true);
-			dlg.cM01Fired.setVisible(true);
-			dlg.tfM01Group.setVisible(false);
-			dlg.lM01Group.setVisible(false);
-			if (!isSectored()) {
-				dlg.cbM01Colour.setVisible(false);
-				dlg.lM01Colour.setVisible(false);
-			}
-			dlg.rbM01Fired1.setVisible(false);
-			dlg.rbM01FiredN.setVisible(false);
-			dlg.lM01Height.setVisible(false);
-			dlg.tfM01Height.setVisible(false);
-			dlg.lM01Range.setVisible(false);
-			dlg.tfM01Range.setVisible(false);
-
-			if (isFired()) {
-				switch (getStyleIndex()) {
-				case CARD_BEACON:
-				case CARD_TOWER:
-				case CARD_FLOAT:
-					dlg.lM01Height.setVisible(true);
-					dlg.tfM01Height.setVisible(true);
-					dlg.lM01Range.setVisible(true);
-					dlg.tfM01Range.setVisible(true);
-					break;
-				default:
-				}
-			}
-
-			String image = "/images/Cardinal"; //$NON-NLS-1$
-			switch (getStyleIndex()) {
-			case SeaMark.CARD_PILLAR:
-				image += "_Pillar"; //$NON-NLS-1$
-				break;
-			case SeaMark.CARD_SPAR:
-				image += "_Spar"; //$NON-NLS-1$
-				break;
-			case SeaMark.CARD_BEACON:
-				image += "_Beacon"; //$NON-NLS-1$
-				break;
-			case SeaMark.CARD_TOWER:
-				image += "_Tower"; //$NON-NLS-1$
-				break;
-			case SeaMark.CARD_FLOAT:
-				image += "_Float"; //$NON-NLS-1$
-				break;
-			default:
-				return;
-			}
-
-			switch (getMarkIndex()) {
-			case CARD_NORTH:
-				image += "_North"; //$NON-NLS-1$
-				break;
-			case CARD_EAST:
-				image += "_East"; //$NON-NLS-1$
-				break;
-			case CARD_SOUTH:
-				image += "_South"; //$NON-NLS-1$
-				break;
-			case CARD_WEST:
-				image += "_West"; //$NON-NLS-1$
-				break;
-			default:
-				return;
-			}
-
-			if (!image.equals("/images/Cardinal")) { //$NON-NLS-1$
-				image += ".png"; //$NON-NLS-1$
-				dlg.lM01Icon.setIcon(new ImageIcon(getClass().getResource(image)));
-
-			} else
-				dlg.lM01Icon.setIcon(null);
-		}
-*/	}
-
 	public void saveSign() {
-/*		Node node = getNode();
-		if (node == null) {
-			return;
-		}
-
-		String shape = ""; //$NON-NLS-1$
-
-		switch (getStyleIndex()) {
-		case CARD_PILLAR:
-			super.saveSign("buoy_cardinal"); //$NON-NLS-1$
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:buoy_cardinal:shape", "pillar")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CARD_SPAR:
-			super.saveSign("buoy_cardinal"); //$NON-NLS-1$
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:buoy_cardinal:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CARD_BEACON:
-			super.saveSign("beacon_cardinal"); //$NON-NLS-1$
-			break;
-		case CARD_TOWER:
-			super.saveSign("beacon_cardinal"); //$NON-NLS-1$
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:beacon_cardinal:shape", "tower")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CARD_FLOAT:
-			super.saveSign("light_float"); //$NON-NLS-1$
-			break;
-		default:
-		}
-
-		switch (getStyleIndex()) {
-		case CARD_PILLAR:
-		case CARD_SPAR:
-			switch (getMarkIndex()) {
-			case SeaMark.CARD_NORTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones up"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_EAST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones base together"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_SOUTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones down"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_WEST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:buoy_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones point together"; //$NON-NLS-1$
-				break;
-			}
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:buoy_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CARD_BEACON:
-		case CARD_TOWER:
-			switch (getMarkIndex()) {
-			case SeaMark.CARD_NORTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:category", "north")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones up"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_EAST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:category", "east")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones base together"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_SOUTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:category", "south")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones down"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_WEST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:category", "west")); //$NON-NLS-1$ //$NON-NLS-2$
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:beacon_cardinal:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones point together"; //$NON-NLS-1$
-				break;
-			}
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:beacon_cardinal:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CARD_FLOAT:
-			switch (getMarkIndex()) {
-			case SeaMark.CARD_NORTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:light_float:colour", "black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones up"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_EAST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:light_float:colour", "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones base together"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_SOUTH:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:light_float:colour", "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones down"; //$NON-NLS-1$
-				break;
-
-			case SeaMark.CARD_WEST:
-				Main.main.undoRedo.add(new ChangePropertyCommand(node,
-						"seamark:light_float:colour", "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$
-				shape = "2 cones point together"; //$NON-NLS-1$
-				break;
-			}
-			Main.main.undoRedo.add(new ChangePropertyCommand(node,
-					"seamark:light_float:colour_pattern", "horizontal stripes")); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		}
-		saveTopMarkData(shape, "black"); //$NON-NLS-1$
-		saveLightData(); //$NON-NLS-1$
-		saveRadarFogData();
-*/	}
-	
+		/*
+		 * Node node = getNode(); if (node == null) { return; }
+		 * 
+		 * String shape = ""; //$NON-NLS-1$
+		 * 
+		 * switch (getStyleIndex()) { case CARD_PILLAR:
+		 * super.saveSign("buoy_cardinal"); //$NON-NLS-1$
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:buoy_cardinal:shape", "pillar")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ break; case CARD_SPAR: super.saveSign("buoy_cardinal");
+		 * //$NON-NLS-1$ Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:buoy_cardinal:shape", "spar")); //$NON-NLS-1$ //$NON-NLS-2$
+		 * break; case CARD_BEACON: super.saveSign("beacon_cardinal");
+		 * //$NON-NLS-1$ break; case CARD_TOWER:
+		 * super.saveSign("beacon_cardinal"); //$NON-NLS-1$
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:beacon_cardinal:shape", "tower")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ break; case CARD_FLOAT: super.saveSign("light_float");
+		 * //$NON-NLS-1$ break; default: }
+		 * 
+		 * switch (getStyleIndex()) { case CARD_PILLAR: case CARD_SPAR: switch
+		 * (getMarkIndex()) { case SeaMark.CARD_NORTH:
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:buoy_cardinal:category", "north")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:buoy_cardinal:colour", "black;yellow")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ shape = "2 cones up"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_EAST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:category",
+		 * "east")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:colour",
+		 * "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones base together"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_SOUTH: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:category",
+		 * "south")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:colour",
+		 * "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape = "2 cones down";
+		 * //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_WEST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:category",
+		 * "west")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:buoy_cardinal:colour",
+		 * "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones point together"; //$NON-NLS-1$ break; }
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:buoy_cardinal:colour_pattern", "horizontal stripes"));
+		 * //$NON-NLS-1$ //$NON-NLS-2$ break; case CARD_BEACON: case CARD_TOWER:
+		 * switch (getMarkIndex()) { case SeaMark.CARD_NORTH:
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:beacon_cardinal:category", "north")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:beacon_cardinal:colour", "black;yellow")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ shape = "2 cones up"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_EAST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:category",
+		 * "east")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:colour",
+		 * "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones base together"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_SOUTH: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:category",
+		 * "south")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:colour",
+		 * "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape = "2 cones down";
+		 * //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_WEST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:category",
+		 * "west")); //$NON-NLS-1$ //$NON-NLS-2$ Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:beacon_cardinal:colour",
+		 * "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones point together"; //$NON-NLS-1$ break; }
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:beacon_cardinal:colour_pattern", "horizontal stripes"));
+		 * //$NON-NLS-1$ //$NON-NLS-2$ break; case CARD_FLOAT: switch
+		 * (getMarkIndex()) { case SeaMark.CARD_NORTH:
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:light_float:colour", "black;yellow")); //$NON-NLS-1$
+		 * //$NON-NLS-2$ shape = "2 cones up"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_EAST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:light_float:colour",
+		 * "black;yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones base together"; //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_SOUTH: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:light_float:colour",
+		 * "yellow;black")); //$NON-NLS-1$ //$NON-NLS-2$ shape = "2 cones down";
+		 * //$NON-NLS-1$ break;
+		 * 
+		 * case SeaMark.CARD_WEST: Main.main.undoRedo.add(new
+		 * ChangePropertyCommand(node, "seamark:light_float:colour",
+		 * "yellow;black;yellow")); //$NON-NLS-1$ //$NON-NLS-2$ shape =
+		 * "2 cones point together"; //$NON-NLS-1$ break; }
+		 * Main.main.undoRedo.add(new ChangePropertyCommand(node,
+		 * "seamark:light_float:colour_pattern", "horizontal stripes"));
+		 * //$NON-NLS-1$ //$NON-NLS-2$ break; } saveTopMarkData(shape, "black");
+		 * //$NON-NLS-1$ saveLightData(); //$NON-NLS-1$ saveRadarFogData();
+		 */}
+
 }
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkUkn.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkUkn.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/MarkUkn.java	(revision 24799)
@@ -1,11 +1,22 @@
 package oseam.seamarks;
+
+import java.util.Map;
+
+import javax.swing.ButtonGroup;
+
+import org.openstreetmap.josm.data.osm.Node;
 
 import oseam.dialogs.OSeaMAction;
 
 public class MarkUkn extends SeaMark {
-	public MarkUkn(OSeaMAction dia, String Msg) {
+	public MarkUkn(OSeaMAction dia, Node node) {
 		super(dia);
-//		dlg.cbM01TypeOfMark.setSelectedIndex(0);
-		setErrMsg(Msg);
+
+		String str;
+		Map<String, String> keys;
+		keys = node.getKeys();
+		setNode(node);
+
+		dlg.panelMain.clearSelections();
 	}
 
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 24793)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 24799)
@@ -152,7 +152,6 @@
 	}
 
-	public void setValid(boolean valid) {
-		this.valid = valid;
-
+	public void setValid(boolean val) {
+		valid = val;
 	}
 
