summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-02-20 21:30:02 -0500
committerTom Rondeau <trondeau@vt.edu>2013-02-21 11:57:13 -0500
commit18b20e591ffb20951605dfc4b7cbe5964b5159fa (patch)
treec5ecd53f2211e163500a7e129ce74f3f82193d28 /gr-qtgui/lib
parent9c27fc06bd0b473de50e76b845e25b835e26b6ff (diff)
qtgui: adding time raster static plot tool.
Diffstat (limited to 'gr-qtgui/lib')
-rw-r--r--gr-qtgui/lib/TimeRasterDisplayPlot.cc30
-rw-r--r--gr-qtgui/lib/TimeRasterDisplayPlot.h5
-rw-r--r--gr-qtgui/lib/time_raster_sink_b_impl.cc85
-rw-r--r--gr-qtgui/lib/time_raster_sink_b_impl.h15
-rw-r--r--gr-qtgui/lib/time_raster_sink_f_impl.cc85
-rw-r--r--gr-qtgui/lib/time_raster_sink_f_impl.h15
-rw-r--r--gr-qtgui/lib/timerasterdisplayform.cc41
-rw-r--r--gr-qtgui/lib/timerasterdisplayform.h10
8 files changed, 284 insertions, 2 deletions
diff --git a/gr-qtgui/lib/TimeRasterDisplayPlot.cc b/gr-qtgui/lib/TimeRasterDisplayPlot.cc
index 537a7e4ef7..48fb7f7b4a 100644
--- a/gr-qtgui/lib/TimeRasterDisplayPlot.cc
+++ b/gr-qtgui/lib/TimeRasterDisplayPlot.cc
@@ -336,6 +336,12 @@ TimeRasterDisplayPlot::numCols() const
return d_cols;
}
+int
+TimeRasterDisplayPlot::getAlpha(int which)
+{
+ return d_raster[which]->alpha();
+}
+
void
TimeRasterDisplayPlot::setPlotDimensions(const double rows, const double cols,
const double units, const std::string &strunits)
@@ -398,6 +404,30 @@ TimeRasterDisplayPlot::setIntensityRange(const double minIntensity,
}
}
+double
+TimeRasterDisplayPlot::getMinIntensity(int which) const
+{
+#if QWT_VERSION < 0x060000
+ QwtDoubleInterval r = d_data[which]->range();
+#else
+ QwtInterval r = d_data[which]->interval(Qt::ZAxis);
+#endif
+
+ return r.minValue();
+}
+
+double
+TimeRasterDisplayPlot::getMaxIntensity(int which) const
+{
+#if QWT_VERSION < 0x060000
+ QwtDoubleInterval r = d_data[which]->range();
+#else
+ QwtInterval r = d_data[which]->interval(Qt::ZAxis);
+#endif
+
+ return r.maxValue();
+}
+
void
TimeRasterDisplayPlot::replot()
{
diff --git a/gr-qtgui/lib/TimeRasterDisplayPlot.h b/gr-qtgui/lib/TimeRasterDisplayPlot.h
index fca9672b91..e4e292a54d 100644
--- a/gr-qtgui/lib/TimeRasterDisplayPlot.h
+++ b/gr-qtgui/lib/TimeRasterDisplayPlot.h
@@ -59,6 +59,8 @@ public:
double numRows() const;
double numCols() const;
+ int getAlpha(int which);
+
void setPlotDimensions(const double rows, const double cols,
const double units, const std::string &strunits);
@@ -78,6 +80,9 @@ public:
const QColor getUserDefinedLowIntensityColor() const;
const QColor getUserDefinedHighIntensityColor() const;
+ double getMinIntensity(int which) const;
+ double getMaxIntensity(int which) const;
+
signals:
void updatedLowerIntensityLevel(const double);
void updatedUpperIntensityLevel(const double);
diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc b/gr-qtgui/lib/time_raster_sink_b_impl.cc
index e79b2f1ff4..11821a462c 100644
--- a/gr-qtgui/lib/time_raster_sink_b_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc
@@ -193,12 +193,31 @@ namespace gr {
}
void
+ time_raster_sink_b_impl::set_color_map(int which, const int color)
+ {
+ d_main_gui->setColorMap(which, color);
+ }
+
+ void
+ time_raster_sink_b_impl::set_line_alpha(int which, double alpha)
+ {
+ d_main_gui->setAlpha(which, (int)(255.0*alpha));
+ }
+
+ void
time_raster_sink_b_impl::set_size(int width, int height)
{
d_main_gui->resize(QSize(width, height));
}
void
+ time_raster_sink_b_impl::set_samp_rate(const double samp_rate)
+ {
+ d_samp_rate = samp_rate;
+ d_main_gui->setSampleRate(d_samp_rate);
+ }
+
+ void
time_raster_sink_b_impl::set_num_rows(double rows)
{
d_main_gui->setNumRows(rows);
@@ -210,6 +229,54 @@ namespace gr {
d_main_gui->setNumCols(cols);
}
+ std::string
+ time_raster_sink_b_impl::title()
+ {
+ return d_main_gui->title().toStdString();
+ }
+
+ std::string
+ time_raster_sink_b_impl::line_label(int which)
+ {
+ return d_main_gui->lineLabel(which).toStdString();
+ }
+
+ std::string
+ time_raster_sink_b_impl::line_color(int which)
+ {
+ return d_main_gui->lineColor(which).toStdString();
+ }
+
+ int
+ time_raster_sink_b_impl::line_width(int which)
+ {
+ return d_main_gui->lineWidth(which);
+ }
+
+ int
+ time_raster_sink_b_impl::line_style(int which)
+ {
+ return d_main_gui->lineStyle(which);
+ }
+
+ int
+ time_raster_sink_b_impl::line_marker(int which)
+ {
+ return d_main_gui->lineMarker(which);
+ }
+
+ int
+ time_raster_sink_b_impl::color_map(int which)
+ {
+ return d_main_gui->getColorMap(which);
+ }
+
+ double
+ time_raster_sink_b_impl::line_alpha(int which)
+ {
+ return (double)(d_main_gui->markerAlpha(which))/255.0;
+ }
+
double
time_raster_sink_b_impl::num_rows()
{
@@ -265,6 +332,24 @@ namespace gr {
}
void
+ time_raster_sink_b_impl::enable_menu(bool en)
+ {
+ d_main_gui->enableMenu(en);
+ }
+
+ void
+ time_raster_sink_b_impl::enable_grid(bool en)
+ {
+ d_main_gui->setGrid(en);
+ }
+
+ void
+ time_raster_sink_b_impl::enable_autoscale(bool en)
+ {
+ d_main_gui->autoScale(en);
+ }
+
+ void
time_raster_sink_b_impl::reset()
{
d_index = 0;
diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.h b/gr-qtgui/lib/time_raster_sink_b_impl.h
index 1997bacd93..46f5300cc7 100644
--- a/gr-qtgui/lib/time_raster_sink_b_impl.h
+++ b/gr-qtgui/lib/time_raster_sink_b_impl.h
@@ -82,9 +82,21 @@ namespace gr {
void set_line_width(int width);
void set_line_style(Qt::PenStyle style);
void set_line_marker(QwtSymbol::Style marker);
+ void set_line_alpha(int which, double alpha);
+ void set_color_map(int which, const int color);
+
+ std::string title();
+ std::string line_label(int which);
+ std::string line_color(int which);
+ int line_width(int which);
+ int line_style(int which);
+ int line_marker(int which);
+ double line_alpha(int which);
+ int color_map(int which);
void set_size(int width, int height);
+ void set_samp_rate(const double samp_rate);
void set_num_rows(double rows);
void set_num_cols(double cols);
@@ -96,6 +108,9 @@ namespace gr {
void set_intensity_range(float min, float max);
+ void enable_menu(bool en);
+ void enable_grid(bool en);
+ void enable_autoscale(bool en);
void reset();
int work(int noutput_items,
diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.cc b/gr-qtgui/lib/time_raster_sink_f_impl.cc
index 61d1436529..5def19f406 100644
--- a/gr-qtgui/lib/time_raster_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc
@@ -191,12 +191,31 @@ namespace gr {
}
void
+ time_raster_sink_f_impl::set_color_map(int which, const int color)
+ {
+ d_main_gui->setColorMap(which, color);
+ }
+
+ void
+ time_raster_sink_f_impl::set_line_alpha(int which, double alpha)
+ {
+ d_main_gui->setAlpha(which, (int)(255.0*alpha));
+ }
+
+ void
time_raster_sink_f_impl::set_size(int width, int height)
{
d_main_gui->resize(QSize(width, height));
}
void
+ time_raster_sink_f_impl::set_samp_rate(const double samp_rate)
+ {
+ d_samp_rate = samp_rate;
+ d_main_gui->setSampleRate(d_samp_rate);
+ }
+
+ void
time_raster_sink_f_impl::set_num_rows(double rows)
{
d_main_gui->setNumRows(rows);
@@ -208,6 +227,54 @@ namespace gr {
d_main_gui->setNumCols(cols);
}
+ std::string
+ time_raster_sink_f_impl::title()
+ {
+ return d_main_gui->title().toStdString();
+ }
+
+ std::string
+ time_raster_sink_f_impl::line_label(int which)
+ {
+ return d_main_gui->lineLabel(which).toStdString();
+ }
+
+ std::string
+ time_raster_sink_f_impl::line_color(int which)
+ {
+ return d_main_gui->lineColor(which).toStdString();
+ }
+
+ int
+ time_raster_sink_f_impl::line_width(int which)
+ {
+ return d_main_gui->lineWidth(which);
+ }
+
+ int
+ time_raster_sink_f_impl::line_style(int which)
+ {
+ return d_main_gui->lineStyle(which);
+ }
+
+ int
+ time_raster_sink_f_impl::line_marker(int which)
+ {
+ return d_main_gui->lineMarker(which);
+ }
+
+ int
+ time_raster_sink_f_impl::color_map(int which)
+ {
+ return d_main_gui->getColorMap(which);
+ }
+
+ double
+ time_raster_sink_f_impl::line_alpha(int which)
+ {
+ return (double)(d_main_gui->markerAlpha(which))/255.0;
+ }
+
double
time_raster_sink_f_impl::num_rows()
{
@@ -263,6 +330,24 @@ namespace gr {
}
void
+ time_raster_sink_f_impl::enable_menu(bool en)
+ {
+ d_main_gui->enableMenu(en);
+ }
+
+ void
+ time_raster_sink_f_impl::enable_grid(bool en)
+ {
+ d_main_gui->setGrid(en);
+ }
+
+ void
+ time_raster_sink_f_impl::enable_autoscale(bool en)
+ {
+ d_main_gui->autoScale(en);
+ }
+
+ void
time_raster_sink_f_impl::reset()
{
d_index = 0;
diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.h b/gr-qtgui/lib/time_raster_sink_f_impl.h
index 9c00ac89ba..922ae6df73 100644
--- a/gr-qtgui/lib/time_raster_sink_f_impl.h
+++ b/gr-qtgui/lib/time_raster_sink_f_impl.h
@@ -81,9 +81,21 @@ namespace gr {
void set_line_width(int width);
void set_line_style(Qt::PenStyle style);
void set_line_marker(QwtSymbol::Style marker);
+ void set_line_alpha(int which, double alpha);
+ void set_color_map(int which, const int color);
+
+ std::string title();
+ std::string line_label(int which);
+ std::string line_color(int which);
+ int line_width(int which);
+ int line_style(int which);
+ int line_marker(int which);
+ double line_alpha(int which);
+ int color_map(int which);
void set_size(int width, int height);
+ void set_samp_rate(const double samp_rate);
void set_num_rows(double rows);
void set_num_cols(double cols);
@@ -95,6 +107,9 @@ namespace gr {
void set_intensity_range(float min, float max);
+ void enable_menu(bool en);
+ void enable_grid(bool en);
+ void enable_autoscale(bool en);
void reset();
int work(int noutput_items,
diff --git a/gr-qtgui/lib/timerasterdisplayform.cc b/gr-qtgui/lib/timerasterdisplayform.cc
index 6b7a344cd2..ed17cf45ce 100644
--- a/gr-qtgui/lib/timerasterdisplayform.cc
+++ b/gr-qtgui/lib/timerasterdisplayform.cc
@@ -118,6 +118,31 @@ TimeRasterDisplayForm::numCols()
return getPlot()->numCols();
}
+int
+TimeRasterDisplayForm::getColorMap(int which)
+{
+ return getPlot()->getIntensityColorMapType(which);
+}
+
+int
+TimeRasterDisplayForm::getAlpha(int which)
+{
+ return getPlot()->getAlpha(which);
+}
+
+double
+TimeRasterDisplayForm::getMinIntensity(int which)
+{
+ return getPlot()->getMinIntensity(which);
+}
+
+double
+TimeRasterDisplayForm::getMaxIntensity(int which)
+{
+ return getPlot()->getMaxIntensity(which);
+}
+
+
void
TimeRasterDisplayForm::newData(const QEvent *updateEvent)
{
@@ -151,30 +176,42 @@ void
TimeRasterDisplayForm::setNumRows(double rows)
{
getPlot()->setNumRows(rows);
+ getPlot()->replot();
}
void
TimeRasterDisplayForm::setNumRows(QString rows)
{
getPlot()->setNumRows(rows.toDouble());
+ getPlot()->replot();
}
void
TimeRasterDisplayForm::setNumCols(double cols)
{
getPlot()->setNumCols(cols);
+ getPlot()->replot();
}
void
TimeRasterDisplayForm::setNumCols(QString cols)
{
getPlot()->setNumCols(cols.toDouble());
+ getPlot()->replot();
+}
+
+void
+TimeRasterDisplayForm::setSampleRate(const double rate)
+{
+ getPlot()->setSampleRate(rate);
+ getPlot()->replot();
}
void
TimeRasterDisplayForm::setSampleRate(const QString &rate)
{
getPlot()->setSampleRate(rate.toDouble());
+ getPlot()->replot();
}
void
@@ -185,12 +222,14 @@ TimeRasterDisplayForm::setColorMap(int which,
{
getPlot()->setIntensityColorMapType(which, newType,
lowColor, highColor);
+ getPlot()->replot();
}
void
TimeRasterDisplayForm::setAlpha(int which, int alpha)
{
getPlot()->setAlpha(which, alpha);
+ getPlot()->replot();
}
void
@@ -198,6 +237,7 @@ TimeRasterDisplayForm::setIntensityRange(const double minIntensity,
const double maxIntensity)
{
getPlot()->setIntensityRange(minIntensity, maxIntensity);
+ getPlot()->replot();
}
void
@@ -207,4 +247,5 @@ TimeRasterDisplayForm::autoScale(bool en)
double max_int = _max_val;
getPlot()->setIntensityRange(min_int, max_int);
+ getPlot()->replot();
}
diff --git a/gr-qtgui/lib/timerasterdisplayform.h b/gr-qtgui/lib/timerasterdisplayform.h
index 9c6960d0a7..f5341f5ecf 100644
--- a/gr-qtgui/lib/timerasterdisplayform.h
+++ b/gr-qtgui/lib/timerasterdisplayform.h
@@ -49,6 +49,11 @@ class TimeRasterDisplayForm : public DisplayForm
double numRows();
double numCols();
+ int getColorMap(int which);
+ int getAlpha(int which);
+ double getMinIntensity(int which);
+ double getMaxIntensity(int which);
+
public slots:
void customEvent(QEvent *e);
@@ -58,6 +63,7 @@ public slots:
void setNumRows(QString rows);
void setNumCols(QString cols);
+ void setSampleRate(const double samprate);
void setSampleRate(const QString &rate);
void setIntensityRange(const double minIntensity,
@@ -65,8 +71,8 @@ public slots:
void setColorMap(int which,
const int newType,
- const QColor lowColor,
- const QColor highColor);
+ const QColor lowColor=QColor("white"),
+ const QColor highColor=QColor("white"));
void setAlpha(int which, int alpha);