diff options
author | Daniel Cohen Gindi <danielgindi@gmail.com> | 2016-08-08 09:46:06 +0300 |
---|---|---|
committer | Daniel Cohen Gindi <danielgindi@gmail.com> | 2016-08-08 09:56:04 +0300 |
commit | 79f5ed02004e8a80f1c4ecfc5cefa50d75dc9703 (patch) | |
tree | ff01b06f97becb1af98c9d95fe07b3eee7ec4294 /MPChartLib | |
parent | 99379d7bcffd3247bde40fbe06bab8ec58066586 (diff) | |
download | MPAndroidChart-79f5ed02004e8a80f1c4ecfc5cefa50d75dc9703.tar.gz |
Simplified scatter shape enum model
(Why would anyone try to subclass an enum?)
Diffstat (limited to 'MPChartLib')
3 files changed, 28 insertions, 69 deletions
diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/ScatterChart.java b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/ScatterChart.java index 0f68457b..decf1e85 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/ScatterChart.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/ScatterChart.java @@ -48,7 +48,12 @@ public class ScatterChart extends BarLineChartBase<ScatterData> implements Scatt */ public enum ScatterShape { - SQUARE("SQUARE"), CIRCLE("CIRCLE"), TRIANGLE("TRIANGLE"), CROSS("CROSS"), X("X"), CHEVRON_UP("CHEVRON_UP"), + SQUARE("SQUARE"), + CIRCLE("CIRCLE"), + TRIANGLE("TRIANGLE"), + CROSS("CROSS"), + X("X"), + CHEVRON_UP("CHEVRON_UP"), CHEVRON_DOWN("CHEVRON_DOWN"); private final String shapeIdentifier; diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/data/ScatterDataSet.java b/MPChartLib/src/main/java/com/github/mikephil/charting/data/ScatterDataSet.java index 446bce3b..a9d73885 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/data/ScatterDataSet.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/data/ScatterDataSet.java @@ -3,10 +3,15 @@ package com.github.mikephil.charting.data; import com.github.mikephil.charting.charts.ScatterChart; import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet; +import com.github.mikephil.charting.renderer.scatter.ChevronDownShapeRenderer; +import com.github.mikephil.charting.renderer.scatter.ChevronUpShapeRenderer; +import com.github.mikephil.charting.renderer.scatter.CircleShapeRenderer; +import com.github.mikephil.charting.renderer.scatter.CrossShapeRenderer; import com.github.mikephil.charting.renderer.scatter.IShapeRenderer; import com.github.mikephil.charting.renderer.scatter.SquareShapeRenderer; +import com.github.mikephil.charting.renderer.scatter.TriangleShapeRenderer; +import com.github.mikephil.charting.renderer.scatter.XShapeRenderer; import com.github.mikephil.charting.utils.ColorTemplate; -import com.github.mikephil.charting.utils.ShapeRendererHandler; import java.util.ArrayList; import java.util.List; @@ -36,11 +41,6 @@ public class ScatterDataSet extends LineScatterCandleRadarDataSet<Entry> impleme */ private int mScatterShapeHoleColor = ColorTemplate.COLOR_NONE; - /** - * Custom path object the user can provide that is drawn where the values - * are at. This is used when ScatterShape.CUSTOM is set for a DataSet. - */ - //private Path mCustomScatterPath = null; public ScatterDataSet(List<Entry> yVals, String label) { super(yVals, label); } @@ -91,9 +91,7 @@ public class ScatterDataSet extends LineScatterCandleRadarDataSet<Entry> impleme * @param shape */ public void setScatterShape(ScatterChart.ScatterShape shape) { - - ShapeRendererHandler handler = new ShapeRendererHandler(); - mShapeRenderer = handler.getShapeRenderer(shape); + mShapeRenderer = getRendererForShape(shape); } /** @@ -139,4 +137,19 @@ public class ScatterDataSet extends LineScatterCandleRadarDataSet<Entry> impleme public int getScatterShapeHoleColor() { return mScatterShapeHoleColor; } + + public static IShapeRenderer getRendererForShape(ScatterChart.ScatterShape shape) { + + switch (shape) { + case SQUARE: return new SquareShapeRenderer(); + case CIRCLE: return new CircleShapeRenderer(); + case TRIANGLE: return new TriangleShapeRenderer(); + case CROSS: return new CrossShapeRenderer(); + case X: return new XShapeRenderer(); + case CHEVRON_UP: return new ChevronUpShapeRenderer(); + case CHEVRON_DOWN: return new ChevronDownShapeRenderer(); + } + + return null; + } } diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/utils/ShapeRendererHandler.java b/MPChartLib/src/main/java/com/github/mikephil/charting/utils/ShapeRendererHandler.java deleted file mode 100644 index c2093e6e..00000000 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/utils/ShapeRendererHandler.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.github.mikephil.charting.utils; - -import com.github.mikephil.charting.charts.ScatterChart; -import com.github.mikephil.charting.renderer.scatter.ChevronDownShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.ChevronUpShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.CircleShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.CrossShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.IShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.SquareShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.TriangleShapeRenderer; -import com.github.mikephil.charting.renderer.scatter.XShapeRenderer; - -import java.util.HashMap; - -/** - * Created by Philipp Jahoda on 27/06/16. - * Class allowing to determine the corresponding IShapeRenderer for a given ScatterShape. - */ -public final class ShapeRendererHandler { - - /** - * Dictionary of IShapeRenderer which are responsible for drawing custom shapes. - * Can add to it your custom shapes. - * CustomShapeRenderer Implements IShapeRenderer{} - */ - protected HashMap<String, IShapeRenderer> shapeRendererList; - - /** - * Constructor - */ - public ShapeRendererHandler() { - initShapeRenderers(); - } - - /** - * Returns the corresponding IShapeRenderer for a given ScatterShape. - * - * @param shape - * @return - */ - public IShapeRenderer getShapeRenderer(ScatterChart.ScatterShape shape) { - return shapeRendererList.get(shape.toString()); - } - - /** - * Init default ShapeRenderers. - */ - protected void initShapeRenderers() { - shapeRendererList = new HashMap<>(); - - shapeRendererList.put(ScatterChart.ScatterShape.SQUARE.toString(), new SquareShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.CIRCLE.toString(), new CircleShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.TRIANGLE.toString(), new TriangleShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.CROSS.toString(), new CrossShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.X.toString(), new XShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.CHEVRON_UP.toString(), new ChevronUpShapeRenderer()); - shapeRendererList.put(ScatterChart.ScatterShape.CHEVRON_DOWN.toString(), new ChevronDownShapeRenderer()); - } -} |