115 , _indexLabel(indexLabel)
117 auto *hboxLayout =
new QHBoxLayout();
118 hboxLayout->setContentsMargins(0, 0, 0, 0);
119 setLayout(hboxLayout);
121 auto *addBtn =
new QToolButton;
122 addBtn->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
123 auto *detailAction =
new QAction(tr(
"&Add..."));
124 QIcon detailIcon = QIcon::fromTheme(
"addlayer", QIcon::fromTheme(
"list-add"));
125 detailAction->setIcon(detailIcon);
126 addBtn->setDefaultAction(detailAction);
127 addBtn->setFixedHeight(16);
128 auto *swatchControlLayout =
new QVBoxLayout();
129 swatchControlLayout->setContentsMargins(0, 0, 0, 0);
130 swatchControlLayout->setAlignment(Qt::AlignLeft | Qt::AlignCenter);
131 auto *addRemoveBtnLayout =
new QHBoxLayout();
132 addRemoveBtnLayout->setContentsMargins(0, 0, 0, 0);
133 addRemoveBtnLayout->setSpacing(0);
134 addRemoveBtnLayout->addWidget(addBtn);
135 swatchControlLayout->addLayout(addRemoveBtnLayout);
136 swatchControlLayout->addStretch();
138 auto *paletteLayout =
new QHBoxLayout();
139 paletteLayout->setContentsMargins(0, 0, 0, 0);
140 auto *colorGrid =
new QWidget();
141 colorGrid->setMinimumWidth(256);
146 colorGrid->setLayout(paletteLayout);
148 hboxLayout->addWidget(colorGrid);
149 hboxLayout->addLayout(swatchControlLayout);
150 hboxLayout->addStretch();
153 connect(addBtn, SIGNAL(triggered(QAction *)),
this, SLOT(
addNewColor()));
198 if (index >= 0 && index < _gridLayout->count()) {
199 KSeExpr::Vec3d newColor(color.redF(), color.greenF(), color.blueF());
200 QLayoutItem *layoutItem =
_gridLayout->itemAt(index);
201 if (layoutItem && layoutItem->widget()) {
202 QWidget *widget = layoutItem->widget();
203 auto *cFrame = (
dynamic_cast<ExprColorWidget *
>(widget))->getColorFrame();
204 cFrame->setValue(newColor);
211 if (index >= 0 && index < _gridLayout->count()) {
212 QLayoutItem *layoutItem =
_gridLayout->itemAt(index);
213 if (layoutItem && layoutItem->widget()) {
214 QWidget *widget = layoutItem->widget();
217 return QColor::fromRgbF(val[0], val[1], val[2], 1);