Index: /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 8967)
+++ /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 8968)
@@ -8,6 +8,11 @@
 import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
 
+/**
+ * Global mappaint settings.
+ * @since 2675
+ */
 public final class MapPaintSettings implements PreferenceChangedListener {
 
+    /** The unique instance **/
     public static final MapPaintSettings INSTANCE = new MapPaintSettings();
 
@@ -17,4 +22,5 @@
     /** Preference: should arrows for oneways be displayed */
     private boolean showOnewayArrow;
+    /** Preference: default width for ways segments */
     private int defaultSegmentWidth;
     /** Preference: should the segment numbers of ways be displayed */
@@ -41,4 +47,5 @@
     /** Preference: should multiply connected nodes be filled */
     private boolean fillConnectionNode;
+    /** Preference: should only the data area outline be drawn */
     private boolean outlineOnly;
     /** Color Preference for selected objects */
@@ -82,5 +89,4 @@
         }
 
-
         showOrderNumber = Main.pref.getBoolean("draw.segment.order_number", false);
         showHeadArrowOnly = Main.pref.getBoolean("draw.segment.head_only", false);
@@ -100,5 +106,4 @@
 
         outlineOnly = Main.pref.getBoolean("draw.data.area_outline_only", false);
-
     }
 
@@ -108,116 +113,234 @@
     }
 
+    /**
+     * Determines if the real width of ways should be used
+     * @return {@code true} if the real width of ways should be used
+     */
     public boolean isUseRealWidth() {
         return useRealWidth;
     }
 
+    /**
+     * Determines if directional arrows should be displayed
+     * @return {@code true} if directional arrows should be displayed
+     */
     public boolean isShowDirectionArrow() {
         return showDirectionArrow;
     }
 
+    /**
+     * Determines if arrows for oneways should be displayed
+     * @return {@code true} if arrows for oneways should be displayed
+     */
     public boolean isShowOnewayArrow() {
         return showOnewayArrow;
     }
 
+    /**
+     * Returns color for selected objects (nodes and ways)
+     * @return color for selected objects
+     */
     public Color getSelectedColor() {
         return selectedColor;
     }
 
+    /**
+     * Returns color for selected objects (nodes and ways) with a given alpha
+     * @param alpha alpha component in the range 0-255
+     * @return color for selected objects
+     */
+    public Color getSelectedColor(int alpha) {
+        return new Color(selectedColor.getRGB() & 0x00ffffff | (alpha << 24), true);
+    }
+
+    /**
+     * Returns default width for ways segments
+     * @return default width for ways segments
+     */
     public int getDefaultSegmentWidth() {
         return defaultSegmentWidth;
     }
 
-    public Color getSelectedColor(int alpha) {
-        return new Color(selectedColor.getRGB() & 0x00ffffff | (alpha << 24), true);
-    }
-
+    /**
+     * Returns color for selected relations
+     * @return color for selected relations
+     */
     public Color getRelationSelectedColor() {
         return relationSelectedColor;
     }
 
+    /**
+     * Returns color for selected relations with a given alpha
+     * @param alpha alpha component in the range 0-255
+     * @return color for selected relations
+     */
     public Color getRelationSelectedColor(int alpha) {
         return new Color(relationSelectedColor.getRGB() & 0x00ffffff | (alpha << 24), true);
     }
 
+    /**
+     * Returns color for hightlighted objects
+     * @return color for hightlighted objects
+     */
     public Color getHighlightColor() {
         return highlightColor;
     }
 
+    /**
+     * Returns color for inactive objects
+     * @return color for inactive objects
+     */
     public Color getInactiveColor() {
         return inactiveColor;
     }
 
+    /**
+     * Returns color for nodes
+     * @return color for nodes
+     */
     public Color getNodeColor() {
         return nodeColor;
     }
 
+    /**
+     * Returns color for tagged nodes
+     * @return color for tagged nodes
+     */
     public Color getTaggedColor() {
         return taggedColor;
     }
 
+    /**
+     * Returns color for multiply connected nodes
+     * @return color for multiply connected nodes
+     */
     public Color getConnectionColor() {
         return connectionColor;
     }
 
+    /**
+     * Returns color for tagged and multiply connected nodes
+     * @return color for tagged and multiply connected nodes
+     */
     public Color getTaggedConnectionColor() {
         return taggedConnectionColor;
     }
 
+    /**
+     * Determines if the segment numbers of ways should be displayed
+     * @return {@code true} if the segment numbers of ways should be displayed
+     */
     public boolean isShowOrderNumber() {
         return showOrderNumber;
     }
 
+    /**
+     * Specifies if only the last arrow of a way should be displayed
+     * @param showHeadArrowOnly {@code true} if only the last arrow of a way should be displayed
+     */
     public void setShowHeadArrowOnly(boolean showHeadArrowOnly) {
         this.showHeadArrowOnly = showHeadArrowOnly;
     }
 
+    /**
+     * Determines if only the last arrow of a way should be displayed
+     * @return {@code true} if only the last arrow of a way should be displayed
+     */
     public boolean isShowHeadArrowOnly() {
         return showHeadArrowOnly;
     }
 
+    /**
+     * Returns the distance at which names should be drawn
+     * @return the distance at which names should be drawn
+     */
     public int getShowNamesDistance() {
         return showNamesDistance;
     }
 
+    /**
+     * Returns the distance at which strokes should be used
+     * @return the distance at which strokes should be used
+     */
     public int getUseStrokesDistance() {
         return useStrokesDistance;
     }
 
+    /**
+     * Returns the distance at which icons should be drawn
+     * @return the distance at which icons should be drawn
+     */
     public int getShowIconsDistance() {
         return showIconsDistance;
     }
 
+    /**
+     * Returns the size of selected nodes
+     * @return the size of selected nodes
+     */
     public int getSelectedNodeSize() {
         return selectedNodeSize;
     }
 
+    /**
+     * Returns the size of multiply connected nodes
+     * @return the size of multiply connected nodes
+     */
     public int getConnectionNodeSize() {
         return connectionNodeSize;
     }
 
+    /**
+     * Returns the size of unselected nodes
+     * @return the size of unselected nodes
+     */
     public int getUnselectedNodeSize() {
         return unselectedNodeSize;
     }
 
+    /**
+     * Returns the size of tagged nodes
+     * @return the size of tagged nodes
+     */
     public int getTaggedNodeSize() {
         return taggedNodeSize;
     }
 
+    /**
+     * Determines if selected nodes should be filled
+     * @return {@code true} if selected nodes should be filled
+     */
     public boolean isFillSelectedNode() {
         return fillSelectedNode;
     }
 
+    /**
+     * Determines if unselected nodes should be filled
+     * @return {@code true} if unselected nodes should be filled
+     */
     public boolean isFillUnselectedNode() {
         return fillUnselectedNode;
     }
 
+    /**
+     * Determines if multiply connected nodes should be filled
+     * @return {@code true} if multiply connected nodes should be filled
+     */
     public boolean isFillConnectionNode() {
         return fillConnectionNode;
     }
 
+    /**
+     * Determines if tagged nodes should be filled
+     * @return {@code true} if tagged nodes should be filled
+     */
     public boolean isFillTaggedNode() {
         return fillTaggedNode;
     }
 
+    /**
+     * Determines if only the data area outline should be drawn
+     * @return {@code true} if only the data area outline should be drawn
+     */
     public boolean isOutlineOnly() {
         return outlineOnly;
