void ChunkBar::drawBarContents(QPainter* p) { Uint32 w = contentsRect().width(); const BitSet& bs = getBitSet(); curr = bs; QColor highlight_color = palette().color(QPalette::Active, QPalette::Highlight); if (bs.allOn()) drawAllOn(p, highlight_color, contentsRect()); else if (curr.getNumBits() > w) drawMoreChunksThenPixels(p, bs, highlight_color, contentsRect()); else drawEqual(p, bs, highlight_color, contentsRect()); }
void ChunkBar::updateBar(bool force) { const BitSet& bs = getBitSet(); QSize s = contentsRect().size(); bool changed = !(curr == bs); if (changed || pixmap.isNull() || pixmap.width() != s.width() || force) { pixmap = QPixmap(s); pixmap.fill(palette().color(QPalette::Active, QPalette::Base)); QPainter painter(&pixmap); drawBarContents(&painter); update(); } }
BitSet updatedSet() { return BitSet( m_numVars, getBitSet(1) ); }
BitSet callbackSet() { return BitSet( m_numVars, getBitSet(2) ); }
BitSet validSet() { return BitSet( m_numVars, getBitSet(0) ); }