void QLCPhysical_Test::copy() { QLCPhysical c = p; QVERIFY(c.bulbType() == p.bulbType()); QVERIFY(c.bulbLumens() == p.bulbLumens()); QVERIFY(c.bulbColourTemperature() == p.bulbColourTemperature()); QVERIFY(c.weight() == p.weight()); QVERIFY(c.width() == p.width()); QVERIFY(c.height() == p.height()); QVERIFY(c.depth() == p.depth()); QVERIFY(c.lensName() == p.lensName()); QVERIFY(c.lensDegreesMin() == p.lensDegreesMin()); QVERIFY(c.lensDegreesMax() == p.lensDegreesMax()); QVERIFY(c.focusType() == p.focusType()); QVERIFY(c.focusPanMax() == p.focusPanMax()); QVERIFY(c.focusTiltMax() == p.focusTiltMax()); QVERIFY(c.powerConsumption() == p.powerConsumption()); QVERIFY(c.dmxConnector() == p.dmxConnector()); }
void EditMode::init() { QString str; QLCPhysical physical = m_mode->physical(); /* Channels page */ connect(m_addChannelButton, SIGNAL(clicked()), this, SLOT(slotAddChannelClicked())); connect(m_removeChannelButton, SIGNAL(clicked()), this, SLOT(slotRemoveChannelClicked())); connect(m_raiseChannelButton, SIGNAL(clicked()), this, SLOT(slotRaiseChannelClicked())); connect(m_lowerChannelButton, SIGNAL(clicked()), this, SLOT(slotLowerChannelClicked())); m_modeNameEdit->setText(m_mode->name()); m_channelList->header()->setResizeMode(QHeaderView::ResizeToContents); refreshChannelList(); /* Physical page */ m_bulbTypeCombo->setEditText(physical.bulbType()); m_bulbLumensSpin->setValue(physical.bulbLumens()); m_bulbTempCombo->setEditText(str.setNum(physical.bulbColourTemperature())); m_weightSpin->setValue(physical.weight()); m_widthSpin->setValue(physical.width()); m_heightSpin->setValue(physical.height()); m_depthSpin->setValue(physical.depth()); m_lensNameCombo->setEditText(physical.lensName()); m_lensDegreesMinSpin->setValue(physical.lensDegreesMin()); m_lensDegreesMaxSpin->setValue(physical.lensDegreesMax()); m_focusTypeCombo->setEditText(physical.focusType()); m_panMaxSpin->setValue(physical.focusPanMax()); m_tiltMaxSpin->setValue(physical.focusTiltMax()); m_powerConsumptionSpin->setValue(physical.powerConsumption()); m_dmxConnectorCombo->setEditText(physical.dmxConnector()); }
QString Fixture::status() const { QString info; QString t; QString title("<TR><TD CLASS='hilite' COLSPAN='3'>%1</TD></TR>"); QString subTitle("<TR><TD CLASS='subhi' COLSPAN='3'>%1</TD></TR>"); QString genInfo("<TR><TD CLASS='emphasis'>%1</TD><TD COLSPAN='2'>%2</TD></TR>"); /******************************************************************** * General info ********************************************************************/ info += "<TABLE COLS='3' WIDTH='100%'>"; // Fixture title info += title.arg(name()); // Manufacturer if (isDimmer() == false) { info += genInfo.arg(tr("Manufacturer")).arg(m_fixtureDef->manufacturer()); info += genInfo.arg(tr("Model")).arg(m_fixtureDef->model()); info += genInfo.arg(tr("Mode")).arg(m_fixtureMode->name()); info += genInfo.arg(tr("Type")).arg(m_fixtureDef->type()); } else { info += genInfo.arg(tr("Type")).arg(tr("Generic Dimmer")); } // Universe info += genInfo.arg(tr("Universe")).arg(universe() + 1); // Address QString range = QString("%1 - %2").arg(address() + 1).arg(address() + channels()); info += genInfo.arg(tr("Address Range")).arg(range); // Channels info += genInfo.arg(tr("Channels")).arg(channels()); // Binary address QString binaryStr = QString("%1").arg(address() + 1, 10, 2, QChar('0')); QString dipTable("<TABLE COLS='33' cellspacing='0'><TR><TD COLSPAN='33'><IMG SRC=\"" ":/ds_top.png\"></TD></TR>"); dipTable += "<TR><TD><IMG SRC=\"" ":/ds_border.png\"></TD><TD><IMG SRC=\"" ":/ds_border.png\"></TD>"; for (int i = 9; i >= 0; i--) { if (binaryStr.at(i) == '0') dipTable += "<TD COLSPAN='3'><IMG SRC=\"" ":/ds_off.png\"></TD>"; else dipTable += "<TD COLSPAN='3'><IMG SRC=\"" ":/ds_on.png\"></TD>"; } dipTable += "<TD><IMG SRC=\"" ":/ds_border.png\"></TD></TR>"; dipTable += "<TR><TD COLSPAN='33'><IMG SRC=\"" ":/ds_bottom.png\"></TD></TR>"; dipTable += "</TABLE>"; info += genInfo.arg(tr("Binary Address (DIP)")) .arg(QString("%1").arg(dipTable)); /******************************************************************** * Channels ********************************************************************/ // Title row info += QString("<TR><TD CLASS='subhi'>%1</TD>").arg(tr("Channel")); info += QString("<TD CLASS='subhi'>%1</TD>").arg(tr("DMX")); info += QString("<TD CLASS='subhi'>%1</TD></TR>").arg(tr("Name")); // Fill table with the fixture's channels for (quint32 ch = 0; ch < channels(); ch++) { QString chInfo("<TR><TD>%1</TD><TD>%2</TD><TD>%3</TD></TR>"); info += chInfo.arg(ch + 1).arg(address() + ch + 1) .arg(channel(ch)->name()); } /******************************************************************** * Extended device information for non-dimmers ********************************************************************/ if (isDimmer() == false) { QLCPhysical physical = m_fixtureMode->physical(); info += title.arg(tr("Physical")); float mmInch = 0.0393700787; float kgLbs = 2.20462262; QString mm("%1mm (%2\")"); QString kg("%1kg (%2 lbs)"); QString W("%1W"); info += genInfo.arg(tr("Width")).arg(mm.arg(physical.width())) .arg(physical.width() * mmInch, 0, 'g', 4); info += genInfo.arg(tr("Height")).arg(mm.arg(physical.height())) .arg(physical.height() * mmInch, 0, 'g', 4); info += genInfo.arg(tr("Depth")).arg(mm.arg(physical.depth())) .arg(physical.depth() * mmInch, 0, 'g', 4); info += genInfo.arg(tr("Weight")).arg(kg.arg(physical.weight())) .arg(physical.weight() * kgLbs, 0, 'g', 4); info += genInfo.arg(tr("Power consumption")).arg(W.arg(physical.powerConsumption())); info += genInfo.arg(tr("DMX Connector")).arg(physical.dmxConnector()); // Bulb QString K("%1K"); QString lm("%1lm"); info += subTitle.arg(tr("Bulb")); info += genInfo.arg(tr("Type")).arg(physical.bulbType()); info += genInfo.arg(tr("Luminous Flux")).arg(lm.arg(physical.bulbLumens())); info += genInfo.arg(tr("Colour Temperature")).arg(K.arg(physical.bulbColourTemperature())); // Lens QString angle1("%1°"); QString angle2("%1° – %2°"); info += subTitle.arg(tr("Lens")); info += genInfo.arg(tr("Name")).arg(physical.lensName()); if (physical.lensDegreesMin() == physical.lensDegreesMax()) { info += genInfo.arg(tr("Beam Angle")) .arg(angle1.arg(physical.lensDegreesMin())); } else { info += genInfo.arg(tr("Beam Angle")) .arg(angle2.arg(physical.lensDegreesMin()) .arg(physical.lensDegreesMax())); } // Focus QString range("%1°"); info += subTitle.arg(tr("Focus")); info += genInfo.arg(tr("Type")).arg(physical.focusType()); info += genInfo.arg(tr("Pan Range")).arg(range.arg(physical.focusPanMax())); info += genInfo.arg(tr("Tilt Range")).arg(range.arg(physical.focusTiltMax())); } // HTML document & table closure info += "</TABLE>"; if (isDimmer() == false) { info += "<HR>"; info += "<DIV CLASS='author' ALIGN='right'>"; info += tr("Fixture definition author: ") + fixtureDef()->author(); info += "</DIV>"; } return info; }