diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-02-20 21:30:02 -0500 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-02-21 11:57:13 -0500 |
commit | 18b20e591ffb20951605dfc4b7cbe5964b5159fa (patch) | |
tree | c5ecd53f2211e163500a7e129ce74f3f82193d28 /gr-qtgui/lib | |
parent | 9c27fc06bd0b473de50e76b845e25b835e26b6ff (diff) |
qtgui: adding time raster static plot tool.
Diffstat (limited to 'gr-qtgui/lib')
-rw-r--r-- | gr-qtgui/lib/TimeRasterDisplayPlot.cc | 30 | ||||
-rw-r--r-- | gr-qtgui/lib/TimeRasterDisplayPlot.h | 5 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_b_impl.cc | 85 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_b_impl.h | 15 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_f_impl.cc | 85 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_f_impl.h | 15 | ||||
-rw-r--r-- | gr-qtgui/lib/timerasterdisplayform.cc | 41 | ||||
-rw-r--r-- | gr-qtgui/lib/timerasterdisplayform.h | 10 |
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); |