+ painter.setPen(m_axisForeground);
+ painter.drawText(0, y, m_axisWidth, m_rowHeight, Qt::AlignHCenter | Qt::AlignVCenter, QString("%1").arg(m_rowPrograms[row]));
+
+ painter.setPen(m_axisBorder);
+ painter.drawLine(0, y + m_rowHeight - 1, m_axisWidth - 1, y + m_rowHeight - 1);
+
+ painter.setPen(m_axisLine);
+ painter.drawLine(m_axisWidth, y + m_rowHeight - 1, widgetWidth, y + m_rowHeight - 1);
+ }
+
+ /* Draw the "CPU" axis label */
+ painter.resetTransform();
+ painter.translate(0, m_axisHeight);
+
+ painter.setPen(m_axisBorder);
+ painter.setBrush(m_axisBackground);
+ painter.drawRect(-1, -1, m_axisWidth, m_rowHeight);
+
+ painter.setPen(m_axisForeground);
+ painter.drawText(0, 0, m_axisWidth - 1, m_rowHeight - 1, Qt::AlignHCenter | Qt::AlignVCenter, "CPU");
+
+ painter.setPen(m_axisBorder);
+ painter.drawLine(m_axisWidth, m_rowHeight - 1, widgetWidth, m_rowHeight - 1);
+
+
+ /* Draw the frame numbers */
+ painter.resetTransform();
+
+ painter.setPen(m_axisForeground);
+ painter.translate(m_axisWidth, 0);
+
+ int lastLabel = -9999;
+
+ double scroll = m_time;
+ scroll /= m_timeWidth;
+ scroll *= m_viewWidth;
+
+ for (std::vector<Frame>::const_iterator itr = m_profile->frames.begin(); itr != m_profile->frames.end(); ++itr) {
+ static const int padding = 4;
+ const Frame& frame = *itr;
+ bool draw = true;
+ int width;
+
+ if (frame.cpuStart > timeEnd) {
+ break;