void ChooseColorDialog::updateColorGroup() { // cannot use dataSourceList.fileNames() as it contains datasources that // are not used by any curves or vectors DataVectorList vcList = _store->getObjects<DataVector>(); QStringList fileNameList; for (DataVectorList::Iterator vc_iter = vcList.begin(); vc_iter != vcList.end(); ++vc_iter) { if (fileNameList.contains((*vc_iter)->dp()->filename()) == 0) fileNameList.push_back((*vc_iter)->dp()->filename()); } cleanColorGroup(); grid = new QGridLayout(colorFrame); grid->setSpacing(8); grid->setColumnStretch(1,0); int i = fileNameList.count(); for (QStringList::Iterator it = fileNameList.begin(); it != fileNameList.end(); ++it) { QLineEdit* dataSourceName = new QLineEdit(colorFrame); dataSourceName->setReadOnly(true); dataSourceName->setText(*it); grid->addWidget(dataSourceName,i,0); lineEdits.push_back(dataSourceName); dataSourceName->show(); ColorButton* dataSourceColor = new ColorButton(colorFrame); dataSourceColor->setColor(ColorSequence::next()); grid->addWidget(dataSourceColor,i,1); colorButtons.push_back(dataSourceColor); dataSourceColor->show(); i++; } adjustSize(); resize(QSize(500, minimumSizeHint().height())); setFixedHeight(height()); }
void ChooseColorDialog::updateColorGroup() { // cannot use dataSourceList.fileNames() as it contains datasources that // are not used by any curves or vectors DataVectorList vcList = _store->getObjects<DataVector>(); _dataSourceColors.clear(); for (DataVectorList::Iterator vc_iter = vcList.begin(); vc_iter != vcList.end(); ++vc_iter) { if (! (_dataSourceColors.contains((*vc_iter)->dataSource()))) _dataSourceColors[(*vc_iter)->dataSource()] = (*vc_iter)->dataSource()->color(); } cleanColorGroup(); _grid = new QGridLayout(colorFrame); _grid->setSpacing(8); _grid->setColumnStretch(0,1); _grid->setColumnMinimumWidth(0,450); int i=0; QMapIterator<DataSourcePtr, QColor> it(_dataSourceColors); while (it.hasNext()) { it.next(); QLineEdit* dataSourceName = new QLineEdit(colorFrame); dataSourceName->setReadOnly(true); dataSourceName->setText(it.key()->fileName()); _grid->addWidget(dataSourceName,i,0); _lineEdits.push_back(dataSourceName); dataSourceName->show(); ColorButton* dataSourceColor = new ColorButton(colorFrame); dataSourceColor->setColor(it.value()); _grid->addWidget(dataSourceColor,i,1); _colorButtons.push_back(dataSourceColor); dataSourceColor->show(); i++; } adjustSize(); }