//Das séries com a opção de progressive_show mostra o ponto no indice ind, se existir
void DataPlot::showInd(int ind){
    if(ind > current_progressive_show_ind){

        //Este for trata do caso em que se avança mais que um indice de uma vez
        for(int j=current_progressive_show_ind+1;j<=ind;j++){
            //Percorre as séries incompletas
            for (int i=0;i<incomplete_series.size();i++){
                QList<QPointF*>*v = incomplete_series[i];

                if(j < v->size()){
                    //É uma série do tipo pontos
                    if(incomplete_series_isPointSeries[i]){
                        paintPoint(j,incomplete_series_colors[i],v);
                    }
                    else{//É uma série do tipo linha
                        paintLineSeg(j,incomplete_series_colors[i],v);
                    }
                }
            }
        }

        current_progressive_show_ind=ind;
    }
}
Exemplo n.º 2
0
/*!
  Draw the shape in response to an update event.
  */
void QgsHighlight::paint( QPainter* p )
{
  if ( !mGeometry )
  {
    return;
  }

  p->setPen( mPen );
  p->setBrush( mBrush );

  switch ( mGeometry->wkbType() )
  {
    case QGis::WKBPoint:
    case QGis::WKBPoint25D:
    {
      paintPoint( p, mGeometry->asPoint() );
    }
    break;

    case QGis::WKBMultiPoint:
    case QGis::WKBMultiPoint25D:
    {
      QgsMultiPoint m = mGeometry->asMultiPoint();
      for ( int i = 0; i < m.size(); i++ )
      {
        paintPoint( p, m[i] );
      }
    }
    break;

    case QGis::WKBLineString:
    case QGis::WKBLineString25D:
    {
      paintLine( p, mGeometry->asPolyline() );
    }
    break;

    case QGis::WKBMultiLineString:
    case QGis::WKBMultiLineString25D:
    {
      QgsMultiPolyline m = mGeometry->asMultiPolyline();

      for ( int i = 0; i < m.size(); i++ )
      {
        paintLine( p, m[i] );
      }
    }
    break;

    case QGis::WKBPolygon:
    case QGis::WKBPolygon25D:
    {
      paintPolygon( p, mGeometry->asPolygon() );
    }
    break;

    case QGis::WKBMultiPolygon:
    case QGis::WKBMultiPolygon25D:
    {
      QgsMultiPolygon m = mGeometry->asMultiPolygon();
      for ( int i = 0; i < m.size(); i++ )
      {
        paintPolygon( p, m[i] );
      }
    }
    break;

    case QGis::WKBUnknown:
    default:
      return;
  }
}