00001 #ifndef CURVECOLORPICK_H 00002 #define CURVECOLORPICK_H 00003 00004 #include <QDialog> 00005 #include <QListWidgetItem> 00006 #include "color_wheel.hpp" 00007 #include "color_preview.hpp" 00008 00009 namespace Ui { 00010 class CurveColorPick; 00011 } 00012 00013 class CurveColorPick : public QDialog 00014 { 00015 Q_OBJECT 00016 00017 public: 00018 explicit CurveColorPick(const std::map<QString, QColor>& mapped_colors, QWidget *parent = 0); 00019 ~CurveColorPick(); 00020 00021 bool anyColorModified() const ; 00022 00023 private slots: 00024 void on_pushButtonClose_clicked(); 00025 00026 void on_pushButtonUndo_clicked(); 00027 00028 void on_listWidget_itemClicked(QListWidgetItem *item); 00029 00030 void on_colorChanged(QColor color); 00031 00032 signals: 00033 void changeColor(QString, QColor); 00034 00035 private: 00036 Ui::CurveColorPick *ui; 00037 color_widgets::ColorWheel *_color_wheel; 00038 color_widgets::ColorPreview *_color_preview; 00039 00040 const std::map<QString, QColor>& _mapped_colors; 00041 bool _any_modified; 00042 }; 00043 00044 #endif // CURVECOLORPICK_H