void qxgeditScale::setBreak3 ( unsigned short iBreak3 ) { if (iBreak3 > 127 - 1) iBreak3 = 127 - 1; else if (iBreak3 < 2) iBreak3 = 2; if (m_iBreak3 != iBreak3) { m_iBreak3 = iBreak3; if (m_iBreak2 >= iBreak3) setBreak2(iBreak3 - 1); else if (iBreak3 >= m_iBreak4) setBreak4(iBreak3 + 1); else update(); emit break3Changed(break3()); } }
int main () { /* For each member, set that member to 1, allow gdb to verify that the member (and only that member) is 1, and then reset it back to 0. */ #ifdef usestubs set_debug_traps(); breakpoint(); #endif flags.uc = 1; break1 (); flags.uc = 0; flags.s1 = 1; break1 (); flags.s1 = 0; flags.u1 = 1; break1 (); flags.u1 = 0; flags.s2 = 1; break1 (); flags.s2 = 0; flags.u2 = 1; break1 (); flags.u2 = 0; flags.s3 = 1; break1 (); flags.s3 = 0; flags.u3 = 1; break1 (); flags.u3 = 0; flags.s9 = 1; break1 (); flags.s9 = 0; flags.u9 = 1; break1 (); flags.u9 = 0; flags.sc = 1; break1 (); flags.sc = 0; /* Fill alternating fields with all 1's and verify that none of the bits "bleed over" to the other fields. */ flags.uc = 0xFF; flags.u1 = 0x1; flags.u2 = 0x3; flags.u3 = 0x7; flags.u9 = 0x1FF; break2 (); flags.uc = 0; flags.u1 = 0; flags.u2 = 0; flags.u3 = 0; flags.u9 = 0; flags.s1 = 0x1; flags.s2 = 0x3; flags.s3 = 0x7; flags.s9 = 0x1FF; flags.sc = 0xFF; break2 (); flags.s1 = 0; flags.s2 = 0; flags.s3 = 0; flags.s9 = 0; flags.sc = 0; /* Fill the unsigned fields with the maximum positive value and verify that the values are printed correctly. */ /* Maximum positive values */ flags.u1 = 0x1; flags.u2 = 0x3; flags.u3 = 0x7; flags.u9 = 0x1FF; break3 (); flags.u1 = 0; flags.u2 = 0; flags.u3 = 0; flags.u9 = 0; /* Fill the signed fields with the maximum positive value, then the maximally negative value, then -1, and verify in each case that the values are printed correctly. */ /* Maximum positive values */ flags.s1 = 0x0; flags.s2 = 0x1; flags.s3 = 0x3; flags.s9 = 0xFF; break4 (); /* Maximally negative values */ flags.s1 = 0x1; flags.s2 = 0x2; flags.s3 = 0x4; flags.s9 = 0x100; /* Extract bitfield value so that bitfield.exp can check if the target understands signed bitfields. */ i = flags.s9; break4 (); /* -1 */ flags.s1 = 0x1; flags.s2 = 0x3; flags.s3 = 0x7; flags.s9 = 0x1FF; break4 (); flags.s1 = 0; flags.s2 = 0; flags.s3 = 0; flags.s9 = 0; return 0; }
// Draw curve. void qxgeditScale::paintEvent ( QPaintEvent *pPaintEvent ) { QPainter painter(this); const int h = height(); const int w = width(); const int h2 = h >> 1; const int x1 = 6 + int((m_iBreak1 * (w - 12)) >> 7); const int x2 = 6 + int((m_iBreak2 * (w - 12)) >> 7); const int x3 = 6 + int((m_iBreak3 * (w - 12)) >> 7); const int x4 = 6 + int((m_iBreak4 * (w - 12)) >> 7); const int y1 = h2 - ((int(m_iOffset1) - 64) * (h - 12) >> 7); const int y2 = h2 - ((int(m_iOffset2) - 64) * (h - 12) >> 7); const int y3 = h2 - ((int(m_iOffset3) - 64) * (h - 12) >> 7); const int y4 = h2 - ((int(m_iOffset4) - 64) * (h - 12) >> 7); m_poly.putPoints(0, 6, 0, y1, x1, y1, x2, y2, x3, y3, x4, y4, w, y4); const QPalette& pal = palette(); const bool bDark = (pal.window().color().value() < 0x7f); const QColor& rgbLite = (bDark ? Qt::darkYellow : Qt::yellow); if (bDark) painter.fillRect(0, 0, w, h, pal.dark().color()); painter.setRenderHint(QPainter::Antialiasing, true); painter.setPen(bDark ? Qt::gray : Qt::darkGray); const QPen oldpen(painter.pen()); QPen dotpen(oldpen); dotpen.setStyle(Qt::DotLine); painter.setPen(dotpen); painter.drawLine(0, h2, w, h2); painter.setPen(oldpen); painter.drawPolyline(m_poly); painter.setBrush(rgbLite); // pal.midlight().color() painter.drawRect(nodeRect(1)); painter.drawRect(nodeRect(2)); painter.drawRect(nodeRect(3)); painter.drawRect(nodeRect(4)); #ifdef CONFIG_DEBUG_0 painter.drawText(QFrame::rect(), Qt::AlignTop|Qt::AlignHCenter, tr("Break (%1,%2,%3,%4) Offset(%5,%6,%7,%8)") .arg(int(break1())) .arg(int(break2())) .arg(int(break3())) .arg(int(break4())) .arg(int(offset1()) - 64) .arg(int(offset2()) - 64) .arg(int(offset3()) - 64) .arg(int(offset4()) - 64)); #endif painter.setRenderHint(QPainter::Antialiasing, false); painter.end(); QFrame::paintEvent(pPaintEvent); }