Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 22999)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23000)
@@ -64,12 +64,12 @@
 	 * lokale Variable, private
 	 */
-	private SmpDialogAction dia = null; // Variable für den Handle von
+	private SmpDialogAction dia = null; // Variable fÃ¼r den Handle von
 																			// SmpDialogAction
-	private Buoy buoy = null; // Variable für Objekte des Typs "Tonne" //
+	private Buoy buoy = null; // Variable fÃ¼r Objekte des Typs "Tonne" //
 														// @jve:decl-index=0:
 	private boolean isOpen = false; // zeigt den Status des Dialogs an
 	private Node onode = null; // gemerkter Knoten
 	private Buoy obuoy = null; // gemerkte Tonne // @jve:decl-index=0:
-	private JMenuItem SmpItem = null; // Info über item in der Werkzeugleiste
+	private JMenuItem SmpItem = null; // Info Ã¼ber item in der Werkzeugleiste
 	private String smt = ""; // value vom key "seamark:type" // @jve:decl-index=0:
 	private String smb = ""; // value vom key "seamark" // @jve:decl-index=0:
@@ -79,5 +79,5 @@
 	private String UserHome = ""; // @jve:decl-index=0:
 
-	// SelectionChangedListner der in die Eventqueue von josm eingehängt wird
+	// SelectionChangedListner der in die Eventqueue von josm eingehÃ¤ngt wird
 	private SelectionChangedListener SmpListener = new SelectionChangedListener() {
 		public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
@@ -146,17 +146,19 @@
 	private JLabel lM01Kennung = null;
 	public JComboBox cbM01Kennung = null;
-	private JLabel lM01Sector = null;
-	public JComboBox cbM01Sector = null;
+	private JLabel lM01Height = null;
+	public JTextField tfM01Height = null;
+	private JLabel lM01Range = null;
 	private JLabel lM01Group = null;
 	public JTextField tfM01Group = null;
 	private JLabel lM01RepeatTime = null;
 	public JTextField tfM01RepeatTime = null;
-	private JLabel lM01Height = null;
+	private JLabel lM01Sector = null;
+	public JComboBox cbM01Sector = null;
+	private JLabel lM01Colour = null;
+	public JComboBox cbM01Colour = null;
 	private JLabel lM01Bearing = null;
 	public JTextField tfM01Bearing = null;
 	public JTextField tfM02Bearing = null;
 	public JTextField tfM01Radius = null;
-	public JTextField tfM01Height = null;
-	private JLabel lM01Range = null;
 	public JTextField tfM01Range = null;
 	public JButton bM01Save = null;
@@ -260,9 +262,9 @@
 		SmpItem.setEnabled(false);
 
-		// Ausprobe: Möglichkeit der Benachrichtigung, wenn etwas neu
+		// Ausprobe: MÃ¶glichkeit der Benachrichtigung, wenn etwas neu
 		// selektiert wird (ueber SelectionChangedListener)
 		// private Collection<? extends OsmPrimitive> sel;
 		// siehe org.openstreetmap.josm.plugins.osb -> OsbLayer.java
-		// Einhängen des Listeners in die Eventqueue von josm
+		// EinhÃ¤ngen des Listeners in die Eventqueue von josm
 		DataSet.selListeners.add(SmpListener);
 		// DataSet.addSelectionListener(SmpListener);
@@ -574,13 +576,18 @@
 			lM01Kennung.setText("Character:");
 
-			lM01Sector = new JLabel();
-			lM01Sector.setBounds(new Rectangle(80, 270, 180, 20));
-			lM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12));
-			lM01Sector.setText("Sector:");
+			lM01Height = new JLabel();
+			lM01Height.setBounds(new Rectangle(10, 270, 100, 20));
+			lM01Height.setFont(new Font("Dialog", Font.PLAIN, 12));
+			lM01Height.setText("Height:         m");
+
+			lM01Range = new JLabel();
+			lM01Range.setBounds(new Rectangle(108, 270, 100, 20));
+			lM01Range.setFont(new Font("Dialog", Font.PLAIN, 12));
+			lM01Range.setText("Range:         M");
 
 			lM01Group = new JLabel();
-			lM01Group.setBounds(new Rectangle(190, 270, 100, 20));
+			lM01Group.setBounds(new Rectangle(204, 270, 100, 20));
 			lM01Group.setFont(new Font("Dialog", Font.PLAIN, 12));
-			lM01Group.setText("Group: (          )");
+			lM01Group.setText("Group: (         )");
 
 			lM01RepeatTime = new JLabel();
@@ -589,18 +596,18 @@
 			lM01RepeatTime.setText("Period:          s");
 
