void Palette::updateList() { //listOfColours->clear(); // for some reason, this creates an bus error when one removes the last element while(listOfColours->count() > 0) listOfColours->takeItem(0); for(int i=0; i < editor->object->getColourCount(); i++) { ColourRef colourRef = editor->object->getColour(i); QListWidgetItem* colourItem = new QListWidgetItem(listOfColours); colourItem->setText( colourRef.name ); QPixmap colourSwatch(32,32); colourSwatch.fill( colourRef.colour ); QPainter painter(&colourSwatch); painter.setPen( QColor(0,0,0,128) ); painter.drawRect( QRect(0,-1,31,31) ); colourItem->setIcon( colourSwatch ); } update(); }
void ColorPaletteWidget::refreshColorList() { if ( ui->colorListWidget->count() > 0) { ui->colorListWidget->clear(); } for (int i = 0; i < core()->object()->getColourCount(); i++) { ColourRef colourRef = core()->object()->getColour(i); QListWidgetItem* colourItem = new QListWidgetItem( ui->colorListWidget ); colourItem->setText( colourRef.name ); QPixmap colourSwatch(32, 32); colourSwatch.fill( colourRef.colour ); colourItem->setIcon( colourSwatch ); ui->colorListWidget->addItem( colourItem ); } update(); }
void ColorPaletteWidget::updateItemColor( int itemIndex, QColor newColor ) { QPixmap colourSwatch(32, 32); colourSwatch.fill( newColor ); ui->colorListWidget->item( itemIndex )->setIcon( colourSwatch ); }