From c4a9807748f471e408e085b29419f78aa49e381a Mon Sep 17 00:00:00 2001
From: Michael Stummvoll <michael@stummi.org>
Date: Wed, 19 Feb 2014 21:55:56 +0100
Subject: [PATCH] Obtain the StyleManager from the ChartPainter.

---
 .../xeiam/xchart/internal/chartpart/ChartPainter.java  |  2 +-
 .../java/com/xeiam/xchart/internal/chartpart/Plot.java | 10 +++-------
 .../xchart/internal/chartpart/PlotContentBarChart.java |  8 +++-----
 .../internal/chartpart/PlotContentLineChart.java       |  7 +++----
 4 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
index 35968240..ccc1e09d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
@@ -54,7 +54,7 @@ public class ChartPainter {
 
     chartLegend = new Legend(this);
     axisPair = new AxisPair(this);
-    plot = new Plot(this, styleManager);
+    plot = new Plot(this);
     chartTitle = new ChartTitle(this);
   }
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
index 8677fd0b..59be2c9f 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
@@ -18,7 +18,6 @@ package com.xeiam.xchart.internal.chartpart;
 import java.awt.Graphics2D;
 import java.awt.geom.Rectangle2D;
 
-import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.StyleManager.ChartType;
 
 /**
@@ -36,18 +35,15 @@ public class Plot implements ChartPart {
 
   private PlotContent plotContent;
 
-  private StyleManager styleManager;
-
   /**
    * Constructor
    * 
    * @param chartPainter
    */
-  public Plot(ChartPainter chartPainter, StyleManager styleManager) {
+  public Plot(ChartPainter chartPainter) {
 
     this.chartPainter = chartPainter;
     this.plotSurface = new PlotSurface(this);
-    this.styleManager = styleManager;
 
   }
 
@@ -80,10 +76,10 @@ public class Plot implements ChartPart {
 
     plotSurface.paint(g);
     if (getChartPainter().getStyleManager().getChartType() == ChartType.Bar) {
-      this.plotContent = new PlotContentBarChart(this, styleManager);
+      this.plotContent = new PlotContentBarChart(this);
     }
     else {
-      this.plotContent = new PlotContentLineChart(this, styleManager);
+      this.plotContent = new PlotContentLineChart(this);
     }
     plotContent.paint(g);
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
index a9706c85..dd3ed685 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
@@ -32,24 +32,22 @@ import com.xeiam.xchart.internal.Utils;
  */
 public class PlotContentBarChart extends PlotContent {
 
-  private StyleManager styleManager;
-
   /**
    * Constructor
    * 
    * @param plot
    */
-  protected PlotContentBarChart(Plot plot, StyleManager styleManager) {
+  protected PlotContentBarChart(Plot plot) {
 
     super(plot);
-    this.styleManager = styleManager;
   }
 
   @Override
   public void paint(Graphics2D g) {
 
     Rectangle2D bounds = plot.getBounds();
-
+    StyleManager styleManager = plot.getChartPainter().getStyleManager();
+    
     // X-Axis
     int xTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getWidth());
     int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
index 6f4bae54..9862a20c 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
@@ -35,22 +35,21 @@ import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
  */
 public class PlotContentLineChart extends PlotContent {
 
-  private StyleManager styleManager;
-
   /**
    * Constructor
    * 
    * @param plot
    */
-  protected PlotContentLineChart(Plot plot, StyleManager styleManager) {
+  protected PlotContentLineChart(Plot plot) {
+
     super(plot);
-    this.styleManager = styleManager;
   }
 
   @Override
   public void paint(Graphics2D g) {
 
     Rectangle2D bounds = plot.getBounds();
+    StyleManager styleManager = plot.getChartPainter().getStyleManager();
 
     // X-Axis
     int xTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getWidth());
-- 
GitLab