26 #ifndef QCP_LAYOUTELEMENT_COLORSCALE_H
27 #define QCP_LAYOUTELEMENT_COLORSCALE_H
29 #include "../global.h"
31 #include "../layout.h"
32 #include "../colorgradient.h"
33 #include "../layoutelements/layoutelement-axisrect.h"
41 class QCPColorScaleAxisRectPrivate :
public QCPAxisRect
45 explicit QCPColorScaleAxisRectPrivate(
QCPColorScale *parentColorScale);
48 QImage mGradientImage;
49 bool mGradientImageInvalidated;
58 void updateGradientImage();
59 Q_SLOT
void axisSelectionChanged(QCPAxis::SelectableParts selectedParts);
60 Q_SLOT
void axisSelectableChanged(QCPAxis::SelectableParts selectableParts);
70 Q_PROPERTY(
QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY dataRangeChanged)
71 Q_PROPERTY(
QCPAxis::ScaleType dataScaleType READ dataScaleType WRITE setDataScaleType NOTIFY dataScaleTypeChanged)
72 Q_PROPERTY(
QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY gradientChanged)
73 Q_PROPERTY(QString label READ label WRITE setLabel)
74 Q_PROPERTY(
int barWidth READ barWidth WRITE setBarWidth)
75 Q_PROPERTY(
bool rangeDrag READ rangeDrag WRITE setRangeDrag)
76 Q_PROPERTY(
bool rangeZoom READ rangeZoom WRITE setRangeZoom)
85 QCPRange dataRange()
const {
return mDataRange; }
88 QString label()
const;
89 int barWidth ()
const {
return mBarWidth; }
90 bool rangeDrag()
const;
91 bool rangeZoom()
const;
95 Q_SLOT
void setDataRange(
const QCPRange &dataRange);
98 void setLabel(
const QString &str);
99 void setBarWidth(
int width);
100 void setRangeDrag(
bool enabled);
101 void setRangeZoom(
bool enabled);
104 QList<QCPColorMap*> colorMaps()
const;
105 void rescaleDataRange(
bool onlyVisibleMaps);
108 virtual void update(UpdatePhase phase);
111 void dataRangeChanged(
QCPRange newRange);
124 QPointer<QCPColorScaleAxisRectPrivate> mAxisRect;
125 QPointer<QCPAxis> mColorAxis;
138 friend class QCPColorScaleAxisRectPrivate;
142 #endif // QCP_LAYOUTELEMENT_COLORSCALE_H