Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef QMITK_COLORPROPERTYEDITOR_H_INCLUDED
00018 #define QMITK_COLORPROPERTYEDITOR_H_INCLUDED
00019
00020 #include "QmitkColorPropertyView.h"
00021 #include "QmitkExtExports.h"
00022 #include <QFrame>
00023 #include <mitkColorProperty.h>
00024
00025 class QListBox;
00026
00028 class QmitkExt_EXPORT QmitkPopupColorChooser : public QFrame
00029 {
00030 Q_OBJECT
00031
00032 public:
00033
00034 QmitkPopupColorChooser(QWidget* parent = 0, unsigned int steps = 16, unsigned int size = 150);
00035 virtual ~QmitkPopupColorChooser();
00036
00037 void setSteps(int);
00038
00039 virtual void popup(QWidget* parent, const QPoint& point, const mitk::Color* = 0);
00040
00041 signals:
00042
00043 void colorSelected(QColor);
00044
00045 protected:
00046
00047 virtual void keyReleaseEvent(QKeyEvent*);
00048
00049 virtual void mouseMoveEvent(QMouseEvent*);
00050 virtual void mouseReleaseEvent(QMouseEvent*);
00051 virtual void closeEvent(QCloseEvent*);
00052
00053 virtual void paintEvent(QPaintEvent*);
00054 void drawGradient(QPainter* p);
00055
00056 private:
00057
00058 QWidget* m_popupParent;
00059 QWidget* my_parent;
00060
00061 unsigned int m_Steps;
00062 unsigned int m_Steps2;
00063 unsigned int m_HStep;
00064 unsigned int m_SStep;
00065 unsigned int m_VStep;
00066
00067 int m_H;
00068 int m_S;
00069 int m_V;
00070 QColor m_OriginalColor;
00071 };
00072
00074 class QmitkExt_EXPORT QmitkColorPropertyEditor : public QmitkColorPropertyView
00075 {
00076 Q_OBJECT
00077
00078 public:
00079
00080 QmitkColorPropertyEditor( const mitk::ColorProperty*, QWidget* parent );
00081 virtual ~QmitkColorPropertyEditor();
00082
00083 protected:
00084
00085 virtual void mousePressEvent(QMouseEvent*);
00086 virtual void mouseReleaseEvent(QMouseEvent*);
00087
00088 static QmitkPopupColorChooser* colorChooser;
00089 static int colorChooserRefCount;
00090
00091 protected slots:
00092
00093 void onColorSelected(QColor);
00094
00095 private:
00096
00097 };
00098
00099 #endif
00100