QGIS API Documentation 3.29.0-Master (8c80f25a4f)
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
38class GUI_EXPORT QgsGradientColorRampDialog : public QDialog, private Ui::QgsGradientColorRampDialogBase
39{
40 Q_OBJECT
41 Q_PROPERTY( QgsGradientColorRamp ramp READ ramp WRITE setRamp )
42
43 public:
44
50 QgsGradientColorRampDialog( const QgsGradientColorRamp &ramp, QWidget *parent SIP_TRANSFERTHIS = nullptr );
52
57 QgsGradientColorRamp ramp() const { return mRamp; }
58
64 void setRamp( const QgsGradientColorRamp &ramp );
65
70 QDialogButtonBox *buttonBox() const;
71
72 signals:
73
75 void changed();
76
77 public slots:
78
83 void setColor1( const QColor &color );
84
89 void setColor2( const QColor &color );
90
91 private slots:
92 void cboType_currentIndexChanged( int index );
93 void btnInformation_pressed();
94 void updateRampFromStopEditor();
95 void updateColorButtons();
96 void updateStopEditor();
97 void selectedStopChanged( const QgsGradientStop &stop );
98 void colorWidgetChanged( const QColor &color );
99 void mPositionSpinBox_valueChanged( double val );
100 void mPlotHueCheckbox_toggled( bool checked );
101 void mPlotLightnessCheckbox_toggled( bool checked );
102 void mPlotSaturationCheckbox_toggled( bool checked );
103 void mPlotAlphaCheckbox_toggled( bool checked );
104 void plotMousePress( QPointF point );
105 void plotMouseRelease( QPointF point );
106 void plotMouseMove( QPointF point );
107 void showHelp();
108
109 private:
110
112 QwtPlotCurve *mLightnessCurve = nullptr;
113 QwtPlotCurve *mSaturationCurve = nullptr;
114 QwtPlotCurve *mHueCurve = nullptr;
115 QwtPlotCurve *mAlphaCurve = nullptr;
116 QList< QwtPlotMarker * > mMarkers;
117 QgsGradientPlotEventFilter *mPlotFilter = nullptr;
118 int mCurrentPlotColorComponent;
119 int mCurrentPlotMarkerIndex;
120 int mBlockChanges = 0;
121
122 void updatePlot();
123 void addPlotMarker( double x, double y, const QColor &color, bool isSelected = false );
124 void addMarkersForColor( double x, const QColor &color, bool isSelected = false );
125};
126
127
128#ifndef SIP_RUN
129//
130// NOTE:
131// For private only, not part of stable api or exposed to Python bindings
132//
134class GUI_EXPORT QgsGradientPlotEventFilter: public QObject
135{
136 Q_OBJECT
137
138 public:
139
140 QgsGradientPlotEventFilter( QwtPlot *plot );
141
142 bool eventFilter( QObject *object, QEvent *event ) override;
143
144 signals:
145
146 void mousePress( QPointF );
147 void mouseRelease( QPointF );
148 void mouseMove( QPointF );
149
150 private:
151
152 QwtPlot *mPlot = nullptr;
153 QPointF mapPoint( QPointF point ) const;
154};
156#endif
157
158#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