本文整理汇总了C++中QLCInputProfile::channels方法的典型用法代码示例。如果您正苦于以下问题:C++ QLCInputProfile::channels方法的具体用法?C++ QLCInputProfile::channels怎么用?C++ QLCInputProfile::channels使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QLCInputProfile
的用法示例。
在下文中一共展示了QLCInputProfile::channels方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
void QLCInputProfile_Test::load()
{
QBuffer buffer;
buffer.open(QIODevice::WriteOnly | QIODevice::Text);
QXmlStreamWriter xmlWriter(&buffer);
xmlWriter.writeStartDocument();
xmlWriter.writeDTD("<!DOCTYPE InputProfile>");
xmlWriter.writeStartElement("InputProfile");
xmlWriter.writeTextElement("Manufacturer", "Behringer");
xmlWriter.writeTextElement("Model", "BCF2000");
xmlWriter.writeStartElement("Channel");
xmlWriter.writeAttribute("Number", "492");
xmlWriter.writeTextElement("Name", "Foobar");
xmlWriter.writeTextElement("Type", "Slider");
xmlWriter.writeEndDocument();
xmlWriter.setDevice(NULL);
buffer.close();
buffer.open(QIODevice::ReadOnly | QIODevice::Text);
QXmlStreamReader xmlReader(&buffer);
QLCInputProfile ip;
QVERIFY(ip.loadXML(xmlReader) == true);
QVERIFY(ip.manufacturer() == "Behringer");
QVERIFY(ip.model() == "BCF2000");
QVERIFY(ip.channels().size() == 1);
QVERIFY(ip.channel(492) != NULL);
QVERIFY(ip.channel(492)->name() == "Foobar");
QVERIFY(ip.channel(492)->type() == QLCInputChannel::Slider);
}
示例2: fillTree
void SelectInputChannel::fillTree()
{
QLCInputChannel* channel;
QTreeWidgetItem* uniItem;
QTreeWidgetItem* chItem;
QLCInputProfile* profile;
quint32 uni;
InputPatch* patch;
/* Add an option to select no input at all */
chItem = new QTreeWidgetItem(m_tree);
chItem->setText(KColumnName, KInputNone);
chItem->setText(KColumnUniverse, QString("%1")
.arg(InputMap::invalidUniverse()));
chItem->setText(KColumnChannel, QString("%1")
.arg(KInputChannelInvalid));
for (uni = 0; uni < _app->inputMap()->universes(); uni++)
{
/* Get the patch associated to the current universe */
patch = _app->inputMap()->patch(uni);
Q_ASSERT(patch != NULL);
/* Make an item for each universe */
uniItem = new QTreeWidgetItem(m_tree);
updateUniverseItem(uniItem, uni, patch);
if (patch->plugin() != NULL && patch->input() != KInputInvalid)
{
/* Add a manual option to each patched universe */
chItem = new QTreeWidgetItem(uniItem);
updateChannelItem(chItem, uni, NULL, NULL);
}
/* Add known channels from profile (if any) */
profile = patch->profile();
if (profile != NULL)
{
QMapIterator <quint32, QLCInputChannel*>
it(profile->channels());
while (it.hasNext() == true)
{
channel = it.next().value();
Q_ASSERT(channel != NULL);
chItem = new QTreeWidgetItem(uniItem);
updateChannelItem(chItem, uni, channel,
profile);
}
}
}
/* Listen to item changed signals so that we can catch user's
manual input for <...> nodes. Connect AFTER filling the tree
so all the initial item->setText()'s won't get caught here. */
connect(m_tree, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
this, SLOT(slotItemChanged(QTreeWidgetItem*,int)));
}
示例3: save
void QLCInputProfile_Test::save()
{
QLCInputProfile ip;
ip.setManufacturer("TestManufacturer");
ip.setModel("TestModel");
QLCInputChannel* ich1 = new QLCInputChannel();
ich1->setName("Channel 1");
ip.insertChannel(0, ich1);
QLCInputChannel* ich2 = new QLCInputChannel();
ich2->setName("Channel 2");
ip.insertChannel(5, ich2);
QLCInputChannel* ich3 = new QLCInputChannel();
ich3->setName("Channel 3");
ip.insertChannel(2, ich3);
QString path("test.qxi");
QVERIFY(ip.saveXML(path) == true);
#if !defined(WIN32) && !defined(Q_OS_WIN)
QFile::Permissions perm = QFile::permissions(path);
QFile::setPermissions(path, 0);
QVERIFY(ip.saveXML(path) == false);
QFile::setPermissions(path, perm);
#endif
QLCInputProfile* prof = QLCInputProfile::loader(path);
QVERIFY(prof != NULL);
QCOMPARE(prof->manufacturer(), ip.manufacturer());
QCOMPARE(prof->model(), ip.model());
QCOMPARE(prof->name(), ip.name());
QCOMPARE(prof->channels().size(), ip.channels().size());
QCOMPARE(prof->channels()[0]->name(), ich1->name());
QCOMPARE(prof->channels()[2]->name(), ich3->name());
QCOMPARE(prof->channels()[5]->name(), ich2->name());
QVERIFY(QFile::remove(path) == true);
delete prof;
}
示例4: remapChannel
void QLCInputProfile_Test::remapChannel()
{
QLCInputProfile ip;
QLCInputChannel* ich1 = new QLCInputChannel();
ich1->setName("Foobar");
ip.insertChannel(0, ich1);
QVERIFY(ip.channel(0) == ich1);
QLCInputChannel* ich2 = new QLCInputChannel();
ip.insertChannel(5, ich2);
QVERIFY(ip.channel(0) == ich1);
QVERIFY(ip.channel(5) == ich2);
QVERIFY(ip.remapChannel(ich1, 9000) == true);
QVERIFY(ip.channel(0) == NULL);
QVERIFY(ip.channel(5) == ich2);
QVERIFY(ip.channel(9000) == ich1);
QVERIFY(ip.channel(9000)->name() == "Foobar");
QVERIFY(ip.remapChannel(NULL, 9000) == false);
QVERIFY(ip.channels().size() == 2);
QVERIFY(ip.channel(0) == NULL);
QVERIFY(ip.channel(5) == ich2);
QVERIFY(ip.channel(9000) == ich1);
QVERIFY(ip.channel(9000)->name() == "Foobar");
QLCInputChannel* ich3 = new QLCInputChannel();
QVERIFY(ip.remapChannel(ich3, 5) == false);
QVERIFY(ip.channels().size() == 2);
QVERIFY(ip.channel(0) == NULL);
QVERIFY(ip.channel(5) == ich2);
QVERIFY(ip.channel(9000) == ich1);
QVERIFY(ip.channel(9000)->name() == "Foobar");
delete ich3;
}
示例5: loader
void QLCInputProfile_Test::loader()
{
QLCInputProfile* prof = QLCInputProfile::loader("foobar");
QVERIFY(prof == NULL);
prof = QLCInputProfile::loader("broken.xml");
QVERIFY(prof == NULL);
QString path(PROFILEDIR "Generic-MIDI.qxi");
prof = QLCInputProfile::loader(path);
QVERIFY(prof != NULL);
QCOMPARE(prof->path(), path);
QCOMPARE(prof->name(), QString("Generic MIDI"));
QCOMPARE(prof->channels().size(), 256);
}
示例6: copy
void QLCInputProfile_Test::copy()
{
QLCInputProfile ip;
ip.setManufacturer("Behringer");
ip.setModel("BCF2000");
QLCInputChannel* ich1 = new QLCInputChannel();
ich1->setName("Channel 1");
ip.insertChannel(0, ich1);
QLCInputChannel* ich2 = new QLCInputChannel();
ich2->setName("Channel 2");
ip.insertChannel(5, ich2);
QLCInputChannel* ich3 = new QLCInputChannel();
ich3->setName("Channel 3");
ip.insertChannel(2, ich3);
QLCInputChannel* ich4 = new QLCInputChannel();
ich4->setName("Channel 4");
ip.insertChannel(9000, ich4);
QLCInputProfile copy = ip;
QVERIFY(copy.manufacturer() == "Behringer");
QVERIFY(copy.model() == "BCF2000");
QVERIFY(copy.channels().size() == 4);
/* Verify that it's a deep copy */
QVERIFY(copy.channel(0) != ich1);
QVERIFY(copy.channel(0) != NULL);
QVERIFY(copy.channel(0)->name() == "Channel 1");
QVERIFY(copy.channel(5) != ich2);
QVERIFY(copy.channel(5) != NULL);
QVERIFY(copy.channel(5)->name() == "Channel 2");
QVERIFY(copy.channel(2) != ich3);
QVERIFY(copy.channel(2) != NULL);
QVERIFY(copy.channel(2)->name() == "Channel 3");
QVERIFY(copy.channel(9000) != ich4);
QVERIFY(copy.channel(9000) != NULL);
QVERIFY(copy.channel(9000)->name() == "Channel 4");
}
示例7: channelNumber
void QLCInputProfile_Test::channelNumber()
{
QLCInputProfile ip;
QVERIFY(ip.channels().size() == 0);
QLCInputChannel* ich1 = new QLCInputChannel();
ip.insertChannel(0, ich1);
QLCInputChannel* ich2 = new QLCInputChannel();
ip.insertChannel(6510, ich2);
QLCInputChannel* ich3 = new QLCInputChannel();
ip.insertChannel(5, ich3);
QCOMPARE(ip.channelNumber(NULL), InputMap::invalidChannel());
QCOMPARE(ip.channelNumber(ich1), quint32(0));
QCOMPARE(ip.channelNumber(ich2), quint32(6510));
QCOMPARE(ip.channelNumber(ich3), quint32(5));
}
示例8: addChannel
void QLCInputProfile_Test::addChannel()
{
QLCInputProfile ip;
QLCInputChannel* ich1 = new QLCInputChannel();
ip.insertChannel(0, ich1);
QVERIFY(ip.channel(0) == ich1);
QVERIFY(ip.channels().size() == 1);
/* Shouldn't overwrite the existing mapping */
QLCInputChannel* ich2 = new QLCInputChannel();
ip.insertChannel(0, ich2);
QVERIFY(ip.channel(0) == ich1);
ip.insertChannel(5, ich2);
QVERIFY(ip.channel(0) == ich1);
QVERIFY(ip.channel(1) == NULL);
QVERIFY(ip.channel(2) == NULL);
QVERIFY(ip.channel(3) == NULL);
QVERIFY(ip.channel(4) == NULL);
QVERIFY(ip.channel(5) == ich2);
}
示例9: isButton
bool VCSlider::isButton(quint32 universe, quint32 channel)
{
InputPatch* patch = NULL;
QLCInputProfile* profile = NULL;
QLCInputChannel* ch = NULL;
patch = m_doc->inputMap()->patch(universe);
if (patch != NULL)
{
profile = patch->profile();
if (profile != NULL)
{
ch = profile->channels()[channel];
if (ch != NULL)
{
return (ch->type() == QLCInputChannel::Button);
}
}
}
return false;
}
示例10: load
void QLCInputProfile_Test::load()
{
QDomDocument doc;
QDomElement profile = doc.createElement("InputProfile");
QDomElement manuf = doc.createElement("Manufacturer");
QDomText manufText = doc.createTextNode("Behringer");
manuf.appendChild(manufText);
profile.appendChild(manuf);
QDomElement model = doc.createElement("Model");
QDomText modelText = doc.createTextNode("BCF2000");
model.appendChild(modelText);
profile.appendChild(model);
doc.appendChild(profile);
QDomElement ch = doc.createElement("Channel");
ch.setAttribute("Number", 492);
profile.appendChild(ch);
QDomElement name = doc.createElement("Name");
QDomText nameText = doc.createTextNode("Foobar");
name.appendChild(nameText);
ch.appendChild(name);
QDomElement type = doc.createElement("Type");
QDomText typeText = doc.createTextNode("Slider");
type.appendChild(typeText);
ch.appendChild(type);
QLCInputProfile ip;
QVERIFY(ip.loadXML(&doc) == true);
QVERIFY(ip.manufacturer() == "Behringer");
QVERIFY(ip.model() == "BCF2000");
QVERIFY(ip.channels().size() == 1);
QVERIFY(ip.channel(492) != NULL);
QVERIFY(ip.channel(492)->name() == "Foobar");
QVERIFY(ip.channel(492)->type() == QLCInputChannel::Slider);
}
示例11: channels
void QLCInputProfile_Test::channels()
{
QLCInputProfile ip;
QVERIFY(ip.channels().size() == 0);
QLCInputChannel* ich1 = new QLCInputChannel();
ip.insertChannel(0, ich1);
QLCInputChannel* ich2 = new QLCInputChannel();
ip.insertChannel(5, ich2);
QVERIFY(ip.channels().size() == 2);
QVERIFY(ip.channels().contains(0) == true);
QVERIFY(ip.channels().contains(1) == false);
QVERIFY(ip.channels().contains(2) == false);
QVERIFY(ip.channels().contains(3) == false);
QVERIFY(ip.channels().contains(4) == false);
QVERIFY(ip.channels().contains(5) == true);
QVERIFY(ip.channels()[0] == ich1);
QVERIFY(ip.channels()[5] == ich2);
}