[jboss-cvs] jboss-seam/src/pdf/org/jboss/seam/pdf/ui ...
Norman Richards
norman.richards at jboss.com
Sun May 6 00:53:13 EDT 2007
User: nrichards
Date: 07/05/06 00:53:13
Modified: src/pdf/org/jboss/seam/pdf/ui UIBarChart.java
UIChartData.java
Added: src/pdf/org/jboss/seam/pdf/ui UIChartSeries.java
Log:
series configuration, improved styling for bar charts
Revision Changes Path
1.5 +151 -38 jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UIBarChart.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- UIBarChart.java 3 May 2007 02:33:12 -0000 1.4
+++ UIBarChart.java 6 May 2007 04:53:13 -0000 1.5
@@ -1,7 +1,5 @@
package org.jboss.seam.pdf.ui;
-import java.awt.BasicStroke;
-import java.awt.Color;
import javax.faces.context.FacesContext;
import org.jfree.chart.ChartFactory;
@@ -17,49 +15,116 @@
public class UIBarChart
extends UIChart
{
- String title;
- String categoryAxisLabel;
- String domainAxisLabel;
- CategoryDataset dataset;
- String orientation;
-
- boolean legend;
- boolean tooltips;
- boolean urls;
- boolean is3D = false;
+ private CategoryDataset dataset;
+
+ private String title;
+ private String categoryAxisLabel;
+ private String valueAxisLabel;
+
+ private String orientation;
+
+ private boolean legend;
+ private boolean is3D = false;
+
+ private Boolean domainGridlinesVisible;
+ private String domainGridlinePaint;
+ private String domainGridlineStroke;
+ private Boolean rangeGridlinesVisible;
+ private String rangeGridlinePaint;
+ private String rangeGridlineStroke;
public void setTitle(String title) {
this.title = title;
}
+ public String getTitle() {
+ return (String) valueBinding("title", title);
+ }
+
public void setOrientation(String orientation) {
this.orientation = orientation;
}
+ public String getOrientation() {
+ return (String) valueBinding("orientation", orientation);
+ }
+
public void setCategoryAxisLabel(String categoryAxisLabel) {
this.categoryAxisLabel = categoryAxisLabel;
}
+ public String getCategoryAxisLabel() {
+ return (String) valueBinding("categoryAxisLabel", categoryAxisLabel);
+ }
+
public void setValueAxisLabel(String valueAxisLabel) {
- this.domainAxisLabel = valueAxisLabel;
+ this.valueAxisLabel = valueAxisLabel;
}
- public void setLegend(boolean legend) {
- this.legend = legend;
+ public String getValueAxisLabel() {
+ return (String) valueBinding("valueAxisLabel", valueAxisLabel);
}
- public void setTooltips(boolean tooltips) {
- this.tooltips = tooltips;
+ public void setLegend(boolean legend) {
+ this.legend = legend;
}
- public void setUrls(boolean urls) {
- this.urls = urls;
+ public boolean getLegend() {
+ return (Boolean) valueBinding("legend", legend);
}
public void setIs3D(boolean is3D) {
this.is3D = true;
}
+ public String getDomainGridlinePaint() {
+ return (String) valueBinding("domainGridlinePaint", domainGridlinePaint);
+ }
+
+ public void setDomainGridlinePaint(String domainGridlinePaint) {
+ this.domainGridlinePaint = domainGridlinePaint;
+ }
+
+ public String getDomainGridlineStroke() {
+ return (String) valueBinding("domainGridlineStroke", domainGridlineStroke);
+ }
+
+ public void setDomainGridlineStroke(String domainGridlineStroke) {
+ this.domainGridlineStroke = domainGridlineStroke;
+ }
+
+ public Boolean getDomainGridlinesVisible() {
+ return (Boolean) valueBinding("domainGridlinesVisible", domainGridlinesVisible);
+ }
+
+ public void setDomainGridlinesVisible(Boolean domainGridlinesVisible) {
+ this.domainGridlinesVisible = domainGridlinesVisible;
+ }
+
+ public String getRangeGridlinePaint() {
+ return (String) valueBinding("rangeGridlinePaint", rangeGridlinePaint);
+ }
+
+ public void setRangeGridlinePaint(String rangeGridlinePaint) {
+ this.rangeGridlinePaint = rangeGridlinePaint;
+ }
+
+ public String getRangeGridlineStroke() {
+ return (String) valueBinding("rangeGridlineStroke", rangeGridlineStroke);
+ }
+
+ public void setRangeGridlineStroke(String rangeGridlineStroke) {
+ this.rangeGridlineStroke = rangeGridlineStroke;
+ }
+
+ public Boolean getRangeGridlinesVisible() {
+ return (Boolean) valueBinding("rangeGridlinesVisible", rangeGridlinesVisible);
+ }
+
+ public void setRangeGridlinesVisible(Boolean rangeGridlinesVisible) {
+ this.rangeGridlinesVisible = rangeGridlinesVisible;
+ }
+
@Override
public void createDataset() {
dataset = new DefaultCategoryDataset();
@@ -69,42 +134,88 @@
public void configurePlot(Plot p) {
super.configurePlot(p);
CategoryPlot plot = (CategoryPlot) p;
- plot.setRangeGridlinePaint(Color.BLUE);
- plot.setDomainGridlinePaint(Color.CYAN);
- // ...
+
+ //plot.setAxisOffset(RectangleInsets)
+ //plot.setDomainAxisLocation(arg0);
+ //plot.setRangeAxisLocation(arg0);
+
+ if (domainGridlinesVisible != null) {
+ plot.setDomainGridlinesVisible(domainGridlinesVisible);
+ }
+ //plot.setDomainGridlinePosition(CategoryAnchor)
+ if (domainGridlinePaint != null) {
+ plot.setDomainGridlinePaint(findColor(domainGridlinePaint));
+ }
+ if (domainGridlineStroke != null) {
+ plot.setDomainGridlineStroke(findStroke(domainGridlineStroke));
+ }
+
+ if (rangeGridlinesVisible != null) {
+ plot.setRangeGridlinesVisible(rangeGridlinesVisible);
+ }
+ //plot.setRangeGridlinePosition(CategoryAnchor)
+ if (rangeGridlinePaint!=null) {
+ plot.setRangeGridlinePaint(findColor(rangeGridlinePaint));
+ }
+ if (rangeGridlineStroke!=null) {
+ plot.setRangeGridlineStroke(findStroke(rangeGridlineStroke));
+ }
configureRenderer((BarRenderer) plot.getRenderer());
}
public void configureRenderer(BarRenderer renderer) {
- renderer.setItemMargin(0.0);
+ //renderer.setItemMargin(0.0);
+
+// renderer.setBase(arg0);
+// renderer.setBaseFillPaint(arg0);
+// renderer.setBaseItemLabelFont(arg0);
+// renderer.setBaseItemLabelPaint(arg0);
+// renderer.setBaseItemLabelsVisible(arg0);
+// renderer.setBaseOutlinePaint(arg0);
+// renderer.setBaseOutlineStroke(arg0);
+// renderer.setBaseSeriesVisible(arg0);
+// renderer.setBaseSeriesVisibleInLegend(arg0);
+// renderer.setBaseShape(arg0);
+// renderer.setBaseStroke();
+// renderer.setFillPaint(arg0);
+// renderer.setItemLabelFont(arg0);
+// renderer.setItemLabelPaint(arg0);
+// renderer.setItemLabelsVisible(arg0);
+// renderer.setItemMargin(arg0);
+// renderer.setOutlinePaint(arg0)
+// renderer.setOutlineStroke(arg0)
+// renderer.setPaint(arg0);
+// renderer.setStroke(arg0);
+
- renderer.setBaseOutlineStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10f,
- new float[] {10,3}, 0));
+
+ //renderer.setBaseOutlineStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10f,
+ //new float[] {10,3}, 0));
}
@Override
public JFreeChart createChart(FacesContext context) {
if (!is3D) {
- return ChartFactory.createBarChart(title,
- categoryAxisLabel,
- domainAxisLabel,
+ return ChartFactory.createBarChart(getTitle(),
+ getCategoryAxisLabel(),
+ getValueAxisLabel(),
dataset,
plotOrientation(orientation),
- legend,
- tooltips,
- urls);
+ getLegend(),
+ false,
+ false);
} else {
return ChartFactory.createBarChart3D(title,
- categoryAxisLabel,
- domainAxisLabel,
+ getCategoryAxisLabel(),
+ getValueAxisLabel(),
dataset,
plotOrientation(orientation),
- legend,
- tooltips,
- urls);
+ getLegend(),
+ false,
+ false);
}
}
@@ -121,4 +232,6 @@
}
}
+
+
}
1.4 +10 -6 jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UIChartData.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- UIChartData.java 3 May 2007 02:33:12 -0000 1.3
+++ UIChartData.java 6 May 2007 04:53:13 -0000 1.4
@@ -107,15 +107,19 @@
if (sectionOutlineStroke != null) {
plot.setSectionOutlineStroke(key, UIChart.findStroke(getSectionOutlineStroke()));
}
-
-
} else if (dataset instanceof DefaultCategoryDataset) {
DefaultCategoryDataset data = (DefaultCategoryDataset) dataset;
+
+ //CategoryPlot plot = (CategoryPlot) chart.getChart().getPlot();
+
+ if (rowKey == null) {
+ UIChartSeries series = (UIChartSeries) findITextParent(this, UIChartSeries.class);
+ rowKey = series.getKey();
+ }
data.addValue(value, rowKey, columnKey);
} else {
throw new RuntimeException("Cannot add data to dataset of type " + dataset.getClass());
}
-
}
}
1.1 date: 2007/05/06 04:53:13; author: nrichards; state: Exp;jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java
Index: UIChartSeries.java
===================================================================
package org.jboss.seam.pdf.ui;
import java.io.IOException;
import javax.faces.context.FacesContext;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.Dataset;
public class UIChartSeries
extends ITextComponent
{
private String key;
private String seriesPaint;
private String seriesFillPaint;
private String seriesOutlinePaint;
private String seriesOutlineStroke;
private String seriesStroke;
private Boolean seriesVisible;
private Boolean seriesVisibleInLegend;
public String getKey() {
return (String) valueBinding("key", key);
}
public void setKey(String key) {
this.key = key;
}
public String getSeriesPaint() {
return (String) valueBinding("seriesPaint", seriesPaint);
}
public void setSeriesPaint(String seriesPaint) {
this.seriesPaint = seriesPaint;
}
public String getSeriesFillPaint() {
return (String) valueBinding("seriesFillPaint", seriesFillPaint);
}
public void setSeriesFillPaint(String seriesFillPaint) {
this.seriesFillPaint = seriesFillPaint;
}
public String getSeriesOutlinePaint() {
return (String) valueBinding("seriesOutlinePaint", seriesOutlinePaint);
}
public void setSeriesOutlinePaint(String seriesOutlinePaint) {
this.seriesOutlinePaint = seriesOutlinePaint;
}
public String getSeriesOutlineStroke() {
return (String) valueBinding("seriesOutlineStroke", seriesOutlineStroke);
}
public void setSeriesOutlineStroke(String seriesOutlineStroke) {
this.seriesOutlineStroke = seriesOutlineStroke;
}
public String getSeriesStroke() {
return (String) valueBinding("seriesStroke", seriesStroke);
}
public void setSeriesStroke(String seriesStroke) {
this.seriesStroke = seriesStroke;
}
public Boolean getSeriesVisible() {
return (Boolean) valueBinding("seriesVisible", seriesVisible);
}
public void setSeriesVisible(Boolean seriesVisible) {
this.seriesVisible = seriesVisible;
}
public Boolean getSeriesVisibleInLegend() {
return (Boolean) valueBinding("seriesVisibleInLegend", seriesVisibleInLegend);
}
public void setSeriesVisibleInLegend(Boolean seriesVisibleInLegend) {
this.seriesVisibleInLegend = seriesVisibleInLegend;
}
@Override
public void encodeEnd(FacesContext context)
throws IOException
{
UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
Dataset dataset = chart.getDataset();
if (chart != null) {
Plot p = chart.getChart().getPlot();
if (p instanceof CategoryPlot) {
CategoryPlot plot = (CategoryPlot) p;
int seriesIndex = ((CategoryDataset) dataset).getRowIndex(key);
BarRenderer renderer = (BarRenderer) plot.getRenderer();
if (seriesPaint != null) {
renderer.setSeriesPaint(seriesIndex, UIChart.findColor(getSeriesPaint()));
}
if (seriesFillPaint != null) {
renderer.setSeriesFillPaint(seriesIndex, UIChart.findColor(getSeriesFillPaint()));
}
if (seriesOutlinePaint != null) {
renderer.setSeriesOutlinePaint(seriesIndex, UIChart.findColor(getSeriesOutlinePaint()));
}
if (seriesOutlineStroke != null) {
renderer.setSeriesOutlineStroke(seriesIndex, UIChart.findStroke(getSeriesOutlineStroke()));
}
if (seriesStroke != null) {
renderer.setSeriesStroke(seriesIndex, UIChart.findStroke(getSeriesStroke()));
}
if (seriesVisible != null) {
renderer.setSeriesVisible(seriesIndex, seriesVisible);
}
if (seriesVisibleInLegend != null) {
renderer.setSeriesVisibleInLegend(seriesIndex, getSeriesVisibleInLegend());
}
}
}
}
@Override
public void createITextObject(FacesContext context) {
}
@Override
public Object getITextObject() {
return null;
}
@Override
public void removeITextObject() {
}
@Override
public void handleAdd(Object other) {
}
}
More information about the jboss-cvs-commits
mailing list