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 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java	(revision 26561)
@@ -3,14 +3,11 @@
 import oseam.panels.*;
 
-import java.awt.Dimension;
-import java.util.Collection;
-
-import javax.swing.JPanel;
+import java.awt.*;
+import java.util.*;
+import javax.swing.*;
 
 import org.openstreetmap.josm.Main;
-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.data.*;
+import org.openstreetmap.josm.data.osm.*;
 
 import oseam.Messages;
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java	(revision 26561)
@@ -1,27 +1,11 @@
 package oseam.panels;
 
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.panels.PanelPort;
-import oseam.panels.PanelStbd;
-import oseam.panels.PanelSaw;
-import oseam.seamarks.SeaMark.Cat;
-import oseam.seamarks.SeaMark.Col;
-import oseam.seamarks.SeaMark.Pat;
-import oseam.seamarks.SeaMark.Ent;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Reg;
-
-import java.awt.event.ActionListener;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelChan extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChr.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChr.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChr.java	(revision 26561)
@@ -3,24 +3,15 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Color;
-import java.awt.Rectangle;
-import java.awt.event.ActionListener;
+import java.awt.*;
+import java.awt.event.*;
 
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-import javax.swing.ImageIcon;
-import javax.swing.JToggleButton;
-import javax.swing.JLabel;
-import javax.swing.JTextField;
-import javax.swing.SwingConstants;
+import javax.swing.*;
 
-import java.util.EnumMap;
-import java.util.EnumSet;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark;
-import oseam.seamarks.Light;
-import oseam.seamarks.Light.Chr;
+import oseam.seamarks.*;
+import oseam.seamarks.Light.*;
 
 public class PanelChr extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26561)
@@ -3,24 +3,17 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Color;
-import java.awt.Rectangle;
-import java.awt.event.ActionListener;
-
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Col;
-import oseam.seamarks.SeaMark.Ent;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelCol extends JPanel {
 
 	private OSeaMAction dlg;
+	private ActionListener act;
 	private Ent ent;
 	private ButtonGroup colourButtons = new ButtonGroup();
@@ -41,6 +34,8 @@
 				JRadioButton button = colours.get(col);
 				if (button.isSelected()) {
-					if (dlg.mark != null)
+					if (dlg.mark != null) {
 						dlg.mark.setColour(ent, col);
+						act.actionPerformed(null);
+					}
 					button.setBorderPainted(true);
 				} else
@@ -50,6 +45,7 @@
 	};
 
