void QLCFixtureEditor::updateModeItem(const QLCFixtureMode* mode, QTreeWidgetItem* item) { Q_ASSERT(mode != NULL); Q_ASSERT(item != NULL); item->setText(MODE_COL_NAME, mode->name()); item->setData(MODE_COL_NAME, PROP_PTR, (qulonglong) mode); item->setText(MODE_COL_CHS, QString::number(mode->channels().size())); if (mode->heads().size() > 0) item->setText(MODE_COL_HEAD, QString::number(mode->heads().size())); else item->setText(MODE_COL_HEAD, QString()); /* Destroy the existing list of children */ QList <QTreeWidgetItem*> children(item->takeChildren()); foreach (QTreeWidgetItem* child, children) delete child; /* Put all mode channels as non-selectable sub items */ for (int i = 0; i < mode->channels().size(); i++) { QLCChannel* ch = mode->channel(i); Q_ASSERT(ch != NULL); QTreeWidgetItem* chitem = new QTreeWidgetItem(item); chitem->setText(MODE_COL_NAME, ch->name()); chitem->setIcon(MODE_COL_NAME, ch->getIcon()); chitem->setText(MODE_COL_CHS, QString("%1").arg(i + 1)); chitem->setFlags(0); /* No selection etc. */ } }
void EditMode::refreshChannelList() { m_channelList->clear(); for (int i = 0; i < m_mode->channels().size(); i++) { QTreeWidgetItem* item = new QTreeWidgetItem(m_channelList); QLCChannel* ch = m_mode->channel(i); Q_ASSERT(ch != NULL); QString str; str.sprintf("%.3d", (i + 1)); item->setText(COL_NUM, str); item->setText(COL_NAME, ch->name()); item->setIcon(COL_NAME, ch->getIcon()); item->setData(COL_NAME, PROP_PTR, (qulonglong) ch); } m_channelList->header()->resizeSections(QHeaderView::ResizeToContents); }