void QLCFixtureHead_Test::load() { QBuffer buffer; buffer.open(QIODevice::WriteOnly | QIODevice::Text); QXmlStreamWriter xmlWriter(&buffer); xmlWriter.writeStartElement("Head"); xmlWriter.writeTextElement("Channel", "0"); xmlWriter.writeTextElement("Channel", "1"); xmlWriter.writeTextElement("Channel", "15"); xmlWriter.writeTextElement("Foo", "25"); xmlWriter.writeTextElement("Channel", "42"); xmlWriter.writeEndDocument(); xmlWriter.setDevice(NULL); buffer.close(); buffer.open(QIODevice::ReadOnly | QIODevice::Text); QXmlStreamReader xmlReader(&buffer); xmlReader.readNextStartElement(); QLCFixtureHead head; QVERIFY(head.loadXML(xmlReader)); QCOMPARE(head.channels().size(), 4); QVERIFY(head.channels().contains(0)); QVERIFY(head.channels().contains(1)); QVERIFY(head.channels().contains(15)); QVERIFY(head.channels().contains(42)); }
void EditMode::refreshHeadList() { m_headList->clear(); for (int i = 0; i < m_mode->heads().size(); i++) { QTreeWidgetItem* item = new QTreeWidgetItem(m_headList); QLCFixtureHead head = m_mode->heads().at(i); QList <quint32> channels(head.channels()); qSort(channels.begin(), channels.end()); QString summary; QListIterator <quint32> it(channels); while (it.hasNext() == true) { quint32 chnum = it.next(); const QLCChannel* ch = m_mode->channel(chnum); QTreeWidgetItem* chitem = new QTreeWidgetItem(item); if (ch != NULL) chitem->setText(0, QString("%1: %2").arg(chnum + 1).arg(ch->name())); else chitem->setText(0, QString("%1: INVALID!")); chitem->setFlags(0); // Disable channel selection inside heads summary += QString::number(chnum + 1); if (it.hasNext() == true) summary += QString(", "); } item->setText(0, QString("Head %1 (%2)").arg(i + 1).arg(summary)); } m_headList->resizeColumnToContents(0); }
void QLCFixtureHead_Test::channels() { QLCFixtureHead head; QCOMPARE(head.channels().size(), 0); head.addChannel(0); QCOMPARE(head.channels().size(), 1); QCOMPARE(head.channels().contains(0), true); head.addChannel(0); QCOMPARE(head.channels().size(), 1); QCOMPARE(head.channels().contains(0), true); head.addChannel(5000); QCOMPARE(head.channels().size(), 2); QCOMPARE(head.channels().contains(0), true); QCOMPARE(head.channels().contains(5000), true); head.removeChannel(1); QCOMPARE(head.channels().size(), 2); QCOMPARE(head.channels().contains(0), true); QCOMPARE(head.channels().contains(5000), true); head.removeChannel(0); QCOMPARE(head.channels().size(), 1); QCOMPARE(head.channels().contains(5000), true); head.removeChannel(5000); QCOMPARE(head.channels().size(), 0); }