[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 17/37: qtgui: allows users to set title and
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 17/37: qtgui: allows users to set title and unit of Y axis for qt time plotter. |
Date: |
Thu, 17 Jul 2014 20:23:41 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
trondeau pushed a commit to branch master
in repository gnuradio.
commit ded480efed91be8fa80938c0ea5474990e2f7302
Author: Tom Rondeau <address@hidden>
Date: Fri Jul 11 15:56:45 2014 -0400
qtgui: allows users to set title and unit of Y axis for qt time plotter.
---
gr-qtgui/grc/qtgui_time_sink_x.xml | 19 +++++++++++++
.../include/gnuradio/qtgui/TimeDomainDisplayPlot.h | 3 +++
gr-qtgui/include/gnuradio/qtgui/time_sink_c.h | 2 ++
gr-qtgui/include/gnuradio/qtgui/time_sink_f.h | 2 ++
gr-qtgui/include/gnuradio/qtgui/timedisplayform.h | 2 ++
gr-qtgui/lib/TimeDomainDisplayPlot.cc | 31 +++++++++++++++++-----
gr-qtgui/lib/time_sink_c_impl.cc | 7 +++++
gr-qtgui/lib/time_sink_c_impl.h | 2 ++
gr-qtgui/lib/time_sink_f_impl.cc | 7 +++++
gr-qtgui/lib/time_sink_f_impl.h | 2 ++
gr-qtgui/lib/timedisplayform.cc | 8 +++++-
11 files changed, 78 insertions(+), 7 deletions(-)
diff --git a/gr-qtgui/grc/qtgui_time_sink_x.xml
b/gr-qtgui/grc/qtgui_time_sink_x.xml
index c605a0a..2d1cc65 100644
--- a/gr-qtgui/grc/qtgui_time_sink_x.xml
+++ b/gr-qtgui/grc/qtgui_time_sink_x.xml
@@ -20,6 +20,9 @@ qtgui.$(type.fcn)(
)
self.$(id).set_update_time($update_time)
self.$(id).set_y_axis($ymin, $ymax)
+
+self.$(id).set_y_label($ylabel, $yunit)
+
self.$(id).enable_tags(-1, $entags)
self.$(id).set_trigger_mode($tr_mode, $tr_slope, $tr_level, $tr_delay,
$tr_chan, $tr_tag)
self.$(id).enable_autoscale($autoscale)
@@ -98,6 +101,22 @@ $(gui_hint()($win))</make>
</param>
<param>
+ <name>Y Axis Label</name>
+ <key>ylabel</key>
+ <value>Amplitude</value>
+ <type>string</type>
+ <hide>part</hide>
+ </param>
+
+ <param>
+ <name>Y Axis Unit</name>
+ <key>yunit</key>
+ <value>""</value>
+ <type>string</type>
+ <hide>part</hide>
+ </param>
+
+ <param>
<name>Number of Points</name>
<key>size</key>
<value>1024</value>
diff --git a/gr-qtgui/include/gnuradio/qtgui/TimeDomainDisplayPlot.h
b/gr-qtgui/include/gnuradio/qtgui/TimeDomainDisplayPlot.h
index 8874a7e..81601ce 100644
--- a/gr-qtgui/include/gnuradio/qtgui/TimeDomainDisplayPlot.h
+++ b/gr-qtgui/include/gnuradio/qtgui/TimeDomainDisplayPlot.h
@@ -63,6 +63,9 @@ public slots:
void enableTagMarker(int which, bool en);
+ void setYLabel(const std::string &label,
+ const std::string &unit="");
+
private:
void _resetXAxisPoints();
void _autoScale(double bottom, double top);
diff --git a/gr-qtgui/include/gnuradio/qtgui/time_sink_c.h
b/gr-qtgui/include/gnuradio/qtgui/time_sink_c.h
index 8ce6e2e..84a8a4d 100644
--- a/gr-qtgui/include/gnuradio/qtgui/time_sink_c.h
+++ b/gr-qtgui/include/gnuradio/qtgui/time_sink_c.h
@@ -78,6 +78,8 @@ namespace gr {
#endif
virtual void set_y_axis(double min, double max) = 0;
+ virtual void set_y_label(const std::string &label,
+ const std::string &unit="") = 0;
virtual void set_update_time(double t) = 0;
virtual void set_title(const std::string &title) = 0;
virtual void set_line_label(int which, const std::string &label) = 0;
diff --git a/gr-qtgui/include/gnuradio/qtgui/time_sink_f.h
b/gr-qtgui/include/gnuradio/qtgui/time_sink_f.h
index 1a09492..b39c898 100644
--- a/gr-qtgui/include/gnuradio/qtgui/time_sink_f.h
+++ b/gr-qtgui/include/gnuradio/qtgui/time_sink_f.h
@@ -76,6 +76,8 @@ namespace gr {
#endif
virtual void set_y_axis(double min, double max) = 0;
+ virtual void set_y_label(const std::string &label,
+ const std::string &unit="") = 0;
virtual void set_update_time(double t) = 0;
virtual void set_title(const std::string &title) = 0;
virtual void set_line_label(int which, const std::string &line) = 0;
diff --git a/gr-qtgui/include/gnuradio/qtgui/timedisplayform.h
b/gr-qtgui/include/gnuradio/qtgui/timedisplayform.h
index 7e09e3c..e52e28c 100644
--- a/gr-qtgui/include/gnuradio/qtgui/timedisplayform.h
+++ b/gr-qtgui/include/gnuradio/qtgui/timedisplayform.h
@@ -58,6 +58,8 @@ public slots:
void setSampleRate(const double samprate);
void setSampleRate(const QString &samprate);
void setYaxis(double min, double max);
+ void setYLabel(const std::string &label,
+ const std::string &unit="");
void setNPoints(const int);
void setStem(bool en);
void autoScale(bool en);
diff --git a/gr-qtgui/lib/TimeDomainDisplayPlot.cc
b/gr-qtgui/lib/TimeDomainDisplayPlot.cc
index 8c0601a..3fc5924 100644
--- a/gr-qtgui/lib/TimeDomainDisplayPlot.cc
+++ b/gr-qtgui/lib/TimeDomainDisplayPlot.cc
@@ -66,7 +66,7 @@ public:
#else /* QWT_VERSION < 0x060100 */
TimeDomainDisplayZoomer(QWidget* canvas, const unsigned int timePrecision)
#endif /* QWT_VERSION < 0x060100 */
- : QwtPlotZoomer(canvas),TimePrecisionClass(timePrecision)
+ : QwtPlotZoomer(canvas),TimePrecisionClass(timePrecision),d_yUnitType("V")
{
setTrackerMode(QwtPicker::AlwaysOn);
}
@@ -85,23 +85,30 @@ public:
d_unitType = type;
}
+ void setYUnitType(const std::string &type)
+ {
+ d_yUnitType = type;
+ }
+
protected:
using QwtPlotZoomer::trackerText;
virtual QwtText trackerText( const QPoint& p ) const
{
QwtText t;
QwtDoublePoint dp = QwtPlotZoomer::invTransform(p);
- if((dp.y() > 0.0001) && (dp.y() < 10000)) {
- t.setText(QString("%1 %2, %3 V").
+ if((fabs(dp.y()) > 0.0001) && (fabs(dp.y()) < 10000)) {
+ t.setText(QString("%1 %2, %3 %4").
arg(dp.x(), 0, 'f', getTimePrecision()).
arg(d_unitType.c_str()).
- arg(dp.y(), 0, 'f', 4));
+ arg(dp.y(), 0, 'f', 4).
+ arg(d_yUnitType.c_str()));
}
else {
- t.setText(QString("%1 %2, %3 V").
+ t.setText(QString("%1 %2, %3 %4").
arg(dp.x(), 0, 'f', getTimePrecision()).
arg(d_unitType.c_str()).
- arg(dp.y(), 0, 'e', 4));
+ arg(dp.y(), 0, 'e', 4).
+ arg(d_yUnitType.c_str()));
}
return t;
@@ -109,6 +116,7 @@ protected:
private:
std::string d_unitType;
+ std::string d_yUnitType;
};
@@ -550,4 +558,15 @@ TimeDomainDisplayPlot::enableTagMarker(int which, bool en)
throw std::runtime_error("TimeDomainDisplayPlot: enabled tag marker does
not exist.\n");
}
+void
+TimeDomainDisplayPlot::setYLabel(const std::string &label,
+ const std::string &unit)
+{
+ std::string l = label;
+ if(unit.length() > 0)
+ l += " (" + unit + ")";
+ setAxisTitle(QwtPlot::yLeft, QString(l.c_str()));
+ ((TimeDomainDisplayZoomer*)d_zoomer)->setYUnitType(unit);
+}
+
#endif /* TIME_DOMAIN_DISPLAY_PLOT_C */
diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc
index e053806..8653f71 100644
--- a/gr-qtgui/lib/time_sink_c_impl.cc
+++ b/gr-qtgui/lib/time_sink_c_impl.cc
@@ -171,6 +171,13 @@ namespace gr {
}
void
+ time_sink_c_impl::set_y_label(const std::string &label,
+ const std::string &unit)
+ {
+ d_main_gui->setYLabel(label, unit);
+ }
+
+ void
time_sink_c_impl::set_update_time(double t)
{
//convert update time to ticks
diff --git a/gr-qtgui/lib/time_sink_c_impl.h b/gr-qtgui/lib/time_sink_c_impl.h
index c3c5bde..a793df5 100644
--- a/gr-qtgui/lib/time_sink_c_impl.h
+++ b/gr-qtgui/lib/time_sink_c_impl.h
@@ -93,6 +93,8 @@ namespace gr {
#endif
void set_y_axis(double min, double max);
+ void set_y_label(const std::string &label,
+ const std::string &unit="");
void set_update_time(double t);
void set_title(const std::string &title);
void set_line_label(int which, const std::string &label);
diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc
index 8424702..30e6df1 100644
--- a/gr-qtgui/lib/time_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_sink_f_impl.cc
@@ -173,6 +173,13 @@ namespace gr {
}
void
+ time_sink_f_impl::set_y_label(const std::string &label,
+ const std::string &unit)
+ {
+ d_main_gui->setYLabel(label, unit);
+ }
+
+ void
time_sink_f_impl::set_update_time(double t)
{
//convert update time to ticks
diff --git a/gr-qtgui/lib/time_sink_f_impl.h b/gr-qtgui/lib/time_sink_f_impl.h
index 32e860a..7f56fa0 100644
--- a/gr-qtgui/lib/time_sink_f_impl.h
+++ b/gr-qtgui/lib/time_sink_f_impl.h
@@ -93,6 +93,8 @@ namespace gr {
#endif
void set_y_axis(double min, double max);
+ void set_y_label(const std::string &label,
+ const std::string &unit="");
void set_update_time(double t);
void set_title(const std::string &title);
void set_line_label(int which, const std::string &label);
diff --git a/gr-qtgui/lib/timedisplayform.cc b/gr-qtgui/lib/timedisplayform.cc
index f666946..6d1deba 100644
--- a/gr-qtgui/lib/timedisplayform.cc
+++ b/gr-qtgui/lib/timedisplayform.cc
@@ -186,6 +186,13 @@ TimeDisplayForm::setYaxis(double min, double max)
getPlot()->setYaxis(min, max);
}
+void
+TimeDisplayForm::setYLabel(const std::string &label,
+ const std::string &unit)
+{
+ getPlot()->setYLabel(label, unit);
+}
+
int
TimeDisplayForm::getNPoints() const
{
@@ -362,4 +369,3 @@ TimeDisplayForm::getTriggerTagKey() const
{
return d_trig_tag_key;
}
-
- [Commit-gnuradio] [gnuradio] branch master updated (2bb2b31 -> 001ab47), git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 08/37: uhd: Added more type checking and flexibility to commands and tags, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 07/37: uhd: Added GRC bindings for command interface, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 02/37: digital: using new var_value for constellation variables, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 01/37: grc: design time values for object-like variables, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 04/37: uhd: Updated docs, in particular for the command interface, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 03/37: grc: allow blocks to dynamically hide some of their ports, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 10/37: uhd: Added checks for lock sensors., git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 17/37: qtgui: allows users to set title and unit of Y axis for qt time plotter.,
git <=
- [Commit-gnuradio] [gnuradio] 05/37: uhd: Added command interface to uhd source, modified command syntax, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 16/37: qtgui: adding ability to set grid on/off from grc properties dialog boxes for all qtgui sinks except the "sink" which doesn't support this., git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 12/37: Merge remote-tracking branch 'gnuradio-wg-grc/grc_variable_blocks', git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 22/37: Merge remote-tracking branch 'gnuradio-wg-grc/grc_port_view_options', git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 09/37: uhd: Added example for re-tuning through messages, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 06/37: uhd: Refactored common stuff from usrp sink and source, git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 23/37: qtgui: time raster display updates., git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 11/37: build: missed gnuradio-uhd in static libs build., git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 15/37: grc: fixing some spacing issues in various xml files., git, 2014/07/17
- [Commit-gnuradio] [gnuradio] 13/37: Merge remote-tracking branch 'gnuradio-wg-grc/grc_hide_ports', git, 2014/07/17