void ChooseColorDialog::apply() { CurveList curveList = _store->getObjects<Curve>(); for (CurveList::iterator curve_iter = curveList.begin(); curve_iter != curveList.end(); ++curve_iter) { VectorPtr vector; CurvePtr curve = kst_cast<Curve>(*curve_iter); if (_xVector->isChecked()) { vector = curve->xVector(); } else { vector = curve->yVector(); } if (DataVectorPtr dataVector = kst_cast<DataVector>(vector)) { curve->writeLock(); curve->setColor(getColorForFile(dataVector->filename())); curve->registerChange(); curve->unlock(); } } // Store the selected colors in the corresponding datasource objects QMutableMapIterator<DataSourcePtr, QColor> itDatasource(_dataSourceColors); QListIterator<ColorButton*> itColorButton(_colorButtons); DataSourcePtr ds; while (itDatasource.hasNext()) { ds = itDatasource.next().key(); ds->setColor(itColorButton.next()->color()); // Per construction there should always be as many color buttons as datasources } updateColorGroup(); // This will update the _dataSourceColors map UpdateManager::self()->doUpdates(true); kstApp->mainWindow()->document()->setChanged(true); }
void DifferentiateCurvesDialog::apply() { bool lineColorOrder = !_selectedListBox->findItems(tr("Line Color"), Qt::MatchExactly).empty(); bool pointStyleOrder = !_selectedListBox->findItems(tr("Point Style"), Qt::MatchExactly).empty(); bool lineStyleOrder = !_selectedListBox->findItems(tr("Line Style"), Qt::MatchExactly).empty(); bool lineWidthOrder = !_selectedListBox->findItems(tr("Line Width"), Qt::MatchExactly).empty(); int maxLineWidth = _maxLineWidth->value(); int pointDensity = _pointDensity->currentIndex(); int sequenceNum = 0; CurveList curveList = _store->getObjects<Curve>(); for (CurveList::iterator curve_iter = curveList.begin(); curve_iter != curveList.end(); ++curve_iter) { CurvePtr curve = kst_cast<Curve>(*curve_iter); curve->writeLock(); if (lineColorOrder) { curve->setColor(ColorSequence::entry(sequenceNum)); } if (pointStyleOrder) { curve->setPointType(sequenceNum % KSTPOINT_MAXTYPE); curve->setHasPoints(true); curve->setPointDensity(pointDensity); } if (lineStyleOrder) { curve->setLineStyle(sequenceNum % LINESTYLE_MAXTYPE); } if (lineWidthOrder) { curve->setLineWidth((sequenceNum + 1) % maxLineWidth); } curve->registerChange(); curve->unlock(); ++sequenceNum; } resetLists(); UpdateManager::self()->doUpdates(true); kstApp->mainWindow()->document()->setChanged(true); }
void ChooseColorDialog::apply() { CurveList curveList = _store->getObjects<Curve>(); for (CurveList::iterator curve_iter = curveList.begin(); curve_iter != curveList.end(); ++curve_iter) { VectorPtr vector; CurvePtr curve = kst_cast<Curve>(*curve_iter); if (_xVector->isChecked()) { vector = curve->xVector(); } else { vector = curve->yVector(); } if (DataVectorPtr dataVector = kst_cast<DataVector>(vector)) { curve->writeLock(); curve->setColor(getColorForFile(dataVector->dp()->filename())); curve->registerChange(); curve->unlock(); } } updateColorGroup(); UpdateManager::self()->doUpdates(true); kstApp->mainWindow()->document()->setChanged(true); }