QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsgradientcolorrampdialog.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsgradientcolorrampdialog.h
3 ----------------------------
4 begin : December 2009
5 copyright : (C) 2009 by Martin Dobias
6 email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSGRADIENTCOLORRAMPDIALOG_H
17#define QGSGRADIENTCOLORRAMPDIALOG_H
18
19#include <QDialog>
20#include "qgis_sip.h"
21
22#include "ui_qgsgradientcolorrampdialogbase.h"
23#include "qgshelp.h"
24#include "qgis_gui.h"
25
27class QwtPlot;
28class QwtPlotCurve;
29class QwtPlotMarker;
30class QgsGradientPlotEventFilter;
31
37class GUI_EXPORT QgsGradientColorRampDialog : public QDialog, private Ui::QgsGradientColorRampDialogBase
38{
39 Q_OBJECT
40 Q_PROPERTY( QgsGradientColorRamp ramp READ ramp WRITE setRamp )
41
42 public:
43
49 QgsGradientColorRampDialog( const QgsGradientColorRamp &ramp, QWidget *parent SIP_TRANSFERTHIS = nullptr );
51
56 QgsGradientColorRamp ramp() const { return mRamp; }
57
63 void setRamp( const QgsGradientColorRamp &ramp );
64
69 QDialogButtonBox *buttonBox() const;
70
71 signals:
72
74 void changed();
75
76 public slots:
77
82 void setColor1( const QColor &color );
83
88 void setColor2( const QColor &color );
89
90 private slots:
91 void cboType_currentIndexChanged( int index );
92 void btnInformation_pressed();
93 void updateRampFromStopEditor();
94 void updateColorButtons();
95 void updateStopEditor();
96 void selectedStopChanged( const QgsGradientStop &stop );
97 void colorWidgetChanged( const QColor &color );
98 void mPositionSpinBox_valueChanged( double val );
99 void mPlotHueCheckbox_toggled( bool checked );
100 void mPlotLightnessCheckbox_toggled( bool checked );
101 void mPlotSaturationCheckbox_toggled( bool checked );
102 void mPlotAlphaCheckbox_toggled( bool checked );
103 void plotMousePress( QPointF point );
104 void plotMouseRelease( QPointF point );
105 void plotMouseMove( QPointF point );
106 void showHelp();
107
108 private:
109
111 QwtPlotCurve *mLightnessCurve = nullptr;
112 QwtPlotCurve *mSaturationCurve = nullptr;
113 QwtPlotCurve *mHueCurve = nullptr;
114 QwtPlotCurve *mAlphaCurve = nullptr;
115 QList< QwtPlotMarker * > mMarkers;
116 QgsGradientPlotEventFilter *mPlotFilter = nullptr;
117 int mCurrentPlotColorComponent;
118 int mCurrentPlotMarkerIndex;
119 int mBlockChanges = 0;
120
121 void updatePlot();
122 void addPlotMarker( double x, double y, const QColor &color, bool isSelected = false );
123 void addMarkersForColor( double x, const QColor &color, bool isSelected = false );
124};
125
126
127#ifndef SIP_RUN
128//
129// NOTE:
130// For private only, not part of stable api or exposed to Python bindings
131//
133class GUI_EXPORT QgsGradientPlotEventFilter: public QObject
134{
135 Q_OBJECT
136
137 public:
138
139 QgsGradientPlotEventFilter( QwtPlot *plot );
140
141 bool eventFilter( QObject *object, QEvent *event ) override;
142
143 signals:
144
145 void mousePress( QPointF );
146 void mouseRelease( QPointF );
147 void mouseMove( QPointF );
148
149 private:
150
151 QwtPlot *mPlot = nullptr;
152 QPointF mapPoint( QPointF point ) const;
153};
155#endif
156
157#endif
A dialog which allows users to modify the properties of a QgsGradientColorRamp.
QgsGradientColorRamp ramp() const
Returns a color ramp representing the current settings from the dialog.
void changed()
Emitted when the dialog settings change.
Gradient color ramp, which smoothly interpolates between two colors and also supports optional extra ...
Represents a color stop within a QgsGradientColorRamp color ramp.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53