Source: qspectrumanalyzer.h
|
|
|
|
// ##########################################################################
// #### ####
// #### RTP Audio Server Project ####
// #### ============================ ####
// #### ####
// #### QSpectrumAnalyzer ####
// #### ####
// #### Version 1.00 -- February 04, 2001 ####
// #### ####
// #### Copyright (C) 1999 Thomas Dreibholz ####
// #### 2000 Universität Bonn, Abt. IV ####
// #### 2001 EMail: Dreibholz@bigfoot.com ####
// #### WWW: http://www.bigfoot.com/~dreibholz ####
// #### ####
// ##########################################################################
#ifndef QSPECTRUMANALYZER_H
#define QSPECTRUMANALYZER_H
#include "system.h"
#include "spectrumanalyzer.h"
#include <qapp.h>
#if QT_VERSION < 200
#error QT Version 2.00 or better required!!!
#endif
#include <qlayout.h>
#include <qpushbutton.h>
#include <qbuttongroup.h>
#include <qradiobutton.h>
#include <qcheckbox.h>
#include <qtimer.h>
#include <qpainter.h>
#include <qgroupbox.h>
#include <qplatinumstyle.h>
#include <qmainwindow.h>
namespace Coral {
/**
* Constants for the timing radio buttons.
*/
const card16 QSpectrumAnalyzerTimings[] = {
50,100,150,250,350,500,750
};
/**
* This class is the Qt-Toolkit GUI for the spectrum analyzer.
*
* @short QSpectrumAnalyzer
* @author Thomas Dreibholz (Dreibholz@bigfoot.com)
* @version 1.0
*/
class QSpectrumAnalyzer : public QMainWindow
{
// ====== Constructor/Destructor =========================================
Q_OBJECT
public:
/**
* Constructor.
*
* @param analyzer SpectrumAnalyzer object.
* @param parent Parent widget.
* @param name Widget name.
*/
QSpectrumAnalyzer(SpectrumAnalyzer* analyzer,
QWidget* parent = NULL,
const char* name = NULL);
/**
* Destructor.
*/
~QSpectrumAnalyzer();
// ====== Qt slots =======================================================
public slots:
/**
* Qt slot: Called by QTimer.
*/
void timerEvent();
/**
* Qt slot: Paint event.
*/
void paintEvent(QPaintEvent*);
/**
* Qt slot: Pause displaying the spectrum.
*/
void pause(bool on);
/**
* Qt slot: Reset spectrum analyzer.
*/
void reset();
/**
* Qt slot: Close window.
*/
void closeWindow();
/**
* Qt slot: Change update interval.
*/
void newInterval(int index);
// ====== Qt signals =====================================================
signals:
/**
* Qt signal: Emitted, when "Close" or window's close button is clicked.
*/
void closeSpectrumAnalyzer();
// ====== Private data ===================================================
private:
void closeEvent(QCloseEvent* event);
void drawBar(QPainter* painter,
const cardinal x,
const cardinal y,
const cardinal width,
const cardinal height,
const cardinal barValue);
void showSpectrum(QWidget* paintWidget,
const cardinal* array);
static const cardinal Bars = 70; // Number of bars
static const cardinal AverageSteps = 10; // Number of bars per average line
static const cardinal BarColors = 12; // Number of colors per bar
cardinal ArrayL[Bars];
cardinal ArrayR[Bars];
cardinal Max;
QWidget* PaintWidget1;
QWidget* PaintWidget2;
QCheckBox* Average;
QPushButton* Pause;
QTimer* Timer;
card16 Timing;
SpectrumAnalyzer* Analyzer;
};
}
#endif
Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22. |