Qwt User's Guide svn
qwt_plot_spectrocurve.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_PLOT_CURVE_3D_H
00011 #define QWT_PLOT_CURVE_3D_H
00012 
00013 #include "qwt_global.h"
00014 #include "qwt_plot_seriesitem.h"
00015 #include "qwt_series_data.h"
00016 
00017 class QwtSymbol;
00018 class QwtColorMap;
00019 
00024 class QWT_EXPORT QwtPlotSpectroCurve: public QwtPlotSeriesItem<QwtPoint3D>
00025 {
00026 public:
00028     enum PaintAttribute
00029     {
00031         ClipPoints = 1
00032     };
00033 
00035     typedef QFlags<PaintAttribute> PaintAttributes;
00036 
00037     explicit QwtPlotSpectroCurve( const QString &title = QString::null );
00038     explicit QwtPlotSpectroCurve( const QwtText &title );
00039 
00040     virtual ~QwtPlotSpectroCurve();
00041 
00042     virtual int rtti() const;
00043 
00044     void setPaintAttribute( PaintAttribute, bool on = true );
00045     bool testPaintAttribute( PaintAttribute ) const;
00046 
00047     void setSamples( const QVector<QwtPoint3D> & );
00048 
00049     void setColorMap( QwtColorMap * );
00050     const QwtColorMap *colorMap() const;
00051 
00052     void setColorRange( const QwtInterval & );
00053     QwtInterval & colorRange() const;
00054 
00055     virtual void drawSeries( QPainter *,
00056         const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00057         const QRectF &canvasRect, int from, int to ) const;
00058 
00059     void setPenWidth(double width);
00060     double penWidth() const;
00061 
00062 protected:
00063     virtual void drawDots( QPainter *,
00064         const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00065         const QRectF &canvasRect, int from, int to ) const;
00066 
00067 private:
00068     void init();
00069 
00070     class PrivateData;
00071     PrivateData *d_data;
00072 };
00073 
00074 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotSpectroCurve::PaintAttributes )
00075 
00076 #endif
qmi style