diff options
Diffstat (limited to 'gr-qtgui')
30 files changed, 106 insertions, 64 deletions
diff --git a/gr-qtgui/apps/grc_qt_example.grc b/gr-qtgui/apps/grc_qt_example.grc index a0c9a0b6ae..320320edcc 100644 --- a/gr-qtgui/apps/grc_qt_example.grc +++ b/gr-qtgui/apps/grc_qt_example.grc @@ -249,10 +249,10 @@ </param> </block> <block> - <key>gr_throttle</key> + <key>blocks_throttle</key> <param> <key>id</key> - <value>gr_throttle_0</value> + <value>blocks_throttle_0</value> </param> <param> <key>_enabled</key> @@ -434,7 +434,7 @@ </block> <connection> <source_block_id>analog_sig_source_x_0</source_block_id> - <sink_block_id>gr_throttle_0</sink_block_id> + <sink_block_id>blocks_throttle_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -445,7 +445,7 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_throttle_0</source_block_id> + <source_block_id>blocks_throttle_0</source_block_id> <sink_block_id>channels_channel_model_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> diff --git a/gr-qtgui/apps/qt_digital.py b/gr-qtgui/apps/qt_digital.py index d353e0041c..2e8cf2fd66 100755 --- a/gr-qtgui/apps/qt_digital.py +++ b/gr-qtgui/apps/qt_digital.py @@ -21,6 +21,7 @@ # from gnuradio import gr, digital +from gnuradio import blocks from gnuradio import eng_notation import sys @@ -215,7 +216,7 @@ class my_top_block(gr.top_block): self.to = 1.0 self.channel = gr.channel_model(noise, self.fo, self.to) - self.thr = gr.throttle(gr.sizeof_char, self._sample_rate) + self.thr = blocks.throttle(gr.sizeof_char, self._sample_rate) self.snk_tx = qtgui.sink_c(fftsize, gr.firdes.WIN_BLACKMAN_hARRIS, 0, self._sample_rate*self.sps, "Tx", True, True, True, True) diff --git a/gr-qtgui/examples/pyqt_const_c.py b/gr-qtgui/examples/pyqt_const_c.py index e26ce0bd90..3a43bf9a92 100755 --- a/gr-qtgui/examples/pyqt_const_c.py +++ b/gr-qtgui/examples/pyqt_const_c.py @@ -156,7 +156,7 @@ class my_top_block(gr.top_block): src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.5, 0) src = blocks.add_cc() channel = channels.channel_model(0.001) - thr = gr.throttle(gr.sizeof_gr_complex, 100*npts) + thr = blocks.throttle(gr.sizeof_gr_complex, 100*npts) self.snk1 = qtgui.const_sink_c(npts, "Constellation Example", 1) self.connect(src1, (src,0)) diff --git a/gr-qtgui/examples/pyqt_example_c.py b/gr-qtgui/examples/pyqt_example_c.py index ccacc246bf..cb708360f1 100755 --- a/gr-qtgui/examples/pyqt_example_c.py +++ b/gr-qtgui/examples/pyqt_example_c.py @@ -160,7 +160,7 @@ class my_top_block(gr.top_block): src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_cc() channel = channels.channel_model(0.001) - thr = gr.throttle(gr.sizeof_gr_complex, 100*fftsize) + thr = blocks.throttle(gr.sizeof_gr_complex, 100*fftsize) self.snk1 = qtgui.sink_c(fftsize, filter.firdes.WIN_BLACKMAN_hARRIS, 0, Rs, "Complex Signal Example", diff --git a/gr-qtgui/examples/pyqt_example_f.py b/gr-qtgui/examples/pyqt_example_f.py index f975bf0d1a..5bd582d1e1 100755 --- a/gr-qtgui/examples/pyqt_example_f.py +++ b/gr-qtgui/examples/pyqt_example_f.py @@ -149,7 +149,7 @@ class my_top_block(gr.top_block): src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0) src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_ff() - thr = gr.throttle(gr.sizeof_float, 100*fftsize) + thr = blocks.throttle(gr.sizeof_float, 100*fftsize) noise = analog.noise_source_f(analog.GR_GAUSSIAN, 0.001) add = blocks.add_ff() self.snk1 = qtgui.sink_f(fftsize, filter.firdes.WIN_BLACKMAN_hARRIS, diff --git a/gr-qtgui/examples/pyqt_freq_c.py b/gr-qtgui/examples/pyqt_freq_c.py index 5941622130..7632176878 100755 --- a/gr-qtgui/examples/pyqt_freq_c.py +++ b/gr-qtgui/examples/pyqt_freq_c.py @@ -160,7 +160,7 @@ class my_top_block(gr.top_block): src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_cc() channel = channels.channel_model(0.01) - thr = gr.throttle(gr.sizeof_gr_complex, 100*npts) + thr = blocks.throttle(gr.sizeof_gr_complex, 100*npts) self.snk1 = qtgui.freq_sink_c(npts, filter.firdes.WIN_BLACKMAN_hARRIS, 0, Rs, "Complex Freq Example", 3) diff --git a/gr-qtgui/examples/pyqt_freq_f.py b/gr-qtgui/examples/pyqt_freq_f.py index 44d81314a4..668b54d249 100755 --- a/gr-qtgui/examples/pyqt_freq_f.py +++ b/gr-qtgui/examples/pyqt_freq_f.py @@ -150,7 +150,7 @@ class my_top_block(gr.top_block): src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0) src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_ff() - thr = gr.throttle(gr.sizeof_float, 100*npts) + thr = blocks.throttle(gr.sizeof_float, 100*npts) self.snk1 = qtgui.freq_sink_f(npts, filter.firdes.WIN_BLACKMAN_hARRIS, 0, Rs, "Real freq Example", 3) diff --git a/gr-qtgui/examples/pyqt_time_c.py b/gr-qtgui/examples/pyqt_time_c.py index 65d62c4167..ae8ebfc257 100755 --- a/gr-qtgui/examples/pyqt_time_c.py +++ b/gr-qtgui/examples/pyqt_time_c.py @@ -160,7 +160,7 @@ class my_top_block(gr.top_block): src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_cc() channel = channels.channel_model(0.01) - thr = gr.throttle(gr.sizeof_gr_complex, 100*npts) + thr = blocks.throttle(gr.sizeof_gr_complex, 100*npts) self.snk1 = qtgui.time_sink_c(npts, Rs, "Complex Time Example", 1) diff --git a/gr-qtgui/examples/pyqt_time_f.py b/gr-qtgui/examples/pyqt_time_f.py index e64d6fcfde..b733a5a809 100755 --- a/gr-qtgui/examples/pyqt_time_f.py +++ b/gr-qtgui/examples/pyqt_time_f.py @@ -149,7 +149,7 @@ class my_top_block(gr.top_block): src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0) src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_ff() - thr = gr.throttle(gr.sizeof_float, 100*npts) + thr = blocks.throttle(gr.sizeof_float, 100*npts) noise = analog.noise_source_f(analog.GR_GAUSSIAN, 0.001) add = blocks.add_ff() self.snk1 = qtgui.time_sink_f(npts, Rs, diff --git a/gr-qtgui/examples/pyqt_time_raster_b.py b/gr-qtgui/examples/pyqt_time_raster_b.py index b9db6e1e8e..b29403819d 100755 --- a/gr-qtgui/examples/pyqt_time_raster_b.py +++ b/gr-qtgui/examples/pyqt_time_raster_b.py @@ -21,6 +21,7 @@ # from gnuradio import gr +from gnuradio import blocks import sys try: @@ -59,7 +60,7 @@ class my_top_block(gr.top_block): fs = 200 src0 = gr.vector_source_b(data0, True) src1 = gr.vector_source_b(data1, True) - thr = gr.throttle(gr.sizeof_char, 50000) + thr = blocks.throttle(gr.sizeof_char, 50000) head = gr.head(gr.sizeof_char, 10000000) self.snk1 = qtgui.time_raster_sink_b(fs, nrows, ncols, [], [], "Time Raster Example", 2) diff --git a/gr-qtgui/examples/pyqt_time_raster_f.py b/gr-qtgui/examples/pyqt_time_raster_f.py index 0b343e6a6e..957e694b38 100755 --- a/gr-qtgui/examples/pyqt_time_raster_f.py +++ b/gr-qtgui/examples/pyqt_time_raster_f.py @@ -21,6 +21,7 @@ # from gnuradio import gr +from gnuradio import blocks import sys try: @@ -59,7 +60,7 @@ class my_top_block(gr.top_block): fs = 200 src0 = gr.vector_source_f(data0, True) src1 = gr.vector_source_f(data1, True) - thr = gr.throttle(gr.sizeof_float, 50000) + thr = blocks.throttle(gr.sizeof_float, 50000) hed = gr.head(gr.sizeof_float, 10000000) self.snk1 = qtgui.time_raster_sink_f(fs, nrows, ncols, [], [], "Float Time Raster Example", 2) diff --git a/gr-qtgui/examples/pyqt_waterfall_c.py b/gr-qtgui/examples/pyqt_waterfall_c.py index 407e8d1bb0..13168e1475 100755 --- a/gr-qtgui/examples/pyqt_waterfall_c.py +++ b/gr-qtgui/examples/pyqt_waterfall_c.py @@ -162,7 +162,7 @@ class my_top_block(gr.top_block): src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_cc() channel = channels.channel_model(0.01) - thr = gr.throttle(gr.sizeof_gr_complex, 100*npts) + thr = blocks.throttle(gr.sizeof_gr_complex, 100*npts) filt = filter.fft_filter_ccc(1, taps) self.snk1 = qtgui.waterfall_sink_c(npts, gr.firdes.WIN_BLACKMAN_hARRIS, 0, Rs, diff --git a/gr-qtgui/examples/pyqt_waterfall_f.py b/gr-qtgui/examples/pyqt_waterfall_f.py index 8843f19528..f9680c28cf 100755 --- a/gr-qtgui/examples/pyqt_waterfall_f.py +++ b/gr-qtgui/examples/pyqt_waterfall_f.py @@ -149,7 +149,7 @@ class my_top_block(gr.top_block): src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0) src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0) src = blocks.add_ff() - thr = gr.throttle(gr.sizeof_float, 100*npts) + thr = blocks.throttle(gr.sizeof_float, 100*npts) self.snk1 = qtgui.waterfall_sink_f(npts, filter.firdes.WIN_BLACKMAN_hARRIS, 0, Rs, "Real Waterfall Example", 2) diff --git a/gr-qtgui/include/qtgui/time_raster_sink_b.h b/gr-qtgui/include/qtgui/time_raster_sink_b.h index 1f2a2b09e8..132ab9715c 100644 --- a/gr-qtgui/include/qtgui/time_raster_sink_b.h +++ b/gr-qtgui/include/qtgui/time_raster_sink_b.h @@ -75,11 +75,11 @@ namespace gr { virtual void set_update_time(double t) = 0; virtual void set_title(const std::string &title) = 0; - virtual void set_line_label(const std::string &lable) = 0; - virtual void set_line_color(const std::string &color) = 0; - virtual void set_line_width(int width) = 0; - virtual void set_line_style(Qt::PenStyle style) = 0; - virtual void set_line_marker(QwtSymbol::Style marker) = 0; + virtual void set_line_label(int which, const std::string &lable) = 0; + virtual void set_line_color(int which, const std::string &color) = 0; + virtual void set_line_width(int which, int width) = 0; + virtual void set_line_style(int which, Qt::PenStyle style) = 0; + virtual void set_line_marker(int which, QwtSymbol::Style marker) = 0; virtual void set_line_alpha(int which, double alpha) = 0; virtual void set_color_map(int which, const int color) = 0; diff --git a/gr-qtgui/include/qtgui/time_raster_sink_f.h b/gr-qtgui/include/qtgui/time_raster_sink_f.h index c845dbfa7d..7215373bec 100644 --- a/gr-qtgui/include/qtgui/time_raster_sink_f.h +++ b/gr-qtgui/include/qtgui/time_raster_sink_f.h @@ -72,11 +72,11 @@ namespace gr { virtual void set_update_time(double t) = 0; virtual void set_title(const std::string &title) = 0; - virtual void set_line_label(const std::string &lable) = 0; - virtual void set_line_color(const std::string &color) = 0; - virtual void set_line_width(int width) = 0; - virtual void set_line_style(Qt::PenStyle style) = 0; - virtual void set_line_marker(QwtSymbol::Style marker) = 0; + virtual void set_line_label(int which, const std::string &lable) = 0; + virtual void set_line_color(int which, const std::string &color) = 0; + virtual void set_line_width(int which, int width) = 0; + virtual void set_line_style(int which, Qt::PenStyle style) = 0; + virtual void set_line_marker(int which, QwtSymbol::Style marker) = 0; virtual void set_line_alpha(int which, double alpha) = 0; virtual void set_color_map(int which, const int color) = 0; 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]); |