swift
colorselector.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_GUI_COMPONENTS_COLORSELECTOR_H
7 #define SWIFT_GUI_COMPONENTS_COLORSELECTOR_H
8 
9 #include <QColor>
10 #include <QFrame>
11 #include <QObject>
12 #include <QScopedPointer>
13 #include <QString>
14 
15 #include "gui/swiftguiexport.h"
16 #include "misc/rgbcolor.h"
17 
18 class QDragEnterEvent;
19 class QDragLeaveEvent;
20 class QDragMoveEvent;
21 class QDropEvent;
22 class QMouseEvent;
23 class QWidget;
24 
25 namespace Ui
26 {
27  class CColorSelector;
28 }
29 
30 namespace swift::gui::components
31 {
35  class SWIFT_GUI_EXPORT CColorSelector : public QFrame
36  {
37  Q_OBJECT
38 
39  public:
41  explicit CColorSelector(QWidget *parent = nullptr);
42 
44  ~CColorSelector() override;
45 
47  void setColor(const swift::misc::CRgbColor &color);
48 
50  void setColor(const QColor &color);
51 
53  swift::misc::CRgbColor getColor() const;
54 
56  void setReadOnly(bool readOnly);
57 
59  void clear();
60 
61  signals:
64 
65  protected:
67  virtual void dragEnterEvent(QDragEnterEvent *event) override;
68 
70  virtual void dragMoveEvent(QDragMoveEvent *event) override;
71 
73  virtual void dragLeaveEvent(QDragLeaveEvent *event) override;
74 
76  virtual void dropEvent(QDropEvent *event) override;
77 
79  virtual void mousePressEvent(QMouseEvent *event) override;
80 
81  private:
83  void colorDialog();
84 
86  void onReturnPressed();
87 
89  void setColorByName(const QString &colorName);
90 
92  void resetToLastValidColor();
93 
94  QScopedPointer<Ui::CColorSelector> ui;
95  swift::misc::CRgbColor m_lastColor;
96  };
97 } // namespace swift::gui::components
98 
99 #endif // SWIFT_GUI_COMPONENTS_COLORSELECTOR_H
void colorChanged(const swift::misc::CRgbColor &color)
Color has been changed.
High level reusable GUI components.
Definition: aboutdialog.cpp:13
#define SWIFT_GUI_EXPORT
Export a class or function from the library.