1 #ifndef QWATERFALLDISPLAY_H
2 #define QWATERFALLDISPLAY_H
4 #include <QtGui/QFrame>
5 #include <QtGui/QColor>
6 #include <QtGui/QImage>
7 #include <QtCore/QSize>
8 #include <QtCore/QList>
9 #include <QtGui/QPainter>
11 #include <QtDesigner/QDesignerExportWidget>
30 Q_CLASSINFO(
"Author",
"Jan Albiez")
31 Q_PROPERTY(uint rows READ rows WRITE setRows NOTIFY rowsChanged DESIGNABLE true)
32 Q_PROPERTY(uint columns READ columns WRITE setColumns NOTIFY columnsChanged DESIGNABLE true)
33 Q_PROPERTY(
Resizestyle resizestyle READ resizestyle WRITE setResizestyle DESIGNABLE true)
34 Q_PROPERTY(QColor backColor READ backColor WRITE setBackColor DESIGNABLE true)
35 Q_PROPERTY(
double maxValue READ maxValue WRITE setMaxValue NOTIFY maxChanged DESIGNABLE true)
36 Q_PROPERTY(
double minValue READ minValue WRITE setMinValue NOTIFY minChanged DESIGNABLE true)
51 QSize minimumSizeHint();
61 void rowsChanged(uint);
62 void columnsChanged(uint);
64 void minChanged(
double);
65 void maxChanged(
double);
68 void drawingStarted();
79 void setColumns(
int cols);
80 void setRows(
int rows);
81 void setColumnsRows(
int cols,
int rows);
86 void setResizestyle(Resizestyle resizestyle);
87 Resizestyle resizestyle()
const;
90 void setBackColor(QColor back);
91 QColor backColor()
const;
95 void setMaxValue(
double max);
96 void setMinValue(
double min);
97 void setMaxMinValue(
double max,
double min);
98 double maxValue()
const;
99 double minValue()
const;
112 void pushData(
const std::vector<float> &new_data);
120 void pushDataFloat(
const float *new_data,
int elements);
123 void pushDataQList(
const QList<float> &new_data);
127 void pushDataUint8(
const char *new_data,
int length);
131 void pushDataUint16(
const char *new_data,
int length);
135 void pushDataUint32(
const char *new_data,
int length);
152 void pauseDrawing(
bool onoff);
155 void paintEvent(QPaintEvent *event);
156 void resizeEvent(QResizeEvent *event);
163 void initData(uint cols, uint rows);
166 void drawLine(QRgb *line,
const std::vector<float> &data_line);
174 Resizestyle m_resizes;
188 QSize m_minimum_size;
194 std::list< std::vector<float> > data;
197 #endif // QWATERFALLDISPLAY_H