void Plotter::drawGrid(QPainter *painter) { //printf("Inside DrawGrid\n"); //qDebug() << "Inside DrawGrid"; QRect rect(Margin,Margin,width()-2*Margin,height()-2*Margin); if(!rect.isValid()) return; QPen pen; QColor objColor(80,80,80,255); pen.setBrush(Qt::gray); pen.setStyle(Qt::DotLine); pen.setColor(objColor); pen.setCapStyle(Qt::RoundCap); pen.setJoinStyle(Qt::RoundJoin); painter->setPen(pen); //QPoint *pixPoint = new QPoint(); PlotSettings settings = zoomStack[curZoom]; if(m_bGrid) { for(int i=0;i<settings.numXTicks;i++) { int x = rect.left() + (i * (rect.width()) / settings.numXTicks); double label = settings.minX + (i*settings.spanX()/settings.numXTicks); //printf("X Axis:%f\n",label); for(float l_nPoint=1;l_nPoint<rect.height();l_nPoint+=2.0) painter->drawPoint(QPointF(x,rect.top()+l_nPoint)); //painter->drawLine(x,rect.bottom(),x,rect.bottom()+5); painter->drawText(x-50,rect.bottom()+5,100,20, Qt::AlignHCenter|Qt::AlignTop,QString::number(label,5,2)); } for(int j=0;j<settings.numYTicks;j++) { int y = rect.bottom() - (j * (rect.height()) / settings.numYTicks); double label = (settings.minY+settings.m_nOffset) + (j*settings.spanY()/settings.numYTicks); // qDebug()<<"Label:"<<label; //double label = (settings.m_nOffset)+(-4 *settings.maxY) + (j*settings.maxY); //printf("Y Axis:%f\n",label); for(float l_nPoint=0;l_nPoint<rect.width();l_nPoint+=2.0) painter->drawPoint(QPointF(rect.left()+l_nPoint,y)); //painter->drawLine(rect.left(),y,rect.right(),y); painter->drawText(rect.left()-Margin,y-10,Margin, 20,Qt::AlignRight|Qt::AlignVCenter,QString::number(label,'e',2)); } pen.setStyle(Qt::SolidLine); painter->setPen(pen); //int Value =0; for(int i=0;i<rect.height();i+=((rect.height()/settings.numYTicks)/5)) { if(i!=0 && i%5!=0){ //painter->drawLine(Margin+rect.width()/2-3,Margin+i,Margin+rect.width()/2+3,Margin+i); } } for(int j=0;j<rect.width();j+=(rect.width()/settings.numXTicks)/5 ) { if(j!=0 && j%5!=0){ //painter->drawLine(Margin+j,Margin+rect.height()/2-3,Margin+j,Margin+rect.height()/2+3); } } } if(m_bGrid == false){ pen.setStyle(Qt::SolidLine); pen.setBrush(Qt::gray); pen.setWidth(1); painter->setPen(pen); painter->drawLine(Margin+rect.width()/2,Margin,Margin+rect.width()/2,Margin+rect.height()); painter->drawLine(Margin,Margin+rect.height()/2-1,Margin+rect.width(),Margin+rect.height()/2-1); } if(m_bVILabels == true) { painter->drawText(Margin+rect.width()/2,0,20,20,Qt::AlignHCenter|Qt::AlignTop,QString::number(3.5)); painter->drawText(0,Margin+rect.height()/2,20,20,Qt::AlignHCenter|Qt::AlignTop,QString::number(3.5)); painter->drawText(Margin+rect.width()-20,Margin+rect.height()/2,20,20,Qt::AlignHCenter|Qt::AlignTop,QString::number(3.5)); painter->drawText(Margin+rect.height(),Margin+rect.height()-20,20,20,Qt::AlignHCenter|Qt::AlignTop,QString::number(3.5)); } painter->drawRect(rect.adjusted(+1,+1,-1,-1)); //printf("outSide DrawGrid\n"); //painter->drawRect(rect.adjusted(+0,+0,-1,-1)); }
void Plotter::drawGrid(QPainter *painter) { //qDebug() << "Inside DrawGrid"; QRect rect(Margin,Margin,width()-2*Margin,height()-2*Margin); if(!rect.isValid()) return; QPen pen; QColor objColor(55,55,55,255); pen.setBrush(Qt::darkGray); pen.setStyle(Qt::DotLine); pen.setColor(objColor); pen.setCapStyle(Qt::RoundCap); pen.setJoinStyle(Qt::RoundJoin); painter->setPen(pen); //QPoint *pixPoint = new QPoint(); PlotSettings settings = zoomStack[curZoom]; if(m_bGrid) { for(int i=0;i<settings.numXTicks;i++) { int x = rect.left() + (i * (rect.width()) / settings.numXTicks); double label = settings.minX + (i*settings.spanX()/settings.numXTicks); //printf("X Axis:%f\n",label); for(float l_nPoint=1;l_nPoint<rect.height();l_nPoint+=2.0) painter->drawPoint(QPointF(x,rect.top()+l_nPoint)); painter->drawLine(x,rect.bottom(),x,rect.bottom()+5); painter->drawText(x-50,rect.bottom()+5,100,20, Qt::AlignHCenter|Qt::AlignTop,QString::number(label,5,2)); } for(int j=0;j<settings.numYTicks;j++) { int y = rect.bottom() - (j * (rect.height()) / settings.numYTicks); double label = settings.minY + (j*settings.spanY()/settings.numYTicks); //printf("Y Axis:%f\n",label); for(float l_nPoint=0;l_nPoint<rect.width();l_nPoint+=2.0) painter->drawPoint(QPointF(rect.left()+l_nPoint,y)); painter->drawLine(rect.left(),y,rect.right(),y); painter->drawText(rect.left()-Margin,y-10,Margin-5, 20,Qt::AlignRight|Qt::AlignVCenter,QString::number(label,5,2)); } pen.setStyle(Qt::SolidLine); painter->setPen(pen); //int Value =0; for(int i=0;i<rect.height();i+=((rect.height()/settings.numYTicks)/5)) { if(i!=0 && i%5!=0){ //painter->drawLine(Margin+rect.width()/2-3,Margin+i,Margin+rect.width()/2+3,Margin+i); } } for(int j=0;j<rect.width();j+=(rect.width()/settings.numXTicks)/5 ) { if(j!=0 && j%5!=0){ // painter->drawLine(Margin+j,Margin+rect.height()/2-3,Margin+j,Margin+rect.height()/2+3); } } } if(m_bGrid == false){ pen.setStyle(Qt::SolidLine); pen.setBrush(Qt::darkGray); pen.setColor(objColor); pen.setWidth(1); painter->setPen(pen); if(zoomScreenFlag==true){ /*vertical line*/ painter->drawLine(Margin+rect.width()/2-1,Margin,Margin+rect.width()/2-1,Margin+rect.height()); /*horizontal line*/ painter->drawLine(Margin,Margin+rect.height()/2-1,Margin+rect.width(),Margin+rect.height()/2-1); } else if(zoomScreenFlag==false){ /*vertical line*/ painter->drawLine(Margin+rect.width()/2-1,Margin,Margin+rect.width()/2-1,Margin+rect.height()); /*horizontal line*/ painter->drawLine(Margin,Margin+rect.height()/2-1,Margin+rect.width(),Margin+rect.height()/2-1); } for(int i=0;i<rect.height();i+=((rect.height()/settings.numYTicks)/2)) { if(i!=0 && i%2!=0) { if(zoomScreenFlag==true){ //painter->drawLine((Margin+rect.width()/2-3)-1,Margin+i,(Margin+rect.width()/2+3)-1,Margin+i); } } } for(int j=0;j<rect.width();j=j+(rect.width()/settings.numXTicks)+5 ) { if(j!=0) { //painter->drawLine(Margin+j-5,Margin+rect.height()/2-3,Margin+j-5,Margin+rect.height()/2+3); } } } if(m_bVILabels == true) { pen.setWidth(2); pen.setBrush(Qt::gray); painter->setPen(pen); //qDebug() << "XLabel" << m_strXLabel << "YLabel" << m_strYLabel; // painter->drawText(Margin+rect.width()/2+8,3,65,45,Qt::AlignLeft|Qt::AlignTop,m_strY1Label); // painter->drawText(4,Margin+rect.height()/2+2,35,45,Qt::AlignLeft|Qt::AlignTop,m_strX1Label); // painter->drawText(Margin+rect.width()-35,Margin+rect.height()/2,35,45,Qt::AlignHCenter|Qt::AlignTop,m_strX2Label); // painter->drawText(Margin+rect.width()/2+8,Margin+rect.height()-20,65,45,Qt::AlignLeft|Qt::AlignTop,m_strY2Label); painter->drawText(Margin+rect.width()/2+8,8,65,45,Qt::AlignLeft|Qt::AlignTop,"+"+m_strY1Label); painter->drawText(15,Margin+rect.height()/2+2,35,45,Qt::AlignLeft|Qt::AlignTop,"+"+m_strX1Label); painter->drawText(Margin+rect.width()-45,Margin+rect.height()/2,35,45,Qt::AlignHCenter|Qt::AlignTop,m_strX2Label); painter->drawText(Margin+rect.width()/2+8,Margin+rect.height()-25,65,45,Qt::AlignLeft|Qt::AlignTop,m_strY2Label); } //painter->drawRect(rect.adjusted(+0,+0,-1,-1)); // qDebug() << "outSide DrawGrid"; //painter->drawRect(rect.adjusted(+0,+0,-1,-1)); }