Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef COLORPALETTELAYER_H
00029 #define COLORPALETTELAYER_H
00030
00031 #include "GraphContentLayer.h"
00032 #include "SciFigsDLLExport.h"
00033
00034 namespace SciFigs {
00035
00036 class SCIFIGS_EXPORT ColorPaletteLayer : public GraphContentLayer
00037 {
00038 Q_OBJECT
00039 Q_PROPERTY(QString axisType READ axisTypeString WRITE setAxisType SCRIPTABLE true)
00040 public:
00041 ColorPaletteLayer(AxisWindow * parent=0);
00042
00043 virtual const QString& xml_tagName() const {return xmlColorPaletteLayerTag;}
00044 static const QString xmlColorPaletteLayerTag;
00045
00046 void setAxisType(AxisType a);
00047 AxisType axisType() const {return _axisType;}
00048 QString axisTypeString() const {return _axisType==XAxis ? "X":"Y";}
00049 void setAxisType(QString t) {if(t.contains("X")) setAxisType(XAxis); else setAxisType(YAxis);}
00050
00051 const ColorPalette& palette() const {return _pal;}
00052 void setPalette(const ColorPalette& pal) {_pal=pal;}
00053
00054 virtual Rect boundingRect() const;
00055 protected:
00056 virtual void paintData(const LayerPainterRequest& lp, QPainter& p, double dotpercm) const;
00057 virtual QString coordinateTipInfo(const Point2D& p) const;
00058 private:
00059 static inline void paintX(double min, double max, double w, double h, const QColor& col,
00060 const GraphContentOptions& gc, QPainter& p);
00061 static inline void paintY(double min, double max, double w, double h, const QColor& col,
00062 const GraphContentOptions& gc, QPainter& p);
00063
00064 AxisType _axisType;
00065 ColorPalette _pal;
00066 };
00067
00068 }
00069
00070 #endif // COLORPALETTELAYER_H