Skip to content

Commit 8b68e1d

Browse files
committed
More unit tests, Fixed bug preventing adding the same series instance against a unique formatter to plots.
1 parent f9cca96 commit 8b68e1d

24 files changed

Lines changed: 284 additions & 79 deletions

androidplot-core/src/main/java/com/androidplot/Plot.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,9 @@ public synchronized boolean addSeries(FormatterType formatter, SeriesType... ser
571571
public synchronized boolean addSeries(SeriesType series, FormatterType formatter) {
572572
Class rendererClass = formatter.getRendererClass();
573573

574-
if(getSeries(series, rendererClass) != null) {
575-
return false;
576-
}
574+
// if(getSeries(series, rendererClass) != null) {
575+
// return false;
576+
// }
577577

578578
// initialize the Renderer if necessary:
579579
if(!getRenderers().containsKey(rendererClass)) {

androidplot-core/src/main/java/com/androidplot/pie/SegmentFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
127127
}
128128

129129
@Override
130-
public SeriesRenderer getRendererInstance(PieChart plot) {
130+
public SeriesRenderer doGetRendererInstance(PieChart plot) {
131131
return new PieRenderer(plot);
132132
}
133133

androidplot-core/src/main/java/com/androidplot/ui/Formatter.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
*/
4040
public abstract class Formatter<PlotType extends Plot> {
4141

42+
private boolean isLegendIconEnabled = true;
43+
4244
public Formatter() {}
4345

4446
public Formatter(Context ctx, int xmlCfgId) {
@@ -49,6 +51,10 @@ public void configure(Context ctx, int xmlCfgId) {
4951
Fig.configure(ctx, this, xmlCfgId);
5052
}
5153

54+
public <T extends SeriesRenderer> T getRendererInstance(PlotType plot) {
55+
return (T) doGetRendererInstance(plot);
56+
}
57+
5258
/**
5359
*
5460
* @return The Class of SeriesRenderer that should be used.
@@ -59,6 +65,17 @@ public void configure(Context ctx, int xmlCfgId) {
5965
*
6066
* @return An instance of SeriesRenderer that took plot as an argument to its constructor.
6167
*/
62-
public abstract SeriesRenderer getRendererInstance(PlotType plot);
68+
protected abstract SeriesRenderer doGetRendererInstance(PlotType plot);
69+
70+
public boolean isLegendIconEnabled() {
71+
return isLegendIconEnabled;
72+
}
6373

74+
/**
75+
* Sets whether or not a legend icon should be drawn for the series associated with this formatter.
76+
* @param legendIconEnabled
77+
*/
78+
public void setLegendIconEnabled(boolean legendIconEnabled) {
79+
this.isLegendIconEnabled = legendIconEnabled;
80+
}
6481
}

androidplot-core/src/main/java/com/androidplot/xy/AdvancedLineAndPointRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
104104
}
105105

106106
@Override
107-
public SeriesRenderer getRendererInstance(XYPlot plot) {
107+
public AdvancedLineAndPointRenderer doGetRendererInstance(XYPlot plot) {
108108
return new AdvancedLineAndPointRenderer(plot);
109109
}
110110

androidplot-core/src/main/java/com/androidplot/xy/BarFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
6969
}
7070

7171
@Override
72-
public SeriesRenderer getRendererInstance(XYPlot plot) {
72+
public SeriesRenderer doGetRendererInstance(XYPlot plot) {
7373
return new BarRenderer(plot);
7474
}
7575
}

androidplot-core/src/main/java/com/androidplot/xy/BubbleFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
7474
}
7575

7676
@Override
77-
public SeriesRenderer getRendererInstance(XYPlot plot) {
77+
public BubbleRenderer doGetRendererInstance(XYPlot plot) {
7878
return new BubbleRenderer(plot);
7979
}
8080

androidplot-core/src/main/java/com/androidplot/xy/CandlestickFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
101101
}
102102

103103
@Override
104-
public SeriesRenderer getRendererInstance(XYPlot plot) {
104+
public SeriesRenderer doGetRendererInstance(XYPlot plot) {
105105
return new CandlestickRenderer(plot);
106106
}
107107

androidplot-core/src/main/java/com/androidplot/xy/FastLineAndPointRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
151151
}
152152

153153
@Override
154-
public SeriesRenderer getRendererInstance(XYPlot plot) {
154+
public SeriesRenderer doGetRendererInstance(XYPlot plot) {
155155
return new FastLineAndPointRenderer(plot);
156156
}
157157
}

androidplot-core/src/main/java/com/androidplot/xy/LineAndPointFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
8181
}
8282

8383
@Override
84-
public SeriesRenderer getRendererInstance(XYPlot plot) {
84+
public SeriesRenderer doGetRendererInstance(XYPlot plot) {
8585
return new LineAndPointRenderer(plot);
8686
}
8787

androidplot-core/src/main/java/com/androidplot/xy/StepFormatter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public Class<? extends SeriesRenderer> getRendererClass() {
3636
}
3737

3838
@Override
39-
public SeriesRenderer getRendererInstance(XYPlot plot) {
39+
public SeriesRenderer doGetRendererInstance(XYPlot plot) {
4040
return new StepRenderer(plot);
4141
}
4242

0 commit comments

Comments
 (0)