001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.charts.design;
029:
030: import net.sf.jasperreports.charts.JRChartAxis;
031: import net.sf.jasperreports.charts.base.JRBaseMultiAxisPlot;
032: import net.sf.jasperreports.engine.JRChart;
033: import net.sf.jasperreports.engine.JRChartPlot;
034: import net.sf.jasperreports.engine.JRConstants;
035: import net.sf.jasperreports.engine.design.JRDesignChart;
036:
037: /**
038: * Contains information on how a multiple axis chart should be
039: * displayed. This information overrides the display information
040: * for all the charts sharing the single domain axis in the multiple
041: * axis chart.
042: *
043: * @author Barry Klawans (bklawans@users.sourceforge.net)
044: * @version $Id: JRDesignMultiAxisPlot.java 1794 2007-07-30 09:07:50Z teodord $
045: */
046: public class JRDesignMultiAxisPlot extends JRBaseMultiAxisPlot {
047: private JRDesignChart chart = null;
048: /**
049: *
050: */
051: private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;
052:
053: /**
054: * Constructs a new plot by copying an existing one.
055: *
056: * @param multiAxisPlot the plot to copy
057: */
058: public JRDesignMultiAxisPlot(JRChartPlot multiAxisPlot,
059: JRChart chart) {
060: super (multiAxisPlot, chart);
061: }
062:
063: /**
064: * Adds an axis to the plot. The axis contains the complete information on
065: * the data and rendering to use as well as where to draw the axis.
066: *
067: * @param axis the axis to add to the plot
068: */
069: public void addAxis(JRChartAxis axis) {
070: axes.add(axis);
071: if (axes.size() == 1) {
072: chart.setDataset(axis.getChart().getDataset());
073: }
074: }
075:
076: /**
077: * Removes all the axes from the plot.
078: */
079: public void clearAxes() {
080: axes.clear();
081: chart.setDataset(null);
082: }
083:
084: /**
085: * Returns the definition of the multiple axis chart. This is separate
086: * from and distinct that the definition of the nested charts.
087: *
088: * @return the chart object for this plot
089: */
090: public JRChart getChart() {
091: return chart;
092: }
093:
094: /**
095: * Sets the chart object that this plot belongs to. The chart object defines
096: * all the information about the multiple axis chart.
097: *
098: * @param chart the chart that this plot belongs to
099: */
100: public void setChart(JRDesignChart chart) {
101: this.chart = chart;
102: }
103: }
|