00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _PALETTEEDITOR_H_
00022 #define _PALETTEEDITOR_H_
00023
00024 #include "../core/palette.h"
00025
00026 #include <QtGui/QFrame>
00027 #include <QtGui/QMouseEvent>
00028
00033 class PaletteEditor : public QFrame
00034 {
00035 Q_OBJECT
00036
00037 private:
00038 Palette m_palette;
00039 int m_move_index;
00040
00041 public:
00047 PaletteEditor( QWidget* _parent = 0, Qt::WFlags _flags = 0 );
00048
00053 const Palette& palette() const { return m_palette; }
00054
00055 protected:
00056 virtual void paintEvent( QPaintEvent * _event );
00057
00058 virtual void mouseMoveEvent( QMouseEvent* _event );
00059 virtual void mousePressEvent( QMouseEvent* _event );
00060 virtual void mouseReleaseEvent( QMouseEvent* _event );
00061
00062 private:
00069 void addEllipse( QPainterPath& _painter_path, qreal _position );
00070
00071 public slots:
00076 void setPalette( const Palette& _palette ) { m_palette = _palette; repaint(); };
00077
00078 signals:
00083 void paletteChanged( const Palette& _palette );
00084 };
00085
00086 #endif //_PALETTEEDITOR_H_