void WDisplay::paintEvent(QPaintEvent* ) { QStyleOption option; option.initFrom(this); QStylePainter p(this); p.drawPrimitive(QStyle::PE_Widget, option); if (m_pPixmapBack) { m_pPixmapBack->draw(0, 0, &p); } // If we are disabled, use the disabled pixmaps. If not, use the regular // pixmaps. const QVector<PaintablePointer>& pixmaps = (isDisabled() && m_bDisabledLoaded) ? m_disabledPixmaps : m_pixmaps; if (pixmaps.empty()) { return; } int idx = getActivePixmapIndex(); // Clamp active pixmap index to valid ranges. if (idx < 0) { idx = 0; } else if (idx >= pixmaps.size()) { idx = pixmaps.size() - 1; } PaintablePointer pPixmap = pixmaps[idx]; if (pPixmap) { pPixmap->draw(0, 0, &p); } }
void WStatusLight::paintEvent(QPaintEvent * /*unused*/) { QStyleOption option; option.initFrom(this); QStylePainter p(this); p.drawPrimitive(QStyle::PE_Widget, option); if (m_iPos < 0 || m_iPos >= m_pixmaps.size()) { return; } PaintablePointer pPixmap = m_pixmaps[m_iPos]; if (pPixmap.isNull() || pPixmap->isNull()) { return; } pPixmap->draw(rect(), &p); }
void WPushButton::paintEvent(QPaintEvent* e) { Q_UNUSED(e); QStyleOption option; option.initFrom(this); QStylePainter p(this); p.drawPrimitive(QStyle::PE_Widget, option); double value = getControlParameterDisplay(); if (m_iNoStates == 0) { return; } const QVector<PaintablePointer>& pixmaps = m_bPressed ? m_pressedPixmaps : m_unpressedPixmaps; int idx = static_cast<int>(value) % m_iNoStates; // Just in case m_iNoStates is somehow different from pixmaps.size(). if (idx < 0){ idx = 0; } else if (idx >= pixmaps.size()) { idx = pixmaps.size() - 1; } if (m_pPixmapBack) { m_pPixmapBack->draw(0, 0, &p); } PaintablePointer pPixmap = pixmaps.at(idx); if (!pPixmap.isNull() && !pPixmap->isNull()) { pPixmap->draw(0, 0, &p); } QString text = m_text.at(idx); if (!text.isEmpty()) { p.drawText(rect(), Qt::AlignCenter, text); } }
void WDisplay::paintEvent(QPaintEvent* /*unused*/) { QStyleOption option; option.initFrom(this); QStylePainter p(this); p.drawPrimitive(QStyle::PE_Widget, option); if (m_pPixmapBack) { m_pPixmapBack->draw(rect(), &p); } // If we are disabled, use the disabled pixmaps. If not, use the regular // pixmaps. const QVector<PaintablePointer>& pixmaps = (!isEnabled() && m_bDisabledLoaded) ? m_disabledPixmaps : m_pixmaps; if (pixmaps.empty()) { return; } int idx = getPixmapForParameter(getControlParameterDisplay()); // onConnectedControlChanged uses this to detect no-ops but it does not // clamp so don't clamp. m_iCurrentPixmap = idx; // Clamp active pixmap index to valid ranges. if (idx < 0) { idx = 0; } else if (idx >= pixmaps.size()) { idx = pixmaps.size() - 1; } PaintablePointer pPixmap = pixmaps[idx]; if (pPixmap) { pPixmap->draw(rect(), &p); } }