]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/gui/GenericChart.java
Version 9, February 2010
[GpsPrune.git] / tim / prune / gui / GenericChart.java
index 71455eb7ac386cee9bdaa2ab6899bb93ba83b002..ae2feacb81fc5e1728b9230093cfd8767f074bda 100644 (file)
@@ -7,6 +7,8 @@ import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 
 import tim.prune.I18nManager;
+import tim.prune.config.ColourScheme;
+import tim.prune.config.Config;
 import tim.prune.data.TrackInfo;
 
 
@@ -19,9 +21,6 @@ public abstract class GenericChart extends GenericDisplay implements MouseListen
        protected static final int BORDER_WIDTH = 8;
 
        // Colours
-       private static final Color COLOR_BORDER_BG   = Color.WHITE;
-       private static final Color COLOR_CHART_BG    = Color.WHITE;
-       private static final Color COLOR_CHART_LINE  = Color.BLACK;
        private static final Color COLOR_NODATA_TEXT = Color.GRAY;
 
 
@@ -44,26 +43,34 @@ public abstract class GenericChart extends GenericDisplay implements MouseListen
 
        /**
         * Override paint method to draw map
+        * @param inG graphics object
         */
-       public void paint(Graphics g)
+       public void paint(Graphics inG)
        {
-               super.paint(g);
+               super.paint(inG);
                int width = getWidth();
                int height = getHeight();
+               // Get colours
+               ColourScheme colourScheme = Config.getColourScheme();
+               final Color borderColour = colourScheme.getColour(ColourScheme.IDX_BORDERS);
+               final Color backgroundColour = colourScheme.getColour(ColourScheme.IDX_BACKGROUND);
+               final Color insideColour = backgroundColour;
                // border background
-               g.setColor(COLOR_BORDER_BG);
-               g.fillRect(0, 0, width, height);
+               inG.setColor(backgroundColour);
+               inG.fillRect(0, 0, width, height);
                if (width < 2*BORDER_WIDTH || height < 2*BORDER_WIDTH) return;
                // blank graph area, with line border
-               g.setColor(COLOR_CHART_BG);
-               g.fillRect(BORDER_WIDTH, BORDER_WIDTH, width - 2*BORDER_WIDTH, height-2*BORDER_WIDTH);
-               g.setColor(COLOR_CHART_LINE);
-               g.drawRect(BORDER_WIDTH, BORDER_WIDTH, width - 2*BORDER_WIDTH, height-2*BORDER_WIDTH);
+               inG.setColor(insideColour);
+               inG.fillRect(BORDER_WIDTH, BORDER_WIDTH, width - 2*BORDER_WIDTH, height-2*BORDER_WIDTH);
                // Display message if no data to be displayed
                if (_track == null || _track.getNumPoints() <= 0)
                {
-                       g.setColor(COLOR_NODATA_TEXT);
-                       g.drawString(I18nManager.getText("display.nodata"), 50, height/2);
+                       inG.setColor(COLOR_NODATA_TEXT);
+                       inG.drawString(I18nManager.getText("display.nodata"), 50, height/2);
+               }
+               else {
+                       inG.setColor(borderColour);
+                       inG.drawRect(BORDER_WIDTH, BORDER_WIDTH, width - 2*BORDER_WIDTH, height-2*BORDER_WIDTH);
                }
        }