QwtPieCurve.h

Go to the documentation of this file.
00001 /***************************************************************************
00002     File                 : QwtPieCurve.h
00003     Project              : QtiPlot
00004     --------------------------------------------------------------------
00005     Copyright            : (C) 2006 by Ion Vasilief, Tilman Hoener zu Siederdissen
00006     Email (use @ for *)  : ion_vasilief*yahoo.fr, thzs*gmx.net
00007     Description          : Pie plot class
00008 
00009  ***************************************************************************/
00010 
00011 /***************************************************************************
00012  *                                                                         *
00013  *  This program is free software; you can redistribute it and/or modify   *
00014  *  it under the terms of the GNU General Public License as published by   *
00015  *  the Free Software Foundation; either version 2 of the License, or      *
00016  *  (at your option) any later version.                                    *
00017  *                                                                         *
00018  *  This program is distributed in the hope that it will be useful,        *
00019  *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
00020  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
00021  *  GNU General Public License for more details.                           *
00022  *                                                                         *
00023  *   You should have received a copy of the GNU General Public License     *
00024  *   along with this program; if not, write to the Free Software           *
00025  *   Foundation, Inc., 51 Franklin Street, Fifth Floor,                    *
00026  *   Boston, MA  02110-1301  USA                                           *
00027  *                                                                         *
00028  ***************************************************************************/
00029 #include <qwt_plot.h>
00030 #include "PlotCurve.h"
00031 
00033 class QwtPieCurve: public DataCurve
00034 {
00035 public:
00036     QwtPieCurve(Table *t, const QString& name, int startRow, int endRow);
00037 
00038 public slots:
00039     QColor color(int i) const;
00040 
00041     int ray(){return d_pie_ray;};
00042     void setRay(int size){d_pie_ray = size; updateBoundingRect();};
00043 
00044     Qt::BrushStyle pattern(){return QwtPlotCurve::brush().style();};
00045     void setBrushStyle(const Qt::BrushStyle& style);
00046 
00047     void setFirstColor(int index){d_first_color = index;};
00048     int firstColor(){return d_first_color;};
00049 
00050     void loadData();
00051     void updateBoundingRect();
00052 
00053 private:
00054     void draw(QPainter *painter,const QwtScaleMap &xMap,
00055         const QwtScaleMap &yMap, int from, int to) const;
00056 
00057     void drawPie(QPainter *painter, const QwtScaleMap &xMap,
00058         const QwtScaleMap &yMap, int from, int to) const;
00059 
00060     int d_pie_ray, d_first_color;
00062     double d_left_coord;
00063 };

Generated on Thu Feb 7 13:59:27 2008 for QtiPlot by  doxygen 1.5.4