-	public PanelCol(OSeaMAction dia, Ent entity) {
+	public PanelCol(OSeaMAction dia, ActionListener al, Ent entity) {
 		dlg = dia;
+		act = al;
 		ent = entity;
 		this.setLayout(null);
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelFog.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelFog.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelFog.java	(revision 26561)
@@ -1,24 +1,11 @@
 package oseam.panels;
 
-import javax.swing.JPanel;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Rectangle;
-import java.awt.Font;
-
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JLabel;
-import javax.swing.JTextField;
-import javax.swing.JComboBox;
-import javax.swing.JCheckBox;
-import javax.swing.JRadioButton;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
 
-import java.awt.Cursor;
-import java.awt.event.ActionListener;
 
 public class PanelFog extends JPanel {
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 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 26561)
@@ -1,24 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-
-import java.util.EnumMap;
+import java.awt.event.*;
+import java.awt.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Cat;
-import oseam.seamarks.SeaMark.Col;
-import oseam.seamarks.SeaMark.Ent;
-import oseam.seamarks.SeaMark.Pat;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Obj;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelHaz extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 26561)
@@ -1,20 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-
-import java.util.EnumMap;
+import java.awt.event.*;
+import java.awt.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Cat;
-import oseam.seamarks.SeaMark.Obj;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelLights extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 26561)
@@ -1,21 +1,11 @@
 package oseam.panels;
 
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JTextField;
-import javax.swing.JComboBox;
-import javax.swing.SwingConstants;
-
-import java.awt.Color;
-import java.awt.Rectangle;
-import java.awt.event.ActionListener;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Ent;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelLit extends JPanel {
@@ -61,5 +51,5 @@
 		panelChr = new PanelChr(dlg);
 		panelChr.setBounds(new Rectangle(0, 0, 88, 160));
-		panelCol = new PanelCol(dlg, Ent.LIGHT);
+		panelCol = new PanelCol(dlg, alType, Ent.LIGHT);
 		panelCol.setBounds(new Rectangle(88, 0, 34, 160));
 		panelCol.blackButton.setVisible(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 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 26561)
@@ -3,19 +3,11 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Color;
-import java.awt.Rectangle;
-import java.awt.event.ActionListener;
-
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JTextField;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelMain extends JPanel {
@@ -50,4 +42,5 @@
 	public PanelSpec panelSpec = null;
 	public PanelLights panelLights = null;
+	public PanelMore panelMore = null;
 	public PanelTop panelTop = null;
 	public PanelFog panelFog = null;
@@ -70,4 +63,7 @@
 		panelLights.setBounds(new Rectangle(65, 0, 165, 160));
 		panelLights.setVisible(false);
+		panelMore = new PanelMore(dlg);
+		panelMore.setBounds(new Rectangle(40, 165, 360, 160));
+		panelMore.setVisible(false);
 		panelTop = new PanelTop(dlg);
 		panelTop.setBounds(new Rectangle(40, 165, 360, 160));
@@ -138,10 +134,15 @@
 				}
 				if (specButton.isSelected()) {
-					dlg.panelMain.panelSpec.panelCol.yellowButton.doClick();
-					if ((dlg.mark != null) && (dlg.panelMain.panelSpec.shapes.containsKey(dlg.mark.getShape()))) {
-						dlg.panelMain.panelSpec.shapes.get(dlg.mark.getShape()).doClick();
-					} else {
-						dlg.panelMain.panelSpec.shapeButtons.clearSelection();
-						dlg.panelMain.panelSpec.alShape.actionPerformed(null);
+					if (dlg.mark != null) {
+						if (dlg.mark.getObject() == Obj.UNKNOWN) {
+							panelSpec.clearSelections();
+							panelSpec.panelCol.yellowButton.doClick();
+						}
+						if (panelSpec.shapes.containsKey(dlg.mark.getShape())) {
+							panelSpec.shapes.get(dlg.mark.getShape()).doClick();
+						} else {
+							panelSpec.shapeButtons.clearSelection();
+							panelSpec.alShape.actionPerformed(null);
+						}
 					}
 					specButton.setBorderPainted(true);
@@ -184,4 +185,6 @@
 				}
 				if (topButton.isSelected()) {
+					moreButton.setText("v v v");
+					panelMore.setVisible(false);
 					topButton.setBorderPainted(true);
 					panelTop.setVisible(true);
@@ -191,4 +194,6 @@
 				}
 				if (fogButton.isSelected()) {
+					moreButton.setText("v v v");
+					panelMore.setVisible(false);
 					fogButton.setBorderPainted(true);
 					panelFog.setVisible(true);
@@ -198,4 +203,6 @@
 				}
 				if (radButton.isSelected()) {
+					moreButton.setText("v v v");
+					panelMore.setVisible(false);
 					radButton.setBorderPainted(true);
 					panelRadar.setVisible(true);
@@ -205,4 +212,6 @@
 				}
 				if (litButton.isSelected()) {
+					moreButton.setText("v v v");
+					panelMore.setVisible(false);
 					litButton.setBorderPainted(true);
 					panelLit.setVisible(true);
@@ -247,17 +256,41 @@
 		};
 		saveButton.addActionListener(alSave);
-		
+
 		moreButton = new JButton();
-		moreButton.setBounds(new Rectangle(230, 145, 50, 15));
-		moreButton.setText("more...");
+		moreButton.setBounds(new Rectangle(357, 145, 38, 15));
+		moreButton.setMargin(new Insets(0, 0, 0, 0));
+		moreButton.setText("v v v");
 		this.add(moreButton, null);
 		alMore = new ActionListener() {
 			public void actionPerformed(java.awt.event.ActionEvent e) {
+				if (panelMore.isVisible()) {
+					moreButton.setText("v v v");
+					panelMore.setVisible(false);
+					if (topButton.isSelected())
+						panelTop.setVisible(true);
+					if (radButton.isSelected())
+						panelRadar.setVisible(true);
+					if (fogButton.isSelected())
+						panelFog.setVisible(true);
+					if (litButton.isSelected())
+						panelLit.setVisible(true);
+				} else {
+					panelMore.setVisible(true);
+					moreButton.setText("^ ^ ^");
+					if (topButton.isSelected())
+						panelTop.setVisible(false);
+					if (radButton.isSelected())
+						panelRadar.setVisible(false);
+					if (fogButton.isSelected())
+						panelFog.setVisible(false);
+					if (litButton.isSelected())
+						panelLit.setVisible(false);
+				}
 			}
 		};
 		moreButton.addActionListener(alMore);
-		
+
 		this.clearSelections();
-		
+
 	}
 
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java	(revision 26561)
@@ -1,25 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Cat;
-import oseam.seamarks.SeaMark.Col;
-import oseam.seamarks.SeaMark.Pat;
-import oseam.seamarks.SeaMark.Ent;
-import oseam.seamarks.SeaMark.Reg;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Obj;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelPort extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelRadar.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelRadar.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelRadar.java	(revision 26561)
@@ -1,5 +1,8 @@
 package oseam.panels;
 
-import javax.swing.JPanel;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.dialogs.OSeaMAction;
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java	(revision 26561)
@@ -1,20 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Obj;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelSaw extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java	(revision 26561)
@@ -1,13 +1,8 @@
 package oseam.panels;
 
-import javax.swing.ImageIcon;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.JButton;
-import javax.swing.table.AbstractTableModel;
-
-import java.awt.event.ActionListener;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.seamarks.Light;
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java	(revision 26561)
@@ -1,22 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Obj;
-import oseam.seamarks.SeaMark.Ent;
-import oseam.seamarks.SeaMark.Col;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelSpec extends JPanel {
@@ -46,5 +36,5 @@
 					dlg.mark.setShape(shp);
 					dlg.mark.setObject(objects.get(shp));
-					if (button == cairnButton)
+					if ((button == cairnButton) && !(panelCol.offButton.isSelected()))
 						panelCol.offButton.doClick();
 					button.setBorderPainted(true);
@@ -59,25 +49,26 @@
 	public PanelSpec(OSeaMAction dia) {
 		dlg = dia;
-		panelCol = new PanelCol(dlg, Ent.BODY);
-		panelCol.setBounds(new Rectangle(9, 0, 34, 160));
+		panelCol = new PanelCol(dlg, alShape, Ent.BODY);
+		panelCol.setBounds(new Rectangle(0, 0, 34, 160));
 
 		this.setLayout(null);
 		this.add(panelCol, null);
-		this.add(getShapeButton(pillarButton, 55, 0, 34, 32, "Pillar", Shp.PILLAR, Obj.BOYSPP), null);
-		this.add(getShapeButton(sparButton, 55, 32, 34, 32, "Spar", Shp.SPAR, Obj.BOYSPP), null);
-		this.add(getShapeButton(canButton, 55, 64, 34, 32, "Can", Shp.CAN, Obj.BOYSPP), null);
-		this.add(getShapeButton(coneButton, 55, 96, 34, 32, "Cone", Shp.CONE, Obj.BOYSPP), null);
-		this.add(getShapeButton(sphereButton, 55, 128, 34, 32, "Sphere", Shp.SPHERE, Obj.BOYSPP), null);
-		this.add(getShapeButton(barrelButton, 90, 0, 34, 32, "Barrel", Shp.BARREL, Obj.BOYSPP), null);
-		this.add(getShapeButton(superButton, 90, 32, 34, 32, "Super", Shp.SUPER, Obj.BOYSPP), null);
-		this.add(getShapeButton(floatButton, 90, 64, 34, 32, "Float", Shp.FLOAT, Obj.LITFLT), null);
-		this.add(getShapeButton(beaconButton, 90, 96, 34, 32, "Beacon", Shp.BEACON, Obj.BCNSPP), null);
-		this.add(getShapeButton(towerButton, 90, 128, 34, 32, "Tower", Shp.TOWER, Obj.BCNSPP), null);
-		this.add(getShapeButton(stakeButton, 125, 0, 34, 32, "Stake", Shp.STAKE, Obj.BCNSPP), null);
-		this.add(getShapeButton(cairnButton, 125, 32, 34, 32, "Cairn", Shp.CAIRN, Obj.BCNSPP), null);
+		this.add(getShapeButton(pillarButton, 35, 0, 34, 32, "Pillar", Shp.PILLAR, Obj.BOYSPP), null);
+		this.add(getShapeButton(sparButton, 35, 32, 34, 32, "Spar", Shp.SPAR, Obj.BOYSPP), null);
+		this.add(getShapeButton(canButton, 35, 64, 34, 32, "Can", Shp.CAN, Obj.BOYSPP), null);
+		this.add(getShapeButton(coneButton, 35, 96, 34, 32, "Cone", Shp.CONE, Obj.BOYSPP), null);
+		this.add(getShapeButton(sphereButton, 70, 0, 34, 32, "Sphere", Shp.SPHERE, Obj.BOYSPP), null);
+		this.add(getShapeButton(barrelButton, 70, 32, 34, 32, "Barrel", Shp.BARREL, Obj.BOYSPP), null);
+		this.add(getShapeButton(superButton, 70, 64, 34, 32, "Super", Shp.SUPER, Obj.BOYSPP), null);
+		this.add(getShapeButton(floatButton, 70, 96, 34, 32, "Float", Shp.FLOAT, Obj.LITFLT), null);
+		this.add(getShapeButton(beaconButton, 105, 0, 34, 32, "Beacon", Shp.BEACON, Obj.BCNSPP), null);
+		this.add(getShapeButton(towerButton, 105, 32, 34, 32, "Tower", Shp.TOWER, Obj.BCNSPP), null);
+		this.add(getShapeButton(stakeButton, 105, 64, 34, 32, "Stake", Shp.STAKE, Obj.BCNSPP), null);
+		this.add(getShapeButton(cairnButton, 105, 96, 34, 32, "Cairn", Shp.CAIRN, Obj.BCNSPP), null);
 	}
 
 	public void clearSelections() {
-
+		shapeButtons.clearSelection();
+		alShape.actionPerformed(null);
 	}
 
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java	(revision 26561)
@@ -1,25 +1,12 @@
 package oseam.panels;
 
-import java.awt.event.ActionListener;
-import java.awt.Color;
-import java.awt.Rectangle;
-
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
-
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Cat;
-import oseam.seamarks.SeaMark.Col;
-import oseam.seamarks.SeaMark.Ent;
-import oseam.seamarks.SeaMark.Pat;
-import oseam.seamarks.SeaMark.Shp;
-import oseam.seamarks.SeaMark.Obj;
-import oseam.seamarks.SeaMark.Reg;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelStbd extends JPanel {
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java	(revision 26561)
@@ -1,20 +1,12 @@
 package oseam.panels;
 
-import javax.swing.JPanel;
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JRadioButton;
-
-import java.awt.Color;
-import java.awt.Rectangle;
-import java.awt.event.ActionListener;
-import java.util.EnumMap;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import oseam.Messages;
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Top;
-import oseam.seamarks.SeaMark.Day;
-import oseam.seamarks.SeaMark.Ent;
+import oseam.seamarks.SeaMark.*;
 
 public class PanelTop extends JPanel {
@@ -68,5 +60,5 @@
 	public PanelTop(OSeaMAction dia) {
 		dlg = dia;
-		panelCol = new PanelCol(dlg, Ent.TOPMARK);
+		panelCol = new PanelCol(dlg, alTop, Ent.TOPMARK);
 		panelCol.setBounds(new Rectangle(0, 0, 34, 160));
 		this.setLayout(null);
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java	(revision 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java	(revision 26561)
@@ -1,15 +1,13 @@
 package oseam.seamarks;
 
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.swing.table.AbstractTableModel;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
+import java.util.regex.*;
+import javax.swing.table.*;
 
 import oseam.dialogs.OSeaMAction;
-import oseam.seamarks.SeaMark.Col;
+import oseam.seamarks.SeaMark.*;
 
 public class Light extends AbstractTableModel {
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 26556)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 26561)
@@ -1,9 +1,8 @@
 package oseam.seamarks;
 
-import javax.swing.ImageIcon;
-
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.Map;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
 
 import org.openstreetmap.josm.Main;
@@ -20,4 +19,5 @@
 	public SeaMark(OSeaMAction dia) {
 		dlg = dia;
+		dlg.panelMain.clearSelections();
 	}
 
@@ -334,9 +334,9 @@
 	public static final EnumMap<Pat, String> PatMAP = new EnumMap<Pat, String>(Pat.class);
 	static {
-		PatMAP.put(Pat.HORIZ, "horizontal stripes");
-		PatMAP.put(Pat.VERT, "vertical stripes");
-		PatMAP.put(Pat.DIAG, "diagonal stripes");
+		PatMAP.put(Pat.HORIZ, "horizontal");
+		PatMAP.put(Pat.VERT, "vertical");
+		PatMAP.put(Pat.DIAG, "diagonal");
 		PatMAP.put(Pat.SQUARE, "squared");
-		PatMAP.put(Pat.BORDER, "border stripe");
+		PatMAP.put(Pat.BORDER, "border");
 	}
 
@@ -822,4 +822,5 @@
 		dlg.panelMain.topIcon.setIcon(null);
 		dlg.panelMain.radarIcon.setIcon(null);
+dlg.panelMain.radarIcon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
 		dlg.panelMain.fogIcon.setIcon(null);
 
@@ -869,52 +870,59 @@
 			break;
 		}
-		if (!imgStr.equals("/images/")) {
-			for (Col col : bodyColour) {
-				switch (col) {
-				case WHITE:
-					imgStr += "_White";
-					break;
-				case RED:
-					imgStr += "_Red";
-					break;
-				case ORANGE:
-					imgStr += "_Orange";
-					break;
-				case AMBER:
-					imgStr += "_Amber";
-					break;
-				case YELLOW:
-					imgStr += "_Yellow";
-					break;
-				case GREEN:
-					imgStr += "_Green";
-					break;
-				case BLUE:
-					imgStr += "_Blue";
-					break;
-				case VIOLET:
-					imgStr += "_Violet";
-					break;
-				case BLACK:
-					imgStr += "_Black";
-					break;
-				}
+		String colStr = imgStr;
+		for (Col col : bodyColour) {
+			switch (col) {
+			case WHITE:
+				colStr += "_White";
+				break;
+			case RED:
+				colStr += "_Red";
+				break;
+			case ORANGE:
+				colStr += "_Orange";
+				break;
+			case AMBER:
+				colStr += "_Amber";
+				break;
+			case YELLOW:
+				colStr += "_Yellow";
+				break;
+			case GREEN:
+				colStr += "_Green";
+				break;
+			case BLUE:
+				colStr += "_Blue";
+				break;
+			case VIOLET:
+				colStr += "_Violet";
+				break;
+			case BLACK:
+				colStr += "_Black";
+				break;
 			}
 		}
 		if (getShape() == Shp.PERCH) {
 			if (getCategory() == Cat.LAT_PORT) {
-				imgStr = "/images/Perch_Port";
+				colStr = "/images/Perch_Port";
 			} else {
-				imgStr = "/images/Perch_Starboard";
+				colStr = "/images/Perch_Starboard";
 			}
 		}
 		if (!imgStr.equals("/images/")) {
-			imgStr += ".png";
-			if (getClass().getResource(imgStr) == null) {
-				System.out.println("Missing image: " + imgStr);
-				return;
+			colStr += ".png";
+			if (getClass().getResource(colStr) == null) {
+				System.out.println("Missing image: " + colStr);
+				imgStr += ".png";
+				if (getClass().getResource(imgStr) == null) {
+					System.out.println("Missing image: " + imgStr);
+					return;
+				} else {
+					dlg.panelMain.shapeIcon.setIcon(new ImageIcon(getClass().getResource(imgStr)));
+				}
 			} else {
-				dlg.panelMain.shapeIcon.setIcon(new ImageIcon(getClass().getResource(imgStr)));
-			}
+				dlg.panelMain.shapeIcon.setIcon(new ImageIcon(getClass().getResource(colStr)));
+			}
+		} else {
+			dlg.panelMain.shapeIcon.setIcon(null);
 		}
 	}
