summaryrefslogtreecommitdiff
path: root/gr-qtgui/src/lib/WaterfallDisplayPlot.cc
diff options
context:
space:
mode:
authortrondeau2009-08-11 22:02:56 +0000
committertrondeau2009-08-11 22:02:56 +0000
commitf123fd990783b7e6ed24a12763cb2a766860d133 (patch)
tree4c5b8d53589287e6e70b7eef8bbb594c608a2a75 /gr-qtgui/src/lib/WaterfallDisplayPlot.cc
parentc1621a335d80ccd496d8e0cef5a8370c55509f73 (diff)
downloadgnuradio-f123fd990783b7e6ed24a12763cb2a766860d133.tar.gz
gnuradio-f123fd990783b7e6ed24a12763cb2a766860d133.tar.bz2
gnuradio-f123fd990783b7e6ed24a12763cb2a766860d133.zip
Cleaning up Qt code. This mostly reformats the code to be more consistent with our style. It also changes the layout to use Qt layouts for proper resizing of the GUI. Only the QwtPlots need to be resized manually.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11572 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gr-qtgui/src/lib/WaterfallDisplayPlot.cc')
-rw-r--r--gr-qtgui/src/lib/WaterfallDisplayPlot.cc149
1 files changed, 103 insertions, 46 deletions
diff --git a/gr-qtgui/src/lib/WaterfallDisplayPlot.cc b/gr-qtgui/src/lib/WaterfallDisplayPlot.cc
index ad167f097..f6d0cc0ba 100644
--- a/gr-qtgui/src/lib/WaterfallDisplayPlot.cc
+++ b/gr-qtgui/src/lib/WaterfallDisplayPlot.cc
@@ -15,28 +15,33 @@
class FreqOffsetAndPrecisionClass
{
public:
- FreqOffsetAndPrecisionClass(const int freqPrecision){
+ FreqOffsetAndPrecisionClass(const int freqPrecision)
+ {
_frequencyPrecision = freqPrecision;
_centerFrequency = 0;
}
- virtual ~FreqOffsetAndPrecisionClass(){
-
+ virtual ~FreqOffsetAndPrecisionClass()
+ {
}
- virtual unsigned int GetFrequencyPrecision()const{
+ virtual unsigned int GetFrequencyPrecision() const
+ {
return _frequencyPrecision;
}
- virtual void SetFrequencyPrecision(const unsigned int newPrecision){
+ virtual void SetFrequencyPrecision(const unsigned int newPrecision)
+ {
_frequencyPrecision = newPrecision;
}
- virtual double GetCenterFrequency()const{
+ virtual double GetCenterFrequency() const
+ {
return _centerFrequency;
}
- virtual void SetCenterFrequency(const double newFreq){
+ virtual void SetCenterFrequency(const double newFreq)
+ {
_centerFrequency = newFreq;
}
@@ -50,19 +55,23 @@ private:
class WaterfallFreqDisplayScaleDraw: public QwtScaleDraw, public FreqOffsetAndPrecisionClass{
public:
- WaterfallFreqDisplayScaleDraw(const unsigned int precision):QwtScaleDraw(), FreqOffsetAndPrecisionClass(precision){
-
+ WaterfallFreqDisplayScaleDraw(const unsigned int precision)
+ : QwtScaleDraw(), FreqOffsetAndPrecisionClass(precision)
+ {
}
- virtual ~WaterfallFreqDisplayScaleDraw(){
-
+ virtual ~WaterfallFreqDisplayScaleDraw()
+ {
}
- QwtText label(double value)const{
- return QString("%1").arg((value + GetCenterFrequency()) / ((GetFrequencyPrecision() == 0) ? 1.0 : 1000.0), 0, 'f', GetFrequencyPrecision());
+ QwtText label(double value) const
+ {
+ return QString("%1").arg((value + GetCenterFrequency()) / ((GetFrequencyPrecision() == 0) ? 1.0 : 1000.0),
+ 0, 'f', GetFrequencyPrecision());
}
- virtual void initiateUpdate(){
+ virtual void initiateUpdate()
+ {
invalidateCache();
}
@@ -75,29 +84,33 @@ private:
class TimeScaleData
{
public:
- TimeScaleData(){
+ TimeScaleData()
+ {
timespec_reset(&_zeroTime);
_secondsPerLine = 1.0;
-
}
- virtual ~TimeScaleData(){
-
+ virtual ~TimeScaleData()
+ {
}
- virtual timespec GetZeroTime()const{
+ virtual timespec GetZeroTime() const
+ {
return _zeroTime;
}
- virtual void SetZeroTime(const timespec newTime){
+ virtual void SetZeroTime(const timespec newTime)
+ {
_zeroTime = newTime;
}
- virtual void SetSecondsPerLine(const double newTime){
+ virtual void SetSecondsPerLine(const double newTime)
+ {
_secondsPerLine = newTime;
}
- virtual double GetSecondsPerLine()const{
+ virtual double GetSecondsPerLine() const
+ {
return _secondsPerLine;
}
@@ -113,27 +126,32 @@ private:
class QwtTimeScaleDraw: public QwtScaleDraw, public TimeScaleData
{
public:
- QwtTimeScaleDraw():QwtScaleDraw(),TimeScaleData(){
-
+ QwtTimeScaleDraw():QwtScaleDraw(),TimeScaleData()
+ {
}
- virtual ~QwtTimeScaleDraw(){
-
+ virtual ~QwtTimeScaleDraw()
+ {
}
- virtual QwtText label(double value)const{
+ virtual QwtText label(double value) const
+ {
QwtText returnLabel("");
timespec lineTime = timespec_add(GetZeroTime(), (-value) * GetSecondsPerLine());
struct tm timeTm;
gmtime_r(&lineTime.tv_sec, &timeTm);
- returnLabel = (QString("").sprintf("%04d/%02d/%02d\n%02d:%02d:%02d.%03ld", timeTm.tm_year+1900, timeTm.tm_mon+1, timeTm.tm_mday, timeTm.tm_hour, timeTm.tm_min, timeTm.tm_sec, lineTime.tv_nsec/1000000));
-
+ returnLabel = (QString("").sprintf("%04d/%02d/%02d\n%02d:%02d:%02d.%03ld",
+ timeTm.tm_year+1900, timeTm.tm_mon+1,
+ timeTm.tm_mday, timeTm.tm_hour, timeTm.tm_min,
+ timeTm.tm_sec, lineTime.tv_nsec/1000000));
return returnLabel;
}
- virtual void initiateUpdate(){
- // Do this in one call rather than when zeroTime and secondsPerLine updates is to prevent the display from being updated too often...
+ virtual void initiateUpdate()
+ {
+ // Do this in one call rather than when zeroTime and secondsPerLine
+ // updates is to prevent the display from being updated too often...
invalidateCache();
}
@@ -146,16 +164,19 @@ private:
class WaterfallZoomer: public QwtPlotZoomer, public TimeScaleData, public FreqOffsetAndPrecisionClass
{
public:
- WaterfallZoomer(QwtPlotCanvas* canvas, const unsigned int freqPrecision):QwtPlotZoomer(canvas), TimeScaleData(), FreqOffsetAndPrecisionClass(freqPrecision)
+ WaterfallZoomer(QwtPlotCanvas* canvas, const unsigned int freqPrecision)
+ : QwtPlotZoomer(canvas), TimeScaleData(),
+ FreqOffsetAndPrecisionClass(freqPrecision)
{
setTrackerMode(QwtPicker::AlwaysOn);
}
- virtual ~WaterfallZoomer(){
-
+ virtual ~WaterfallZoomer()
+ {
}
- virtual void updateTrackerText(){
+ virtual void updateTrackerText()
+ {
updateDisplay();
}
@@ -167,7 +188,10 @@ protected:
timespec lineTime = timespec_add(GetZeroTime(), (-p.y()) * GetSecondsPerLine());
struct tm timeTm;
gmtime_r(&lineTime.tv_sec, &timeTm);
- yLabel = (QString("").sprintf("%04d/%02d/%02d %02d:%02d:%02d.%03ld", timeTm.tm_year+1900, timeTm.tm_mon+1, timeTm.tm_mday, timeTm.tm_hour, timeTm.tm_min, timeTm.tm_sec, lineTime.tv_nsec/1000000));
+ yLabel = (QString("").sprintf("%04d/%02d/%02d %02d:%02d:%02d.%03ld",
+ timeTm.tm_year+1900, timeTm.tm_mon+1,
+ timeTm.tm_mday, timeTm.tm_hour, timeTm.tm_min,
+ timeTm.tm_sec, lineTime.tv_nsec/1000000));
QwtText t(QString("%1 %2, %3").arg((p.x() + GetCenterFrequency()) / ((GetFrequencyPrecision() == 0) ? 1.0 : 1000.0), 0, 'f', GetFrequencyPrecision()).arg( (GetFrequencyPrecision() == 0) ? "Hz" : "kHz").arg(yLabel));
@@ -312,15 +336,25 @@ WaterfallDisplayPlot::SetFrequencyRange(const double constStartFreq,
}
-double WaterfallDisplayPlot::GetStartFrequency()const{
+double
+WaterfallDisplayPlot::GetStartFrequency() const
+{
return _startFrequency;
}
-double WaterfallDisplayPlot::GetStopFrequency()const{
+double
+WaterfallDisplayPlot::GetStopFrequency() const
+{
return _stopFrequency;
}
-void WaterfallDisplayPlot::PlotNewData(const double* dataPoints, const int64_t numDataPoints, const double timePerFFT, const timespec timestamp, const int droppedFrames){
+void
+WaterfallDisplayPlot::PlotNewData(const double* dataPoints,
+ const int64_t numDataPoints,
+ const double timePerFFT,
+ const timespec timestamp,
+ const int droppedFrames)
+{
if(numDataPoints > 0){
if(numDataPoints != _numPoints){
_numPoints = numDataPoints;
@@ -363,7 +397,10 @@ void WaterfallDisplayPlot::PlotNewData(const double* dataPoints, const int64_t n
}
}
-void WaterfallDisplayPlot::SetIntensityRange(const double minIntensity, const double maxIntensity){
+void
+WaterfallDisplayPlot::SetIntensityRange(const double minIntensity,
+ const double maxIntensity)
+{
_waterfallData->setRange(QwtDoubleInterval(minIntensity, maxIntensity));
emit UpdatedLowerIntensityLevel(minIntensity);
@@ -372,7 +409,9 @@ void WaterfallDisplayPlot::SetIntensityRange(const double minIntensity, const do
_UpdateIntensityRangeDisplay();
}
-void WaterfallDisplayPlot::replot(){
+void
+WaterfallDisplayPlot::replot()
+{
const timespec startTime = get_highres_clock();
QwtTimeScaleDraw* timeScale = (QwtTimeScaleDraw*)axisScaleDraw(QwtPlot::yLeft);
@@ -406,11 +445,23 @@ void WaterfallDisplayPlot::replot(){
}
}
-int WaterfallDisplayPlot::GetIntensityColorMapType()const{
+void
+WaterfallDisplayPlot::resizeSlot( QSize *s )
+{
+ resize(s->width(), s->height());
+}
+
+int
+WaterfallDisplayPlot::GetIntensityColorMapType() const
+{
return _intensityColorMapType;
}
-void WaterfallDisplayPlot::SetIntensityColorMapType(const int newType, const QColor lowColor, const QColor highColor){
+void
+WaterfallDisplayPlot::SetIntensityColorMapType(const int newType,
+ const QColor lowColor,
+ const QColor highColor)
+{
if((_intensityColorMapType != newType) ||
((newType == INTENSITY_COLOR_MAP_TYPE_USER_DEFINED) &&
(lowColor.isValid() && highColor.isValid()))){
@@ -458,15 +509,21 @@ void WaterfallDisplayPlot::SetIntensityColorMapType(const int newType, const QCo
}
}
-const QColor WaterfallDisplayPlot::GetUserDefinedLowIntensityColor()const{
+const QColor
+WaterfallDisplayPlot::GetUserDefinedLowIntensityColor() const
+{
return _userDefinedLowIntensityColor;
}
-const QColor WaterfallDisplayPlot::GetUserDefinedHighIntensityColor()const{
+const QColor
+WaterfallDisplayPlot::GetUserDefinedHighIntensityColor() const
+{
return _userDefinedHighIntensityColor;
}
-void WaterfallDisplayPlot::_UpdateIntensityRangeDisplay(){
+void
+WaterfallDisplayPlot::_UpdateIntensityRangeDisplay()
+{
QwtScaleWidget *rightAxis = axisWidget(QwtPlot::yRight);
rightAxis->setTitle("Intensity (dB)");
rightAxis->setColorBarEnabled(true);