bool Doc::addFixture(Fixture* fixture, quint32 id) { Q_ASSERT(fixture != NULL); // No ID given, this method can assign one if (id == Fixture::invalidId()) id = createFixtureId(); if (m_fixtures.contains(id) == true || id == Fixture::invalidId()) { qWarning() << Q_FUNC_INFO << "a fixture with ID" << id << "already exists!"; return false; } else { fixture->setID(id); m_fixtures[id] = fixture; /* Patch fixture change signals thru Doc */ connect(fixture, SIGNAL(changed(quint32)), this, SLOT(slotFixtureChanged(quint32))); /* Keep track of fixture addresses */ for (uint i = fixture->universeAddress(); i < fixture->universeAddress() + fixture->channels(); i++) { m_addresses[i] = id; } emit fixtureAdded(id); setModified(); return true; } }
bool Doc::addFixture(Fixture* fixture, quint32 id) { Q_ASSERT(fixture != NULL); // No ID given, this method can assign one if (id == Fixture::invalidId()) id = createFixtureId(); if (m_fixtures.contains(id) == true || id == Fixture::invalidId()) { qWarning() << Q_FUNC_INFO << "a fixture with ID" << id << "already exists!"; return false; } else { fixture->setID(id); m_fixtures.insert(id, fixture); /* Patch fixture change signals thru Doc */ connect(fixture, SIGNAL(changed(quint32)), this, SLOT(slotFixtureChanged(quint32))); /* Keep track of fixture addresses */ for (uint i = fixture->universeAddress(); i < fixture->universeAddress() + fixture->channels(); i++) { m_addresses[i] = id; } // Add the fixture channels capabilities to the universe they belong QList<Universe *> universes = inputOutputMap()->claimUniverses(); int uni = fixture->universe(); // TODO !!! if a universe for this fixture doesn't exist, add it !!! QList<int> forcedHTP = fixture->forcedHTPChannels(); QList<int> forcedLTP = fixture->forcedLTPChannels(); for (quint32 i = 0 ; i < fixture->channels(); i++) { const QLCChannel* channel(fixture->channel(i)); if (forcedHTP.contains(i)) universes.at(uni)->setChannelCapability(fixture->address() + i, channel->group(), Universe::HTP); else if (forcedLTP.contains(i)) universes.at(uni)->setChannelCapability(fixture->address() + i, channel->group(), Universe::LTP); else universes.at(uni)->setChannelCapability(fixture->address() + i, channel->group()); ChannelModifier *mod = fixture->channelModifier(i); universes.at(uni)->setChannelModifier(fixture->address() + i, mod); } inputOutputMap()->releaseUniverses(true); emit fixtureAdded(id); setModified(); return true; } }
int Doc_Test::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: initTestCase(); break; case 1: defaults(); break; case 2: createFixtureId(); break; case 3: addFixture(); break; case 4: deleteFixture(); break; case 5: fixture(); break; case 6: totalPowerConsumption(); break; case 7: addFunction(); break; case 8: deleteFunction(); break; case 9: function(); break; case 10: load(); break; case 11: loadWrongRoot(); break; case 12: save(); break; default: ; } _id -= 13; } return _id; }