01: /***********************************************************************************************
02: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
03: *
04: * Redistribution and use of this software and associated documentation ("Software"), with or
05: * without modification, are permitted provided that the following conditions are met:
06: *
07: * 1. Redistributions of source code must retain copyright statements and notices.
08: * Redistributions must also contain a copy of this document.
09: *
10: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
11: * conditions and the following disclaimer in the documentation and/or other materials
12: * provided with the distribution.
13: *
14: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
15: * products derived from this Software without prior written permission of Nathaniel G.
16: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
17: *
18: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
19: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
20: * registered trademark of Nathaniel G. Auvil.
21: *
22: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
23: *
24: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
25: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
31: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
32: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
33: ************************************************************************************************/package org.krysalis.jcharts.designer.charts;
34:
35: import org.krysalis.jcharts.nonAxisChart.PieChart2D;
36: import org.krysalis.jcharts.properties.PieChart2DProperties;
37: import org.krysalis.jcharts.chartData.PieChartDataSet;
38: import org.krysalis.jcharts.chartData.ChartDataException;
39:
40: import java.awt.*;
41:
42: /*************************************************************************************
43: *
44: * @author Nathaniel Auvil
45: * @version $Id: DesignerPieChart.java,v 1.1 2003/08/09 17:04:07 nathaniel_auvil Exp $
46: ************************************************************************************/
47: public class DesignerPieChart extends DesignerChart {
48: private PieChart2D pieChart2D;
49: private PieChart2DProperties pieChart2DProperties;
50: private PieChartDataSet pieChartDataSet;
51:
52: /**********************************************************************************
53: *
54: * @param width
55: * @param height
56: * @throws ChartDataException
57: *********************************************************************************/
58: public DesignerPieChart(int width, int height)
59: throws ChartDataException {
60: super (width, height);
61:
62: this .pieChart2DProperties = new PieChart2DProperties();
63:
64: super .setTitle("Cars that Own");
65: super .setLegendLabels(new String[] { "BMW", "Audi", "Lexus" });
66: super
67: .setPaints(new Paint[] { Color.blue, Color.gray,
68: Color.red });
69: super .setData(new double[][] { { 50d, 30d, 20d } });
70:
71: this .updateChart();
72: }
73:
74: /***************************************************************************************
75: * Updates the chart Object with all the latest settings.
76: *
77: * @throws ChartDataException
78: **************************************************************************************/
79: public void updateChart() throws ChartDataException {
80: this .pieChartDataSet = new PieChartDataSet(super .getTitle(),
81: super .getData()[0], super .getLegendLabels(), super
82: .getPaints(), this .pieChart2DProperties);
83:
84: this .pieChart2D = new PieChart2D(pieChartDataSet, super
85: .getLegendProperties(), super .getChartProperties(),
86: super .getWidth(), super .getHeight());
87: }
88:
89: public PieChart2D getPieChart2D() {
90: return this .pieChart2D;
91: }
92:
93: public PieChart2DProperties getPieChart2DProperties() {
94: return pieChart2DProperties;
95: }
96: }
|