Esempio n. 1
0
void GraphDraw::drawDataSet(int id, int width)
{
    QList<QPointF> list = information->getDataList(id);
    DataStyle style = information->getDataStyle(id);

    for(int i = 0 ; i < list.size(); i++)
    {
        list[i].rx() *= uniteX;
        list[i].ry() *= - uniteY;
    }

    pen.setColor(style.color);
    painter.setPen(pen);

    if(style.drawLines)
    {
        QPolygonF polygon;
        pen.setStyle(style.lineStyle);
        painter.setPen(pen);
        painter.drawPolyline(polygon.fromList(list));
        pen.setStyle(Qt::SolidLine);
        painter.setPen(pen);
    }

    brush.setColor(style.color);
    painter.setBrush(brush);    

    if(style.drawPoints)
    {
        for(int i = 0 ; i < list.size() ; i++)
            switch(style.pointStyle)
            {
            case Rhombus:
                drawRhombus(list[i], width);
                break;
            case Disc:
                drawDisc(list[i], width);
                break;
            case Square:
                drawSquare(list[i], width);
                break;
            case Triangle:
                drawTriangle(list[i], width);
                break;
            case Cross:
                drawCross(list[i], width);
                break;
            }
    }


}