+			lM01Sector = new JLabel();
+			lM01Sector.setBounds(new Rectangle(10, 295, 180, 20));
+			lM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12));
+			lM01Sector.setText("Sector:");
+
+			lM01Colour = new JLabel();
+			lM01Colour.setBounds(new Rectangle(120, 295, 180, 20));
+			lM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12));
+			lM01Colour.setText("Colour:");
+
 			lM01Bearing = new JLabel();
-			lM01Bearing.setBounds(new Rectangle(35, 295, 180, 20));
+			lM01Bearing.setBounds(new Rectangle(228, 295, 180, 20));
 			lM01Bearing.setFont(new Font("Dialog", Font.PLAIN, 12));
-			lM01Bearing.setText("         �-        �, r:");
-
-			lM01Height = new JLabel();
-			lM01Height.setBounds(new Rectangle(190, 295, 100, 20));
-			lM01Height.setFont(new Font("Dialog", Font.PLAIN, 12));
-			lM01Height.setText("Height:           m");
-
-			lM01Range = new JLabel();
-			lM01Range.setBounds(new Rectangle(300, 295, 100, 20));
-			lM01Range.setFont(new Font("Dialog", Font.PLAIN, 12));
-			lM01Range.setText("Range:          M");
+			lM01Bearing.setText("Brg:         ¼-        ¼, r:");
 
 			rbM01RegionA = new JRadioButton("-A", Main.pref.get("tomsplugin.IALA")
@@ -680,8 +687,10 @@
 			pM01SeaMap.add(getCbM01Kennung(), null);
 			pM01SeaMap.add(lM01Kennung, null);
-			pM01SeaMap.add(getCbM01Sector(), null);
 			pM01SeaMap.add(lM01Group, null);
 			pM01SeaMap.add(getTfM01Group(), null);
 			pM01SeaMap.add(lM01Sector, null);
+			pM01SeaMap.add(getCbM01Sector(), null);
+			pM01SeaMap.add(lM01Colour, null);
+			pM01SeaMap.add(getCbM01Colour(), null);
 			pM01SeaMap.add(lM01Bearing, null);
 			pM01SeaMap.add(getTfM01Bearing(), null);
@@ -1069,10 +1078,92 @@
 	}
 
+	private JTextField getTfM01Height() {
+		if (tfM01Height == null) {
+			tfM01Height = new JTextField();
+			tfM01Height.setBounds(new Rectangle(54, 270, 30, 20));
+			tfM01Height.addFocusListener(new FocusAdapter() {
+				public void focusLost(FocusEvent e) {
+					buoy.setName(tfM01Height.getText());
+				}
+			});
+		}
+		return tfM01Height;
+	}
+
+	private JTextField getTfM01Range() {
+		if (tfM01Range == null) {
+			tfM01Range = new JTextField();
+			tfM01Range.setBounds(new Rectangle(151, 270, 30, 20));
+			tfM01Range.addFocusListener(new FocusAdapter() {
+				public void focusLost(FocusEvent e) {
+					buoy.setName(tfM01Range.getText());
+				}
+			});
+		}
+		return tfM01Range;
+	}
+
+	private JTextField getTfM01Group() {
+		if (tfM01Group == null) {
+			tfM01Group = new JTextField();
+			tfM01Group.setBounds(new Rectangle(255, 270, 30, 20));
+			tfM01Group.addFocusListener(new FocusAdapter() {
+				public void focusLost(FocusEvent e) {
+					buoy.setLightGroup(tfM01Group.getText());
+				}
+			});
+		}
+		return tfM01Group;
+	}
+
+	private JTextField getTfM01RepeatTime() {
+		if (tfM01RepeatTime == null) {
+			tfM01RepeatTime = new JTextField();
+			tfM01RepeatTime.setBounds(new Rectangle(345, 270, 30, 20));
+			tfM01RepeatTime.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					String s = tfM01RepeatTime.getText();
+
+					buoy.setLightPeriod(s);
+					buoy.paintSign();
+				}
+			});
+
+			tfM01RepeatTime.addFocusListener(new FocusAdapter() {
+				public void focusLost(FocusEvent e) {
+					String s = tfM01RepeatTime.getText();
+
+					buoy.setLightPeriod(s);
+					buoy.paintSign();
+				}
+			});
+		}
+
+		return tfM01RepeatTime;
+	}
+
+	private JComboBox getCbM01Colour() {
+		if (cbM01Colour == null) {
+			cbM01Colour = new JComboBox();
+			cbM01Colour.setBounds(new Rectangle(165, 295, 40, 20));
+			cbM01Colour.setFont(new Font("Dialog", Font.PLAIN, 12));
+			cbM01Colour.addItem("W");
+			cbM01Colour.addItem("R");
+			cbM01Colour.addItem("G");
+			cbM01Colour.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					int col = cbM01Colour.getSelectedIndex();
+				}
+			});
+		}
+		return cbM01Colour;
+	}
+
 	private JComboBox getCbM01Sector() {
 		if (cbM01Sector == null) {
 			cbM01Sector = new JComboBox();
-			cbM01Sector.setBounds(new Rectangle(120, 270, 50, 20));
+			cbM01Sector.setBounds(new Rectangle(55, 295, 50, 20));
 			cbM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12));
