File indexing completed on 2024-05-12 16:02:01

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISSPINBOXCOLORSELECTOR_H
0008 #define KISSPINBOXCOLORSELECTOR_H
0009 
0010 #include <QWidget>
0011 #include "kritawidgets_export.h"
0012 #include <QScopedPointer>
0013 #include "KoColor.h"
0014 #include "KoColorSpace.h"
0015 
0016 /**
0017  * @brief The KisSpinboxColorSelector class
0018  * This will give a widget with spinboxes depending on the color space
0019  * Take responsibility for changing the color space.
0020  */
0021 class KRITAWIDGETS_EXPORT KisSpinboxColorSelector : public QWidget
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit KisSpinboxColorSelector(QWidget *parent);
0026     ~KisSpinboxColorSelector() override;
0027 
0028     void chooseAlpha(bool chooseAlpha);
0029 
0030 Q_SIGNALS:
0031 
0032     void sigNewColor(KoColor color);
0033 
0034 public Q_SLOTS:
0035 
0036     void slotSetColorSpace(const KoColorSpace *cs);
0037     void slotSetColor(KoColor color);
0038 private Q_SLOTS:
0039     void slotUpdateFromSpinBoxes();
0040 private:
0041     struct Private;
0042     const QScopedPointer<Private> m_d;
0043     void createColorFromSpinboxValues();
0044     void updateSpinboxesWithNewValues();
0045 };
0046 
0047 #endif // KISSPINBOXCOLORSELECTOR_H