GNU Radio Manual and C++ API Reference  v3.9.2.0-89-gb7c7001e
The Free & Open Software Radio Ecosystem
TimeRasterDisplayPlot.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2012,2013 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef TIMERASTER_DISPLAY_PLOT_H
12 #define TIMERASTER_DISPLAY_PLOT_H
13 
18 #include <qwt_plot_rasteritem.h>
19 #include <cstdint>
20 #include <cstdio>
21 #include <vector>
22 
23 #if QWT_VERSION < 0x060000
25 #else
26 #include <qwt_compat.h>
27 #endif
28 
29 /*!
30  * \brief QWidget for time raster (time vs. time) plots.
31  * \ingroup qtgui_blk
32  */
34 {
35  Q_OBJECT
36 
39  Q_PROPERTY(int color_map_title_font_size READ getColorMapTitleFontSize WRITE
41 
42 public:
44  int nplots, double samp_rate, double rows, double cols, QWidget*);
46 
47  void reset();
48 
49  void setNumRows(double rows);
50  void setNumCols(double cols);
51  void setAlpha(unsigned int which, int alpha);
52  void setSampleRate(double samprate);
53  void setXLabel(const std::string& label);
54  void setXAxis(double start, double end);
55  void setYLabel(const std::string& label);
56  void setYAxis(double start, double end);
57 
58  double numRows() const;
59  double numCols() const;
60 
61  int getAlpha(unsigned int which);
62 
63  void setPlotDimensions(const double rows,
64  const double cols,
65  const double units,
66  const std::string& strunits);
67 
68  void plotNewData(const std::vector<double*> dataPoints, const uint64_t numDataPoints);
69 
70  void plotNewData(const double* dataPoints, const uint64_t numDataPoints);
71 
72  void setIntensityRange(const double minIntensity, const double maxIntensity);
73 
74  void replot(void) override;
75 
76  int getIntensityColorMapType(unsigned int) const;
78  void
79  setIntensityColorMapType(const unsigned int, const int, const QColor, const QColor);
82  void setColorMapTitleFontSize(int tfs);
83  const QColor getUserDefinedLowIntensityColor() const;
84  const QColor getUserDefinedHighIntensityColor() const;
85 
86  double getMinIntensity(unsigned int which) const;
87  double getMaxIntensity(unsigned int which) const;
88 
89 signals:
90  void updatedLowerIntensityLevel(const double);
91  void updatedUpperIntensityLevel(const double);
92 
93 private:
94  void _updateIntensityRangeDisplay();
95 
96  std::vector<TimeRasterData*> d_data;
97  std::vector<PlotTimeRaster*> d_raster;
98 
99  double d_samp_rate;
100  double d_rows, d_cols;
101 
102  std::vector<int> d_color_map_type;
103  QColor d_low_intensity;
104  QColor d_high_intensity;
105 
106  int d_color_bar_title_font_size;
107 
108  std::string d_x_label;
109  double d_x_start_value;
110  double d_x_end_value;
111  std::string d_y_label;
112  double d_y_start_value;
113  double d_y_end_value;
114 };
115 
116 #endif /* TIMERASTER_DISPLAY_PLOT_H */
QWidget base plot to build QTGUI plotting tools.
Definition: DisplayPlot.h:50
QWidget for time raster (time vs. time) plots.
Definition: TimeRasterDisplayPlot.h:34
void updatedUpperIntensityLevel(const double)
double numRows() const
void plotNewData(const double *dataPoints, const uint64_t numDataPoints)
void setPlotDimensions(const double rows, const double cols, const double units, const std::string &strunits)
void setXLabel(const std::string &label)
void setColorMapTitleFontSize(int tfs)
~TimeRasterDisplayPlot() override
void setSampleRate(double samprate)
void setYLabel(const std::string &label)
void replot(void) override
int getColorMapTitleFontSize() const
void setXAxis(double start, double end)
void plotNewData(const std::vector< double * > dataPoints, const uint64_t numDataPoints)
void setNumRows(double rows)
int getAlpha(unsigned int which)
int getIntensityColorMapType1() const
int getIntensityColorMapType(unsigned int) const
int intensity_color_map_type1
Definition: TimeRasterDisplayPlot.h:38
void updatedLowerIntensityLevel(const double)
void setYAxis(double start, double end)
void setNumCols(double cols)
int color_map_title_font_size
Definition: TimeRasterDisplayPlot.h:40
void setIntensityRange(const double minIntensity, const double maxIntensity)
double getMinIntensity(unsigned int which) const
const QColor getUserDefinedHighIntensityColor() const
const QColor getUserDefinedLowIntensityColor() const
double getMaxIntensity(unsigned int which) const
TimeRasterDisplayPlot(int nplots, double samp_rate, double rows, double cols, QWidget *)
void setAlpha(unsigned int which, int alpha)
double numCols() const
void setIntensityColorMapType1(int)
void setIntensityColorMapType(const unsigned int, const int, const QColor, const QColor)