Exemple #1
0
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();
}