Exemple #1
0
void SensorWidget::drawChannels()
{
    if(m_pGraphicsScene)
    {
        m_pGraphicsScene->clear();

        for(qint32 i = 0; i < m_pSensorModel->rowCount(); ++i)
        {
            QString dispChName = m_pSensorModel->data(i, 0).toString();
            QString fullChName = m_pSensorModel->data(i, 1).toString();
            QPointF loc = m_pSensorModel->data(i, 2).toPointF();
            qint32 chNum = m_pSensorModel->getNameIdMap()[fullChName];
            SensorItem *item = new SensorItem(dispChName, chNum, loc, QSizeF(28, 16));
            item->setSelected(m_pSensorModel->data(i, 3).toBool());
            item->setPos(loc);

            connect(item, &SensorItem::itemChanged, m_pSensorModel, &SensorModel::updateChannelState);
            m_pGraphicsScene->addItem(item);
        }
    }
}