summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gr-qtgui/lib')
-rw-r--r--gr-qtgui/lib/const_sink_c_impl.cc3
-rw-r--r--gr-qtgui/lib/constellationdisplayform.cc9
-rw-r--r--gr-qtgui/lib/displayform.cc13
-rw-r--r--gr-qtgui/lib/displayform.h3
-rw-r--r--gr-qtgui/lib/freq_sink_c_impl.cc3
-rw-r--r--gr-qtgui/lib/freq_sink_f_impl.cc3
-rw-r--r--gr-qtgui/lib/time_raster_sink_b_impl.cc23
-rw-r--r--gr-qtgui/lib/time_raster_sink_b_impl.h10
-rw-r--r--gr-qtgui/lib/time_raster_sink_c_impl.cc3
-rw-r--r--gr-qtgui/lib/time_raster_sink_f_impl.cc23
-rw-r--r--gr-qtgui/lib/time_raster_sink_f_impl.h10
-rw-r--r--gr-qtgui/lib/time_sink_c_impl.cc3
-rw-r--r--gr-qtgui/lib/time_sink_f_impl.cc3
-rw-r--r--gr-qtgui/lib/waterfall_sink_c_impl.cc3
-rw-r--r--gr-qtgui/lib/waterfall_sink_f_impl.cc3
15 files changed, 77 insertions, 38 deletions
diff --git a/gr-qtgui/lib/const_sink_c_impl.cc b/gr-qtgui/lib/const_sink_c_impl.cc
index 9b01d1659e..b623dc2175 100644
--- a/gr-qtgui/lib/const_sink_c_impl.cc
+++ b/gr-qtgui/lib/const_sink_c_impl.cc
@@ -75,6 +75,9 @@ namespace gr {
const_sink_c_impl::~const_sink_c_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
// d_main_gui is a qwidget destroyed with its parent
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs_real[i]);
diff --git a/gr-qtgui/lib/constellationdisplayform.cc b/gr-qtgui/lib/constellationdisplayform.cc
index 422e48ea87..e3c65ec41d 100644
--- a/gr-qtgui/lib/constellationdisplayform.cc
+++ b/gr-qtgui/lib/constellationdisplayform.cc
@@ -110,13 +110,8 @@ ConstellationDisplayForm::setXaxis(double min, double max)
void
ConstellationDisplayForm::autoScale(bool en)
{
- if(en) {
- _autoscale_state = true;
- }
- else {
- _autoscale_state = false;
- }
-
+ _autoscale_state = en;
+ _autoscale_act->setChecked(en);
getPlot()->setAutoScale(_autoscale_state);
getPlot()->replot();
}
diff --git a/gr-qtgui/lib/displayform.cc b/gr-qtgui/lib/displayform.cc
index 1f0e27bee6..276539cdde 100644
--- a/gr-qtgui/lib/displayform.cc
+++ b/gr-qtgui/lib/displayform.cc
@@ -28,6 +28,8 @@
DisplayForm::DisplayForm(int nplots, QWidget* parent)
: QWidget(parent), _nplots(nplots), _systemSpecifiedFlag(false)
{
+ _isclosed = false;
+
// Set the initial plot size
resize(QSize(800, 600));
@@ -128,6 +130,8 @@ DisplayForm::DisplayForm(int nplots, QWidget* parent)
DisplayForm::~DisplayForm()
{
+ _isclosed = true;
+
// Qt deletes children when parent is deleted
// Don't worry about deleting Display Plots - they are deleted when parents are deleted
@@ -178,6 +182,12 @@ DisplayForm::Reset()
{
}
+bool
+DisplayForm::isClosed() const
+{
+ return _isclosed;
+}
+
void
DisplayForm::enableMenu(bool en)
{
@@ -185,8 +195,9 @@ DisplayForm::enableMenu(bool en)
}
void
-DisplayForm::closeEvent( QCloseEvent *e )
+DisplayForm::closeEvent(QCloseEvent *e)
{
+ _isclosed = true;
qApp->processEvents();
QWidget::closeEvent(e);
}
diff --git a/gr-qtgui/lib/displayform.h b/gr-qtgui/lib/displayform.h
index 0d105bd83d..31dc757bb6 100644
--- a/gr-qtgui/lib/displayform.h
+++ b/gr-qtgui/lib/displayform.h
@@ -43,6 +43,7 @@ class DisplayForm : public QWidget
virtual DisplayPlot* getPlot() = 0;
void Reset();
+ bool isClosed() const;
void enableMenu(bool en=true);
@@ -91,6 +92,8 @@ signals:
void plotPointSelected(const QPointF p, int type);
protected:
+ bool _isclosed;
+
int _nplots;
QGridLayout *_layout;
diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc
index 3755df0552..b1f9a2b1a1 100644
--- a/gr-qtgui/lib/freq_sink_c_impl.cc
+++ b/gr-qtgui/lib/freq_sink_c_impl.cc
@@ -86,6 +86,9 @@ namespace gr {
freq_sink_c_impl::~freq_sink_c_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
fft::free(d_magbufs[i]);
diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc
index 807be83948..f357ae10be 100644
--- a/gr-qtgui/lib/freq_sink_f_impl.cc
+++ b/gr-qtgui/lib/freq_sink_f_impl.cc
@@ -86,6 +86,9 @@ namespace gr {
freq_sink_f_impl::~freq_sink_f_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
fft::free(d_magbufs[i]);
diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc b/gr-qtgui/lib/time_raster_sink_b_impl.cc
index 11821a462c..d90661b968 100644
--- a/gr-qtgui/lib/time_raster_sink_b_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc
@@ -89,6 +89,9 @@ namespace gr {
time_raster_sink_b_impl::~time_raster_sink_b_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
fft::free(d_tmpflt);
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
@@ -163,33 +166,33 @@ namespace gr {
}
void
- time_raster_sink_b_impl::set_line_label(const std::string &label)
+ time_raster_sink_b_impl::set_line_label(int which, const std::string &label)
{
- d_main_gui->setLineLabel(0, label.c_str());
+ d_main_gui->setLineLabel(which, label.c_str());
}
void
- time_raster_sink_b_impl::set_line_color(const std::string &color)
+ time_raster_sink_b_impl::set_line_color(int which, const std::string &color)
{
- d_main_gui->setLineColor(0, color.c_str());
+ d_main_gui->setLineColor(which, color.c_str());
}
void
- time_raster_sink_b_impl::set_line_width(int width)
+ time_raster_sink_b_impl::set_line_width(int which, int width)
{
- d_main_gui->setLineWidth(0, width);
+ d_main_gui->setLineWidth(which, width);
}
void
- time_raster_sink_b_impl::set_line_style(Qt::PenStyle style)
+ time_raster_sink_b_impl::set_line_style(int which, Qt::PenStyle style)
{
- d_main_gui->setLineStyle(0, style);
+ d_main_gui->setLineStyle(which, style);
}
void
- time_raster_sink_b_impl::set_line_marker(QwtSymbol::Style marker)
+ time_raster_sink_b_impl::set_line_marker(int which, QwtSymbol::Style marker)
{
- d_main_gui->setLineMarker(0, marker);
+ d_main_gui->setLineMarker(which, marker);
}
void
diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.h b/gr-qtgui/lib/time_raster_sink_b_impl.h
index 46f5300cc7..68dfa25aac 100644
--- a/gr-qtgui/lib/time_raster_sink_b_impl.h
+++ b/gr-qtgui/lib/time_raster_sink_b_impl.h
@@ -77,11 +77,11 @@ namespace gr {
void set_update_time(double t);
void set_title(const std::string &title);
- void set_line_label(const std::string &label);
- void set_line_color(const std::string &color);
- void set_line_width(int width);
- void set_line_style(Qt::PenStyle style);
- void set_line_marker(QwtSymbol::Style marker);
+ void set_line_label(int which, const std::string &label);
+ void set_line_color(int which, const std::string &color);
+ void set_line_width(int which, int width);
+ void set_line_style(int which, Qt::PenStyle style);
+ void set_line_marker(int which, QwtSymbol::Style marker);
void set_line_alpha(int which, double alpha);
void set_color_map(int which, const int color);
diff --git a/gr-qtgui/lib/time_raster_sink_c_impl.cc b/gr-qtgui/lib/time_raster_sink_c_impl.cc
index a0b1259157..17098f0d93 100644
--- a/gr-qtgui/lib/time_raster_sink_c_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_c_impl.cc
@@ -66,6 +66,9 @@ namespace gr {
time_raster_sink_c_impl::~time_raster_sink_c_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
}
diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.cc b/gr-qtgui/lib/time_raster_sink_f_impl.cc
index 5def19f406..39237e2912 100644
--- a/gr-qtgui/lib/time_raster_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc
@@ -87,6 +87,9 @@ namespace gr {
time_raster_sink_f_impl::~time_raster_sink_f_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
fft::free(d_tmpflt);
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
@@ -161,33 +164,33 @@ namespace gr {
}
void
- time_raster_sink_f_impl::set_line_label(const std::string &label)
+ time_raster_sink_f_impl::set_line_label(int which, const std::string &label)
{
- d_main_gui->setLineLabel(0, label.c_str());
+ d_main_gui->setLineLabel(which, label.c_str());
}
void
- time_raster_sink_f_impl::set_line_color(const std::string &color)
+ time_raster_sink_f_impl::set_line_color(int which, const std::string &color)
{
- d_main_gui->setLineColor(0, color.c_str());
+ d_main_gui->setLineColor(which, color.c_str());
}
void
- time_raster_sink_f_impl::set_line_width(int width)
+ time_raster_sink_f_impl::set_line_width(int which, int width)
{
- d_main_gui->setLineWidth(0, width);
+ d_main_gui->setLineWidth(which, width);
}
void
- time_raster_sink_f_impl::set_line_style(Qt::PenStyle style)
+ time_raster_sink_f_impl::set_line_style(int which, Qt::PenStyle style)
{
- d_main_gui->setLineStyle(0, style);
+ d_main_gui->setLineStyle(which, style);
}
void
- time_raster_sink_f_impl::set_line_marker(QwtSymbol::Style marker)
+ time_raster_sink_f_impl::set_line_marker(int which, QwtSymbol::Style marker)
{
- d_main_gui->setLineMarker(0, marker);
+ d_main_gui->setLineMarker(which, marker);
}
void
diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.h b/gr-qtgui/lib/time_raster_sink_f_impl.h
index 922ae6df73..1d7d791202 100644
--- a/gr-qtgui/lib/time_raster_sink_f_impl.h
+++ b/gr-qtgui/lib/time_raster_sink_f_impl.h
@@ -76,11 +76,11 @@ namespace gr {
void set_update_time(double t);
void set_title(const std::string &title);
- void set_line_label(const std::string &label);
- void set_line_color(const std::string &color);
- void set_line_width(int width);
- void set_line_style(Qt::PenStyle style);
- void set_line_marker(QwtSymbol::Style marker);
+ void set_line_label(int which, const std::string &label);
+ void set_line_color(int which, const std::string &color);
+ void set_line_width(int which, int width);
+ void set_line_style(int which, Qt::PenStyle style);
+ void set_line_marker(int which, QwtSymbol::Style marker);
void set_line_alpha(int which, double alpha);
void set_color_map(int which, const int color);
diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc
index 27d7eb3f3e..2edb83fa12 100644
--- a/gr-qtgui/lib/time_sink_c_impl.cc
+++ b/gr-qtgui/lib/time_sink_c_impl.cc
@@ -73,6 +73,9 @@ namespace gr {
time_sink_c_impl::~time_sink_c_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
// d_main_gui is a qwidget destroyed with its parent
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc
index 5bb89c7d59..39a62d3d6b 100644
--- a/gr-qtgui/lib/time_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_sink_f_impl.cc
@@ -73,6 +73,9 @@ namespace gr {
time_sink_f_impl::~time_sink_f_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
// d_main_gui is a qwidget destroyed with its parent
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.cc b/gr-qtgui/lib/waterfall_sink_c_impl.cc
index 617d6b5442..72908b51b9 100644
--- a/gr-qtgui/lib/waterfall_sink_c_impl.cc
+++ b/gr-qtgui/lib/waterfall_sink_c_impl.cc
@@ -85,6 +85,9 @@ namespace gr {
waterfall_sink_c_impl::~waterfall_sink_c_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
fft::free(d_magbufs[i]);
diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.cc b/gr-qtgui/lib/waterfall_sink_f_impl.cc
index a17f73a248..bdf1159e5a 100644
--- a/gr-qtgui/lib/waterfall_sink_f_impl.cc
+++ b/gr-qtgui/lib/waterfall_sink_f_impl.cc
@@ -84,6 +84,9 @@ namespace gr {
waterfall_sink_f_impl::~waterfall_sink_f_impl()
{
+ if(!d_main_gui->isClosed())
+ d_main_gui->close();
+
for(int i = 0; i < d_nconnections; i++) {
fft::free(d_residbufs[i]);
fft::free(d_magbufs[i]);