Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkColorPropertyEditor.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 #ifndef QmitkColorPropertyEditor_h
13 #define QmitkColorPropertyEditor_h
14 
16 #include <QmitkColorPropertyView.h>
17 #include <QFrame>
18 #include <mitkColorProperty.h>
19 
20 class QListBox;
21 
33 {
34  Q_OBJECT
35 
36 public:
43  QmitkPopupColorChooser(QWidget *parent = nullptr, unsigned int steps = 16, unsigned int size = 150);
44 
47 
52  void setSteps(int steps);
53 
64  virtual void popup(QWidget *parent,
65  const QPoint &point,
66  const mitk::Color *color = nullptr);
67 
68 signals:
73  void colorSelected(QColor color);
74 
75 protected:
76  void keyReleaseEvent(QKeyEvent *) override;
77 
78  void mouseMoveEvent(QMouseEvent *) override;
79  void mouseReleaseEvent(QMouseEvent *) override;
80  void closeEvent(QCloseEvent *) override;
81 
82  void paintEvent(QPaintEvent *) override;
83  void drawGradient(QPainter *p);
84 
85 private:
86  QWidget *m_popupParent;
87  QWidget *my_parent;
88 
89  unsigned int m_Steps;
90  unsigned int m_Steps2;
91  unsigned int m_HStep;
92  unsigned int m_SStep;
93  unsigned int m_VStep;
94 
95  int m_H;
96  int m_S;
97  int m_V;
98  QColor m_OriginalColor;
99 };
100 
114 {
115  Q_OBJECT
116 
117 public:
123  QmitkColorPropertyEditor(const mitk::ColorProperty *property, QWidget *parent);
124 
127 
128 protected:
129  void mousePressEvent(QMouseEvent *) override;
130  void mouseReleaseEvent(QMouseEvent *) override;
131 
134 
135 protected slots:
136 
137  void onColorSelected(QColor);
138 
139 private:
140 };
141 
142 #endif
#define MITKQTWIDGETSEXT_EXPORT
Editable color swatch for a mitk::ColorProperty.
static QmitkPopupColorChooser * colorChooser
~QmitkColorPropertyEditor() override
Destructor. Decrements the shared color chooser reference count.
QmitkColorPropertyEditor(const mitk::ColorProperty *property, QWidget *parent)
Construct an editor for the given color property.
void onColorSelected(QColor)
void mousePressEvent(QMouseEvent *) override
void mouseReleaseEvent(QMouseEvent *) override
Read-only QLabel that displays a mitk::ColorProperty as a colored swatch.
A frameless popup widget for choosing colors from an HSV gradient.
void colorSelected(QColor color)
Emitted when the user moves the mouse over a color or releases the mouse.
void setSteps(int steps)
Set the number of discrete steps for the color gradient.
virtual void popup(QWidget *parent, const QPoint &point, const mitk::Color *color=nullptr)
Show the popup at the given position.
void mouseReleaseEvent(QMouseEvent *) override
void paintEvent(QPaintEvent *) override
QmitkPopupColorChooser(QWidget *parent=nullptr, unsigned int steps=16, unsigned int size=150)
Construct the popup color chooser.
void keyReleaseEvent(QKeyEvent *) override
~QmitkPopupColorChooser() override
Destructor.
void mouseMoveEvent(QMouseEvent *) override
void closeEvent(QCloseEvent *) override
void drawGradient(QPainter *p)
Property for storing RGB color values.
itk::RGBPixel< float > Color
Standard RGB color typedef using float components.