-			cbM01Sector.addItem("0");
+			cbM01Sector.addItem("Com");
 			cbM01Sector.addItem("1");
 			cbM01Sector.addItem("2");
@@ -1093,47 +1184,8 @@
 	}
 
-	private JTextField getTfM01RepeatTime() {
-		if (tfM01RepeatTime == null) {
-			tfM01RepeatTime = new JTextField();
-			tfM01RepeatTime.setBounds(new Rectangle(345, 270, 30, 20));
-			tfM01RepeatTime.addActionListener(new ActionListener() {
-				public void actionPerformed(ActionEvent e) {
-					String s = tfM01RepeatTime.getText();
-
-					buoy.setLightPeriod(s);
-					buoy.paintSign();
-				}
-			});
-
-			tfM01RepeatTime.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					String s = tfM01RepeatTime.getText();
-
-					buoy.setLightPeriod(s);
-					buoy.paintSign();
-				}
-			});
-		}
-
-		return tfM01RepeatTime;
-	}
-
-	private JTextField getTfM01Group() {
-		if (tfM01Group == null) {
-			tfM01Group = new JTextField();
-			tfM01Group.setBounds(new Rectangle(243, 270, 30, 20));
-			tfM01Group.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					buoy.setLightGroup(tfM01Group.getText());
-				}
-			});
-		}
-		return tfM01Group;
-	}
-
 	private JTextField getTfM01Bearing() {
 		if (tfM01Bearing == null) {
 			tfM01Bearing = new JTextField();
-			tfM01Bearing.setBounds(new Rectangle(40, 295, 30, 20));
+			tfM01Bearing.setBounds(new Rectangle(255, 295, 30, 20));
 			tfM01Bearing.addFocusListener(new FocusAdapter() {
 				public void focusLost(FocusEvent e) {
@@ -1148,5 +1200,5 @@
 		if (tfM02Bearing == null) {
 			tfM02Bearing = new JTextField();
-			tfM02Bearing.setBounds(new Rectangle(85, 295, 30, 20));
+			tfM02Bearing.setBounds(new Rectangle(300, 295, 30, 20));
 			tfM02Bearing.addFocusListener(new FocusAdapter() {
 				public void focusLost(FocusEvent e) {
@@ -1161,5 +1213,5 @@
 		if (tfM01Radius == null) {
 			tfM01Radius = new JTextField();
-			tfM01Radius.setBounds(new Rectangle(140, 295, 30, 20));
+			tfM01Radius.setBounds(new Rectangle(355, 295, 30, 20));
 			tfM01Radius.addFocusListener(new FocusAdapter() {
 				public void focusLost(FocusEvent e) {
@@ -1169,30 +1221,4 @@
 		}
 		return tfM01Radius;
-	}
-
-	private JTextField getTfM01Height() {
-		if (tfM01Height == null) {
-			tfM01Height = new JTextField();
-			tfM01Height.setBounds(new Rectangle(243, 295, 30, 20));
-			tfM01Height.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					buoy.setName(tfM01Height.getText());
-				}
-			});
-		}
-		return tfM01Height;
-	}
-
-	private JTextField getTfM01Range() {
-		if (tfM01Range == null) {
-			tfM01Range = new JTextField();
-			tfM01Range.setBounds(new Rectangle(345, 295, 30, 20));
-			tfM01Range.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					buoy.setName(tfM01Range.getText());
-				}
-			});
-		}
-		return tfM01Range;
 	}
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 22999)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23000)
@@ -364,4 +364,9 @@
 		dlg.cbM01Kennung.removeAllItems();
 		dlg.cbM01Kennung.setEnabled(false);
+		dlg.tfM01Height.setText("");
+		dlg.tfM01Height.setEnabled(false);
+		dlg.tfM01Range.setText("");
+		dlg.tfM01Range.setEnabled(false);
+		dlg.cbM01Colour.setEnabled(false);
 		dlg.cbM01Sector.setEnabled(false);
 		dlg.tfM01Group.setText("");
@@ -375,8 +380,4 @@
 		dlg.tfM01Radius.setText("");
 		dlg.tfM01Radius.setEnabled(false);
-		dlg.tfM01Height.setText("");
-		dlg.tfM01Height.setEnabled(false);
-		dlg.tfM01Range.setText("");
-		dlg.tfM01Range.setEnabled(false);
 
 		dlg.bM01Save.setEnabled(false);
