Monitor::Monitor(QWidget* parent, Qt::WindowFlags f) : QWidget(parent, f) { /* Master layout for toolbar and scroll area */ new QVBoxLayout(this); /* Scroll area that contains the monitor widget */ m_scrollArea = new QScrollArea(this); m_scrollArea->setWidgetResizable(true); layout()->addWidget(m_scrollArea); /* Monitor widget that contains all MonitorFixtures */ m_monitorWidget = new QWidget(m_scrollArea); m_monitorWidget->setBackgroundRole(QPalette::Dark); m_monitorLayout = new MonitorLayout(m_monitorWidget); m_monitorLayout->setSpacing(1); m_monitorLayout->setMargin(1); /* Load global settings */ loadSettings(); /* Create toolbar */ initToolBar(); /* Create a bunch of MonitorFixtures for each fixture */ for (t_fixture_id i = 0; i < KFixtureArraySize; i++) { Fixture* fxi = _app->doc()->fixture(i); if (fxi != NULL) createMonitorFixture(fxi); } /* Show the master container widgets */ m_scrollArea->setWidget(m_monitorWidget); m_monitorWidget->show(); m_scrollArea->show(); /* Listen to Document changes */ connect(_app, SIGNAL(documentChanged(Doc*)), this, SLOT(slotDocumentChanged(Doc*))); /* Listen to fixture additions and changes from Doc */ connect(_app->doc(), SIGNAL(fixtureAdded(t_fixture_id)), this, SLOT(slotFixtureAdded(t_fixture_id))); connect(_app->doc(), SIGNAL(fixtureChanged(t_fixture_id)), this, SLOT(slotFixtureChanged(t_fixture_id))); m_timer = startTimer(1000 / 50); QWidget::show(); }
void MonitorDmxMode::initUi() { /* Scroll area that contains the monitor widget */ m_scrollArea = new QScrollArea(monitor()); m_scrollArea->setWidgetResizable(true); monitor()->layout()->addWidget(m_scrollArea); /* Monitor widget that contains all MonitorFixtures */ m_monitorWidget = new QWidget(m_scrollArea); m_monitorWidget->setBackgroundRole(QPalette::Dark); m_monitorLayout = new MonitorLayout(m_monitorWidget); m_monitorLayout->setSpacing(1); m_monitorLayout->setMargin(1); m_monitorWidget->setFont(props()->font()); /* Create a bunch of MonitorFixtures for each fixture */ foreach(Fixture* fxi, doc()->fixtures()) { Q_ASSERT(fxi != NULL); if (m_currentUniverse == Universe::invalid() || m_currentUniverse == fxi->universe()) createMonitorFixture(fxi); }
void Monitor::slotFixtureAdded(t_fixture_id fxi_id) { Fixture* fxi = _app->doc()->fixture(fxi_id); if (fxi != NULL) createMonitorFixture(fxi); }