16#ifndef QGSCOLORWIDGETS_H
17#define QGSCOLORWIDGETS_H
23#include <QWidgetAction>
77 Q_ENUM( ComponentUnit )
118 float componentValueF() const;
124 static QPixmap createDragIcon( const QColor &color );
129 static ComponentUnit componentUnit( ColorComponent component );
140 virtual
void setColor( const QColor &color,
bool emitSignals = false );
147 virtual
void setComponent(
QgsColorWidget::ColorComponent component );
159 Q_DECL_DEPRECATED virtual
void setComponentValue(
int value )
SIP_DEPRECATED;
171 virtual
void setComponentValueF(
float value );
286 void dropEvent( QDropEvent *e ) override;
347 QMenu *mMenu =
nullptr;
351 bool mSuppressRecurse =
false;
353 bool mDismissOnColorSelection =
true;
365 void setColor(
const QColor &color );
392 void paintEvent( QPaintEvent *event )
override;
396 void setColor(
const QColor &
color,
bool emitSignals =
false )
override;
412 bool mIsDragging =
false;
418 int mWheelThickness = 18;
421 ControlPart mClickedPart = QgsColorWheel::None;
427 QImage mTriangleImage;
433 bool mWheelDirty =
true;
436 bool mTriangleDirty =
true;
445 void createImages( QSizeF size );
451 void createTriangle();
457 void setColorFromPos( QPointF pos );
488 void paintEvent( QPaintEvent *event )
override;
493 void setColor(
const QColor &
color,
bool emitSignals =
false )
override;
502 bool mIsDragging =
false;
505 static constexpr float mMargin = 2.;
508 std::unique_ptr<QImage> mBoxImage;
522 float valueRangeX()
const;
528 float valueRangeY()
const;
538 float yComponentValue()
const;
548 float xComponentValue()
const;
554 void setColorFromPoint( QPoint point );
589 QSize sizeHint()
const override;
590 void paintEvent( QPaintEvent *event )
override;
597 void setOrientation( Orientation orientation );
611 void setInteriorMargin(
int margin );
625 void setShowFrame(
bool showFrame );
638 void setMarkerSize(
int markerSize );
658 void wheelEvent( QWheelEvent *event )
override;
664 bool mIsDragging =
false;
673 bool mShowFrame =
false;
676 QPolygonF mTopTriangle;
679 QPolygonF mBottomTriangle;
685 void setColorFromPoint( QPointF point );
711 void setColor(
const QColor &
color,
bool emitSignals =
false )
override;
727 float convertRealToDisplay(
float realValue )
const;
735 float convertDisplayToReal(
float displayValue )
const;
742 void rampColorChanged(
const QColor &
color );
747 void spinChanged(
double value );
752 void rampChanged(
float value );
780 Q_ENUM( ColorTextFormat )
790 void setColor( const QColor &
color,
bool emitSignals = false ) override;
803 QLineEdit *mLineEdit =
nullptr;
806 QToolButton *mMenuButton =
nullptr;
811 bool mAllowAlpha = true;
849 void paintEvent( QPaintEvent *event )
override;
859 QColor
color2()
const {
return mColor2; }
870 virtual void setColor2(
const QColor &color );
874 void mousePressEvent( QMouseEvent *e )
override;
877 void mouseReleaseEvent( QMouseEvent *e )
override;
880 void mouseMoveEvent( QMouseEvent *e )
override;
886 QPoint mDragStartPosition;
893 void drawColor(
const QColor &color, QRect rect, QPainter &painter );
QSize sizeHint() const override
void resizeEvent(QResizeEvent *event) override
void mouseReleaseEvent(QMouseEvent *event) override
void mousePressEvent(QMouseEvent *event) override
void setComponent(ColorComponent component) override
Sets the color component which the widget controls.
void setColor(const QColor &color, bool emitSignals=false) override
void mouseMoveEvent(QMouseEvent *event) override
void paintEvent(QPaintEvent *event) override
QgsColorBox(QWidget *parent=nullptr, ColorComponent component=Value)
Construct a new color box widget.
QgsColorTextWidget(QWidget *parent=nullptr)
Construct a new color line edit widget.
ColorTextFormat
Specifies the display format for a color.
@ Rgba
Rgba( r, g, b, a ) format, with alpha.
@ Rgb
Rgb( r, g, b ) format.
@ HexRgbA
#RRGGBBAA in hexadecimal, with alpha
@ HexRgb
#RRGGBB in hexadecimal
void setColor(const QColor &color, bool emitSignals=false) override
Sets the color for the widget.
void setAllowOpacity(bool allowOpacity)
Sets whether opacity modification (transparency) is permitted.
static const QgsSettingsEntryEnumFlag< ColorTextFormat > * settingsTextFormat
void resizeEvent(QResizeEvent *event) override
void paintEvent(QPaintEvent *event) override
QgsColorWheel(QWidget *parent=nullptr)
Constructs a new color wheel widget.
void mousePressEvent(QMouseEvent *event) override
QSize sizeHint() const override
void mouseReleaseEvent(QMouseEvent *event) override
void mouseMoveEvent(QMouseEvent *event) override
void resizeEvent(QResizeEvent *event) override
void setColor(const QColor &color, bool emitSignals=false) override
~QgsColorWheel() override
The QgsSpinBox is a spin box with a clear button that will set the value to the defined clear value.
A template class for enum and flag settings entry.