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 SLOPEESTIMATOR_H
00029 #define SLOPEESTIMATOR_H
00030
00031 #include "LineLayer.h"
00032 #include "SciFigsDLLExport.h"
00033
00034 namespace SciFigs {
00035
00036 class SCIFIGS_EXPORT SlopeEstimator : public LineLayer
00037 {
00038 Q_OBJECT
00039 Q_PROPERTY(QString font READ fontString WRITE setFontString SCRIPTABLE true)
00040 Q_PROPERTY(QString format READ formatString WRITE setFormat SCRIPTABLE true)
00041 public:
00042 SlopeEstimator(AxisWindow * parent=0);
00043
00044 virtual const QString& xml_tagName() const {return xmlSlopeEstimatorTag;}
00045 static const QString xmlSlopeEstimatorTag;
00046
00047 enum Format {DegreesFromX, DegreesFromY, RatioYOverX, RatioXOverY};
00048
00049 Format format() const {return _format;}
00050 QString formatString() const;
00051 void setFormat(Format f) {_format=f;}
00052 void setFormat(QString f);
00053
00054 QString fontString() const {return _textFont.toString();}
00055 void setFontString(QString fs) {_textFont.fromString(fs);}
00056 protected:
00057 virtual void paintData(const LayerPainterRequest& lp, QPainter& p, double dotpercm) const;
00058 virtual void paintText(const LayerPainterRequest& lp, double dotpercm);
00059 private:
00060 QFont _textFont;
00061 Format _format;
00062 QList<QPainterPath> _textPaths;
00063 mutable QMutex _textPathsMutex;
00064 };
00065
00066 }
00067
00068 #endif // SLOPEESTIMATOR_H