16 #include "colorgrid.h"
18 #include <QDataStream>
19 #include <QScrollArea>
21 #include "colorgriditem.h"
22 #include "colorwheel.h"
23 #include "flowlayout.h"
25 ColorGrid::ColorGrid(QWidget *parent) :
32 void ColorGrid::initItems()
34 QWidget *widget =
new QWidget(
this);
35 widget->setBackgroundRole(QPalette::Light);
37 for(
int i=0;i<gridCount;++i){
39 connect(item, SIGNAL(colorDroped(
int)),
40 this, SIGNAL(colorDroped(
int)));
41 connect(item, SIGNAL(colorPicked(
int,QColor)),
42 this, SIGNAL(colorPicked(
int,QColor)));
44 mLayout->addWidget(item);
46 widget->setLayout(mLayout);
47 this->setWidget(widget);
48 setWidgetResizable(
true);
51 void ColorGrid::setColor(
const int &
id,
const QColor &c)
53 if(items.count() <= id){
56 items[id]->setColor(c);
59 QByteArray ColorGrid::dataExport()
62 QDataStream stream(&array, QIODevice::WriteOnly);
63 for(
int i=0;i<mLayout->count();++i)
68 stream << item->color();
74 bool ColorGrid::dataImport(
const QByteArray &array)
76 QDataStream stream(array);
77 for(
int i=0;i<mLayout->count();++i){
82 item->setColor(color);
88 QSize ColorGrid::sizeHint ()
const
90 return QSize(width(), height());
92 QSize ColorGrid::minimumSizeHint ()
const
94 return QSize(100, 100);