diff options
Diffstat (limited to 'gr-qtgui/lib')
25 files changed, 109 insertions, 6 deletions
diff --git a/gr-qtgui/lib/DisplayPlot.cc b/gr-qtgui/lib/DisplayPlot.cc index 30fd837772..59384c88f6 100644 --- a/gr-qtgui/lib/DisplayPlot.cc +++ b/gr-qtgui/lib/DisplayPlot.cc @@ -443,3 +443,12 @@ DisplayPlot::onPickerPointSelected6(const QPointF & p) //fprintf(stderr,"onPickerPointSelected %f %f\n", point.x(), point.y()); emit plotPointSelected(point); } + +void +DisplayPlot::setAxisLabels(bool en) +{ + enableAxis(0,en); + enableAxis(2,en); +} + + diff --git a/gr-qtgui/lib/WaterfallDisplayPlot.cc b/gr-qtgui/lib/WaterfallDisplayPlot.cc index 676e4077db..b16c32bf9d 100644 --- a/gr-qtgui/lib/WaterfallDisplayPlot.cc +++ b/gr-qtgui/lib/WaterfallDisplayPlot.cc @@ -657,8 +657,6 @@ WaterfallDisplayPlot::_updateIntensityRangeDisplay() setAxisScale(QwtPlot::yRight, intv.minValue(), intv.maxValue()); #endif - enableAxis(d_legend_enabled); - plotLayout()->setAlignCanvasToScales(true); // Tell the display to redraw everything diff --git a/gr-qtgui/lib/const_sink_c_impl.cc b/gr-qtgui/lib/const_sink_c_impl.cc index 7ef8db393d..eaaf5f570a 100644 --- a/gr-qtgui/lib/const_sink_c_impl.cc +++ b/gr-qtgui/lib/const_sink_c_impl.cc @@ -375,6 +375,12 @@ namespace gr { } void + const_sink_c_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void const_sink_c_impl::disable_legend() { d_main_gui->disableLegend(); diff --git a/gr-qtgui/lib/const_sink_c_impl.h b/gr-qtgui/lib/const_sink_c_impl.h index 7d52c3ae15..f2dcb6e73e 100644 --- a/gr-qtgui/lib/const_sink_c_impl.h +++ b/gr-qtgui/lib/const_sink_c_impl.h @@ -118,6 +118,7 @@ namespace gr { void enable_menu(bool en); void enable_autoscale(bool en); void enable_grid(bool en); + void enable_axis_labels(bool en); void disable_legend(); void reset(); diff --git a/gr-qtgui/lib/displayform.cc b/gr-qtgui/lib/displayform.cc index 27a09512fc..13c2d8a193 100644 --- a/gr-qtgui/lib/displayform.cc +++ b/gr-qtgui/lib/displayform.cc @@ -29,6 +29,7 @@ DisplayForm::DisplayForm(int nplots, QWidget* parent) : QWidget(parent), d_nplots(nplots), d_system_specified_flag(false) { d_isclosed = false; + d_axislabels = true; // Set the initial plot size resize(QSize(800, 600)); @@ -53,11 +54,18 @@ DisplayForm::DisplayForm(int nplots, QWidget* parent) this, SLOT(setGrid(bool))); d_grid_state = false; + d_axislabelsmenu = new QAction("Axis Labels", this); + d_axislabelsmenu->setCheckable(true); + d_axislabelsmenu->setStatusTip(tr("Toggle Axis Labels on/off")); + connect(d_axislabelsmenu, SIGNAL(triggered(bool)), + this, SLOT(setAxisLabels(bool))); + // Create a pop-up menu for manipulating the figure d_menu_on = true; d_menu = new QMenu(this); d_menu->addAction(d_stop_act); d_menu->addAction(d_grid_act); + d_menu->addAction(d_axislabelsmenu); for(int i = 0; i < d_nplots; i++) { d_line_title_act.push_back(new LineTitleAction(i, this)); @@ -339,6 +347,14 @@ DisplayForm::setGrid(bool on) } void +DisplayForm::setAxisLabels(bool en) +{ + d_axislabels = en; + d_axislabelsmenu->setChecked(en); + getPlot()->setAxisLabels(d_axislabels); +} + +void DisplayForm::saveFigure() { QPixmap qpix = QPixmap::grabWidget(this); diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc index b667ccaee4..517786d58d 100644 --- a/gr-qtgui/lib/freq_sink_c_impl.cc +++ b/gr-qtgui/lib/freq_sink_c_impl.cc @@ -414,6 +414,12 @@ namespace gr { } void + freq_sink_c_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void freq_sink_c_impl::enable_control_panel(bool en) { if(en) diff --git a/gr-qtgui/lib/freq_sink_c_impl.h b/gr-qtgui/lib/freq_sink_c_impl.h index 7eec1ba10c..b102209359 100644 --- a/gr-qtgui/lib/freq_sink_c_impl.h +++ b/gr-qtgui/lib/freq_sink_c_impl.h @@ -154,6 +154,7 @@ namespace gr { void clear_min_hold(); void disable_legend(); void reset(); + void enable_axis_labels(bool en); int work(int noutput_items, gr_vector_const_void_star &input_items, diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc index 359854593a..90624e78eb 100644 --- a/gr-qtgui/lib/freq_sink_f_impl.cc +++ b/gr-qtgui/lib/freq_sink_f_impl.cc @@ -419,6 +419,12 @@ namespace gr { } void + freq_sink_f_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void freq_sink_f_impl::enable_control_panel(bool en) { if(en) diff --git a/gr-qtgui/lib/freq_sink_f_impl.h b/gr-qtgui/lib/freq_sink_f_impl.h index e52da7fb94..85d45b3f4c 100644 --- a/gr-qtgui/lib/freq_sink_f_impl.h +++ b/gr-qtgui/lib/freq_sink_f_impl.h @@ -154,6 +154,7 @@ namespace gr { void clear_min_hold(); void disable_legend(); void reset(); + void enable_axis_labels(bool en); int work(int noutput_items, gr_vector_const_void_star &input_items, diff --git a/gr-qtgui/lib/freqcontrolpanel.cc b/gr-qtgui/lib/freqcontrolpanel.cc index 5840989949..9729005f50 100644 --- a/gr-qtgui/lib/freqcontrolpanel.cc +++ b/gr-qtgui/lib/freqcontrolpanel.cc @@ -50,6 +50,7 @@ FreqControlPanel::FreqControlPanel(FreqDisplayForm *form) d_axes_layout = new QVBoxLayout; d_grid_check = new QCheckBox("Grid"); + d_axislabels_check = new QCheckBox("Axis Labels"); d_yrange_layout = new QHBoxLayout; d_yrange_label = new QLabel("Y Range:"); d_yrange_plus = new QPushButton("+"); @@ -133,6 +134,7 @@ FreqControlPanel::FreqControlPanel(FreqDisplayForm *form) d_trace_box->setLayout(d_trace_layout); d_axes_layout->addWidget(d_grid_check); + d_axes_layout->addWidget(d_axislabels_check); d_axes_layout->addLayout(d_yrange_layout); d_axes_layout->addLayout(d_ymin_layout); d_axes_layout->addWidget(d_autoscale_button); @@ -171,6 +173,9 @@ FreqControlPanel::FreqControlPanel(FreqDisplayForm *form) connect(d_grid_check, SIGNAL(clicked(bool)), d_parent, SLOT(setGrid(bool))); + connect(d_axislabels_check, SIGNAL(clicked(bool)), + d_parent, SLOT(setAxisLabels(bool))); + connect(d_ymin_plus, SIGNAL(pressed(void)), d_parent, SLOT(notifyYAxisPlus(void))); connect(d_ymin_minus, SIGNAL(pressed(void)), diff --git a/gr-qtgui/lib/histogram_sink_f_impl.cc b/gr-qtgui/lib/histogram_sink_f_impl.cc index 0ac494d751..4a1267c129 100644 --- a/gr-qtgui/lib/histogram_sink_f_impl.cc +++ b/gr-qtgui/lib/histogram_sink_f_impl.cc @@ -346,6 +346,12 @@ namespace gr { } void + histogram_sink_f_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void histogram_sink_f_impl::enable_autoscale(bool en) { d_main_gui->autoScale(en); diff --git a/gr-qtgui/lib/histogram_sink_f_impl.h b/gr-qtgui/lib/histogram_sink_f_impl.h index acacf1a745..d397beeb6b 100644 --- a/gr-qtgui/lib/histogram_sink_f_impl.h +++ b/gr-qtgui/lib/histogram_sink_f_impl.h @@ -88,6 +88,7 @@ namespace gr { void set_line_alpha(int which, double alpha); void set_nsamps(const int newsize); void set_bins(const int bins); + void enable_axis_labels(bool en); std::string title(); std::string line_label(int which); diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc b/gr-qtgui/lib/time_raster_sink_b_impl.cc index 26fed4b062..c0990a9890 100644 --- a/gr-qtgui/lib/time_raster_sink_b_impl.cc +++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc @@ -418,6 +418,12 @@ namespace gr { } void + time_raster_sink_b_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void time_raster_sink_b_impl::enable_autoscale(bool en) { d_main_gui->autoScale(en); diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.h b/gr-qtgui/lib/time_raster_sink_b_impl.h index 4da6990a18..48037b5e5e 100644 --- a/gr-qtgui/lib/time_raster_sink_b_impl.h +++ b/gr-qtgui/lib/time_raster_sink_b_impl.h @@ -122,6 +122,7 @@ namespace gr { void enable_menu(bool en); void enable_grid(bool en); void enable_autoscale(bool en); + void enable_axis_labels(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 419d52cad6..2fb3e7db68 100644 --- a/gr-qtgui/lib/time_raster_sink_f_impl.cc +++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc @@ -408,6 +408,12 @@ namespace gr { } void + time_raster_sink_f_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void time_raster_sink_f_impl::enable_autoscale(bool en) { d_main_gui->autoScale(en); diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.h b/gr-qtgui/lib/time_raster_sink_f_impl.h index ad63e4d777..1f25dc5534 100644 --- a/gr-qtgui/lib/time_raster_sink_f_impl.h +++ b/gr-qtgui/lib/time_raster_sink_f_impl.h @@ -121,6 +121,7 @@ namespace gr { void enable_menu(bool en); void enable_grid(bool en); void enable_autoscale(bool en); + void enable_axis_labels(bool en); void reset(); int work(int noutput_items, diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc index 9f1a04c5c8..98f603a8b0 100644 --- a/gr-qtgui/lib/time_sink_c_impl.cc +++ b/gr-qtgui/lib/time_sink_c_impl.cc @@ -143,7 +143,7 @@ namespace gr { d_qApplication->setStyleSheet(sstext); } - int numplots = (d_nconnections > 0) ? d_nconnections : 1; + int numplots = (d_nconnections > 0) ? d_nconnections : 2; d_main_gui = new TimeDisplayForm(numplots, d_parent); d_main_gui->setNPoints(d_size); d_main_gui->setSampleRate(d_samp_rate); @@ -441,10 +441,16 @@ namespace gr { d_main_gui->setTagMenu(which, en); } + void + time_sink_c_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + void time_sink_c_impl::disable_legend() { - d_main_gui->disableLegend(); + d_main_gui->disableLegend(); } void @@ -652,7 +658,7 @@ namespace gr { uint64_t nr = nitems_read(n); std::vector<gr::tag_t> tags; - get_tags_in_range(tags, n, nr, nr + nitems + 1); + get_tags_in_range(tags, n, nr, nr + nitems); for(size_t t = 0; t < tags.size(); t++) { tags[t].offset = tags[t].offset - nr + (d_index-d_start-1); } diff --git a/gr-qtgui/lib/time_sink_c_impl.h b/gr-qtgui/lib/time_sink_c_impl.h index ce6bd94d51..ff938f8ea1 100644 --- a/gr-qtgui/lib/time_sink_c_impl.h +++ b/gr-qtgui/lib/time_sink_c_impl.h @@ -130,6 +130,7 @@ namespace gr { void enable_semilogy(bool en); void enable_control_panel(bool en); void enable_tags(int which, bool en); + void enable_axis_labels(bool en); void disable_legend(); void reset(); diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc index e81a9f4acc..50a86d7dff 100644 --- a/gr-qtgui/lib/time_sink_f_impl.cc +++ b/gr-qtgui/lib/time_sink_f_impl.cc @@ -437,6 +437,12 @@ namespace gr { } void + time_sink_f_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void time_sink_f_impl::disable_legend() { d_main_gui->disableLegend(); @@ -643,7 +649,7 @@ namespace gr { uint64_t nr = nitems_read(idx); std::vector<gr::tag_t> tags; - get_tags_in_range(tags, idx, nr, nr + nitems + 1); + get_tags_in_range(tags, idx, nr, nr + nitems); for(size_t t = 0; t < tags.size(); t++) { tags[t].offset = tags[t].offset - nr + (d_index-d_start-1); } diff --git a/gr-qtgui/lib/time_sink_f_impl.h b/gr-qtgui/lib/time_sink_f_impl.h index 25d920c0da..a7a304aee1 100644 --- a/gr-qtgui/lib/time_sink_f_impl.h +++ b/gr-qtgui/lib/time_sink_f_impl.h @@ -130,6 +130,7 @@ namespace gr { void enable_semilogy(bool en); void enable_control_panel(bool en); void enable_tags(int which, bool en); + void enable_axis_labels(bool en); void disable_legend(); void reset(); diff --git a/gr-qtgui/lib/timecontrolpanel.cc b/gr-qtgui/lib/timecontrolpanel.cc index 4c5a718f97..95d2cb7a1c 100644 --- a/gr-qtgui/lib/timecontrolpanel.cc +++ b/gr-qtgui/lib/timecontrolpanel.cc @@ -31,6 +31,8 @@ TimeControlPanel::TimeControlPanel(TimeDisplayForm *form) d_axes_layout = new QVBoxLayout; d_autoscale_check = new QCheckBox("Autoscale"); d_grid_check = new QCheckBox("Grid"); + d_axislabels_check = new QCheckBox("Axis Labels"); + d_axislabels_check->setChecked(true); d_yoff_layout = new QHBoxLayout; d_yoff_label = new QLabel("Y Offset:"); @@ -106,6 +108,7 @@ TimeControlPanel::TimeControlPanel(TimeDisplayForm *form) // Set up the boxes into the layout d_axes_layout->addWidget(d_autoscale_check); d_axes_layout->addWidget(d_grid_check); + d_axes_layout->addWidget(d_axislabels_check); d_axes_layout->addLayout(d_yoff_layout); d_axes_layout->addLayout(d_yrange_layout); d_axes_layout->addLayout(d_xmax_layout); @@ -132,6 +135,8 @@ TimeControlPanel::TimeControlPanel(TimeDisplayForm *form) d_parent, SLOT(autoScale(bool))); connect(d_grid_check, SIGNAL(clicked(bool)), d_parent, SLOT(setGrid(bool))); + connect(d_axislabels_check, SIGNAL(clicked(bool)), + d_parent, SLOT(setAxisLabels(bool))); connect(d_yoff_plus, SIGNAL(pressed(void)), d_parent, SLOT(notifyYAxisPlus(void))); connect(d_yoff_minus, SIGNAL(pressed(void)), diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.cc b/gr-qtgui/lib/waterfall_sink_c_impl.cc index 694ef4dac7..7395aaf2a9 100644 --- a/gr-qtgui/lib/waterfall_sink_c_impl.cc +++ b/gr-qtgui/lib/waterfall_sink_c_impl.cc @@ -368,6 +368,12 @@ namespace gr { } void + waterfall_sink_c_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void waterfall_sink_c_impl::disable_legend() { d_main_gui->disableLegend(); diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.h b/gr-qtgui/lib/waterfall_sink_c_impl.h index 3e7f9ddd2d..49766cd3dc 100644 --- a/gr-qtgui/lib/waterfall_sink_c_impl.h +++ b/gr-qtgui/lib/waterfall_sink_c_impl.h @@ -132,6 +132,7 @@ namespace gr { void enable_menu(bool en); void enable_grid(bool en); void disable_legend(); + void enable_axis_labels(bool en); int work(int noutput_items, gr_vector_const_void_star &input_items, diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.cc b/gr-qtgui/lib/waterfall_sink_f_impl.cc index 56c2061f25..b6f50de31d 100644 --- a/gr-qtgui/lib/waterfall_sink_f_impl.cc +++ b/gr-qtgui/lib/waterfall_sink_f_impl.cc @@ -374,6 +374,12 @@ namespace gr { } void + waterfall_sink_f_impl::enable_axis_labels(bool en) + { + d_main_gui->setAxisLabels(en); + } + + void waterfall_sink_f_impl::disable_legend() { d_main_gui->disableLegend(); diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.h b/gr-qtgui/lib/waterfall_sink_f_impl.h index e4f855c9f5..db0f4239bc 100644 --- a/gr-qtgui/lib/waterfall_sink_f_impl.h +++ b/gr-qtgui/lib/waterfall_sink_f_impl.h @@ -133,6 +133,7 @@ namespace gr { void enable_menu(bool en); void enable_grid(bool en); void disable_legend(); + void enable_axis_labels(bool en); int work(int noutput_items, gr_vector_const_void_star &input_items, |