source: ntrip/trunk/BNC/src/rinex/availplot.cpp@ 4581

Last change on this file since 4581 was 4581, checked in by mervart, 12 years ago
File size: 1.6 KB
RevLine 
[4578]1
2#include <qwt_scale_engine.h>
3#include <qwt_symbol.h>
4#include <qwt_plot_curve.h>
[4579]5#include <qwt_plot_grid.h>
[4578]6#include <qwt_legend.h>
7
8#include "availplot.h"
9
10t_availPlot::t_availPlot(QWidget* parent,
11 QMap<QString, QVector<int> >* prnAvail)
12: QwtPlot(parent) {
13
[4579]14 setTitle("Availability Plot");
[4578]15
[4579]16 setCanvasBackground(QColor(Qt::white));
17
[4578]18 // Legend
19 // ------
20 QwtLegend* legend = new QwtLegend;
21 insertLegend(legend, QwtPlot::RightLegend);
22
[4579]23
24 // grid
25 QwtPlotGrid *grid = new QwtPlotGrid;
26 grid->enableXMin(true);
27 grid->setMajPen(QPen(Qt::gray, 0, Qt::DotLine));
28 grid->setMinPen(QPen(Qt::gray, 0 , Qt::DotLine));
29 grid->attach(this);
30
[4578]31 // Axes
32 // ----
33 setAxisTitle(QwtPlot::xBottom, "Epoch");
34 setAxisTitle(QwtPlot::yLeft, "PRN");
35
36 // Curves
37 // ------
38 int iC = 0;
39 QMapIterator<QString, QVector<int> > it(*prnAvail);
40 while (it.hasNext()) {
41 it.next();
42 ++iC;
43 const QString& prn = it.key();
44 const QVector<int>& epochs = it.value();
45
46 double xData[epochs.size()];
47 double yData[epochs.size()];
48 for (int ii = 0; ii < epochs.size(); ii++) {
[4579]49 xData[ii] = epochs[ii];
[4578]50 yData[ii] = iC;
51 }
52
53 QwtSymbol* symbol = new QwtSymbol( QwtSymbol::XCross );
54 symbol->setSize( 4 );
55
56 QwtPlotCurve* curve = new QwtPlotCurve(prn);
57 curve->setSymbol( symbol );
[4579]58 curve->setStyle( QwtPlotCurve::NoCurve );
[4578]59 curve->setLegendAttribute( QwtPlotCurve::LegendShowSymbol );
60 curve->setXAxis(QwtPlot::xBottom);
61 curve->setYAxis(QwtPlot::yLeft);
62 curve->setSamples(xData, yData, epochs.size());
63 curve->attach(this);
64 }
[4581]65
66 replot();
[4578]67}
68
Note: See TracBrowser for help on using the repository browser.