SequenceDiagram::SequenceDiagram(QCPAxis *keyAxis, QCPAxis *valueAxis, QCPAxis *commentAxis) : QCPAbstractPlottable(keyAxis, valueAxis), key_axis_(keyAxis), value_axis_(valueAxis), comment_axis_(commentAxis), data_(NULL), sainfo_(NULL), selected_packet_(0), selected_key_(-1.0) { data_ = new WSCPSeqDataMap(); // xaxis (value): Address // yaxis (key): Time // yaxis2 (comment): Extra info ("Comment" in GTK+) // valueAxis->setAutoTickStep(false); QList<QCPAxis *> axes; axes << value_axis_ << key_axis_ << comment_axis_; QPen no_pen(Qt::NoPen); foreach (QCPAxis *axis, axes) { axis->setAutoTicks(false); axis->setTickStep(1.0); axis->setAutoTickLabels(false); axis->setSubTickPen(no_pen); axis->setTickPen(no_pen); axis->setBasePen(no_pen); }
void FieldPainter::drawField() { QBrush no_brush(Qt::NoBrush); QBrush goal_brush(Qt::yellow); QPen no_pen(Qt::NoPen); QPen field_line_pen(QColor(255, 255, 255)); field_line_pen.setWidth(FIELD_LINE_WIDTH); field_line_pen.setJoinStyle(Qt::MiterJoin); field_line_pen.setMiterLimit(0.5); QPen marker_pen(QColor(255, 255, 255)); marker_pen.setWidth(FIELD_LINE_WIDTH); marker_pen.setJoinStyle(Qt::MiterJoin); marker_pen.setCapStyle(Qt::FlatCap); marker_pen.setMiterLimit(0); QPen crossbar_pen(Qt::yellow); crossbar_pen.setWidth(GOAL_POST_DIAMETER); marker_pen.setCapStyle(Qt::FlatCap); crossbar_pen.setMiterLimit(0); QPen goal_supports_pen(Qt::gray); goal_supports_pen.setWidth(GOAL_SUPPORT_DIAMETER); save(); setRenderHint(QPainter::Antialiasing); setBrush(no_brush); setPen(field_line_pen); drawRect(-FIELD_LENGTH/2, -FIELD_WIDTH/2, FIELD_LENGTH, FIELD_WIDTH); drawLine(0, FIELD_WIDTH/2, 0, -FIELD_WIDTH/2); drawRect(-FIELD_LENGTH/2, -GOAL_BOX_WIDTH/2, GOAL_BOX_LENGTH, GOAL_BOX_WIDTH); drawRect(FIELD_LENGTH/2 - GOAL_BOX_LENGTH, -GOAL_BOX_WIDTH/2, GOAL_BOX_LENGTH, GOAL_BOX_WIDTH); drawEllipse(QPoint(0, 0), CENTER_CIRCLE_DIAMETER/2, CENTER_CIRCLE_DIAMETER/2); setBrush(no_brush); setPen(marker_pen); drawLine(-MARKER_DIMENSIONS/2, 0, MARKER_DIMENSIONS/2, 0); int penalty_x = FIELD_LENGTH/2 - DIST_GOAL_LINE_TO_MARKER; drawLine(penalty_x - MARKER_DIMENSIONS/2, 0, penalty_x + MARKER_DIMENSIONS/2, 0); drawLine(penalty_x, -MARKER_DIMENSIONS/2, penalty_x, MARKER_DIMENSIONS/2); drawLine(-penalty_x - MARKER_DIMENSIONS/2, 0, -penalty_x + MARKER_DIMENSIONS/2, 0); drawLine(-penalty_x, -MARKER_DIMENSIONS/2, -penalty_x, MARKER_DIMENSIONS/2); setBrush(no_brush); setPen(goal_supports_pen); int goal_x = FIELD_LENGTH/2 + FIELD_LINE_WIDTH/2; drawLine(-goal_x, -GOAL_WIDTH/2, -goal_x - GOAL_DEPTH, -GOAL_WIDTH/2); drawLine(-goal_x, GOAL_WIDTH/2, -goal_x - GOAL_DEPTH, GOAL_WIDTH/2); drawLine( goal_x, -GOAL_WIDTH/2, goal_x + GOAL_DEPTH, -GOAL_WIDTH/2); drawLine( goal_x, GOAL_WIDTH/2, goal_x + GOAL_DEPTH, GOAL_WIDTH/2); drawLine( goal_x + GOAL_DEPTH, -GOAL_WIDTH/2, goal_x + GOAL_DEPTH, GOAL_WIDTH/2); drawLine(-goal_x - GOAL_DEPTH, -GOAL_WIDTH/2, -goal_x - GOAL_DEPTH, GOAL_WIDTH/2); setBrush(no_brush); setPen(crossbar_pen); drawLine(-goal_x, -GOAL_WIDTH/2, -goal_x, GOAL_WIDTH/2); drawLine( goal_x, -GOAL_WIDTH/2, goal_x, GOAL_WIDTH/2); setBrush(goal_brush); setPen(no_pen); drawEllipse(QPoint(-goal_x, -GOAL_WIDTH/2), GOAL_POST_DIAMETER/2, GOAL_POST_DIAMETER/2); drawEllipse(QPoint(-goal_x, GOAL_WIDTH/2), GOAL_POST_DIAMETER/2, GOAL_POST_DIAMETER/2); drawEllipse(QPoint( goal_x, -GOAL_WIDTH/2), GOAL_POST_DIAMETER/2, GOAL_POST_DIAMETER/2); drawEllipse(QPoint( goal_x, GOAL_WIDTH/2), GOAL_POST_DIAMETER/2, GOAL_POST_DIAMETER/2); restore(); }