SeExpr
ExprColorSwatch.h
Go to the documentation of this file.
1#ifndef _ExprColorSwatch_h_
2#define _ExprColorSwatch_h_
3
4#include <vector>
5#include <QObject>
6#include <QFrame>
7#include <QWidget>
8#include <SeExpr2/Vec.h>
9
10class QGridLayout;
11
12class ExprColorFrame : public QFrame {
13 Q_OBJECT
14 public:
15 ExprColorFrame(SeExpr2::Vec3d value, QWidget *parent = 0);
17
18 void setValue(const SeExpr2::Vec3d &value);
20 bool selected() {
21 return _selected;
22 };
23
24 protected:
25 virtual void paintEvent(QPaintEvent *event);
26 virtual void mouseReleaseEvent(QMouseEvent *event);
27
28 private
29slots:
30 void deleteSwatchMenu(const QPoint &pos);
31
32signals:
34 void swatchChanged(QColor color);
36
37 private:
39 QColor _color;
41};
42
43// Simple color widget with or without index label
44class ExprColorWidget : public QWidget {
45 Q_OBJECT
46 public:
47 ExprColorWidget(SeExpr2::Vec3d value, int index, bool indexLabel, QWidget *parent);
49
50 private:
52};
53
54class ExprColorSwatchWidget : public QWidget {
55 Q_OBJECT
56
57 public:
58 ExprColorSwatchWidget(bool indexLabel, QWidget *parent = 0);
60
61 // Convenience Functions
62 void addSwatch(SeExpr2::Vec3d &val, int index = -1);
63 void setSwatchColor(int index, QColor color);
64 QColor getSwatchColor(int index);
65
66 private
67slots:
68 void addNewColor();
70 void internalSwatchChanged(QColor color);
71
72signals:
77
78 private:
79 QGridLayout *_gridLayout;
82};
83#endif
void selValChangedSignal(SeExpr2::Vec3d value)
void deleteSwatchMenu(const QPoint &pos)
ExprColorFrame(SeExpr2::Vec3d value, QWidget *parent=0)
void swatchChanged(QColor color)
virtual void mouseReleaseEvent(QMouseEvent *event)
virtual void paintEvent(QPaintEvent *event)
SeExpr2::Vec3d _value
void setValue(const SeExpr2::Vec3d &value)
SeExpr2::Vec3d getValue() const
void deleteSwatch(ExprColorFrame *swatch)
QGridLayout * _gridLayout
void swatchAdded(int index, SeExpr2::Vec3d val)
void swatchRemoved(int index)
void setSwatchColor(int index, QColor color)
void swatchChanged(int index, SeExpr2::Vec3d val)
void removeSwatch(ExprColorFrame *)
ExprColorSwatchWidget(bool indexLabel, QWidget *parent=0)
void selValChangedSignal(SeExpr2::Vec3d val)
void addSwatch(SeExpr2::Vec3d &val, int index=-1)
void internalSwatchChanged(QColor color)
QColor getSwatchColor(int index)
ExprColorFrame * getColorFrame()
ExprColorFrame * _colorFrame
ExprColorWidget(SeExpr2::Vec3d value, int index, bool indexLabel, QWidget *parent)
The result is computed int int< br >< div style="margin-left: 40px;"> Picks values randomly between loRange and hiRange based on supplied index(which is automatically hashed). &nbsp
For any rgb or hsl value(except for negative s values)