v2.0.0
Loading...
Searching...
No Matches
rtfiffrawviewdelegate.h
Go to the documentation of this file.
1//=============================================================================================================
22
23#ifndef RTFIFFRAWVIEWDELEGATE_H
24#define RTFIFFRAWVIEWDELEGATE_H
25
26//=============================================================================================================
27// INCLUDES
28//=============================================================================================================
29
30#include "../../disp_global.h"
31#include "../scalingview.h"
32
33//=============================================================================================================
34// QT INCLUDES
35//=============================================================================================================
36
37#include <QAbstractItemDelegate>
38#include <QPen>
39#include <QPainterPath>
40
41//=============================================================================================================
42// EIGEN INCLUDES
43//=============================================================================================================
44
45//=============================================================================================================
46// FORWARD DECLARATIONS
47//=============================================================================================================
48
50 class EventList;
51}
52
53//=============================================================================================================
54// DEFINE NAMESPACE DISPLIB
55//=============================================================================================================
56
57namespace DISPLIB
58{
59
60//=============================================================================================================
61// DISPLIB FORWARD DECLARATIONS
62//=============================================================================================================
63
64class RtFiffRawView;
65
66//=============================================================================================================
67// DEFINE TYPEDEFS
68//=============================================================================================================
69
70typedef QPair<const double*,qint32> RowVectorPair;
71
72//=============================================================================================================
81class DISPSHARED_EXPORT RtFiffRawViewDelegate : public QAbstractItemDelegate
82{
83 Q_OBJECT
84
85public:
86 typedef QSharedPointer<RtFiffRawViewDelegate> SPtr;
87 typedef QSharedPointer<const RtFiffRawViewDelegate> ConstSPtr;
88
89 //=========================================================================================================
96
97 //=========================================================================================================
103 void initPainterPaths(const QAbstractTableModel *model);
104
105 //=========================================================================================================
115 virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
116
117 //=========================================================================================================
124 virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
125
126 //=========================================================================================================
133 void markerMoved(QPoint position, int activeRow);
134
135 //=========================================================================================================
141 void setSignalColor(const QColor& signalColor);
142
143 //=========================================================================================================
149 QColor getSignalColor();
150
151 //=========================================================================================================
158 void setUpperItemIndex(int iUpperItemIndex);
159
160private:
161 //=========================================================================================================
170 void createPlotPath(const QModelIndex &index,
171 const QStyleOptionViewItem &option,
172 QPainterPath& path,
173 const DISPLIB::RowVectorPair &data) const;
174
175 //=========================================================================================================
183 void createCurrentPositionMarkerPath(const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path) const;
184
185 //=========================================================================================================
194 void createGridPath(const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path, RowVectorPair &data) const;
195
196 //=========================================================================================================
205 void createTimeSpacersPath(const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path, RowVectorPair &data) const;
206
207 //=========================================================================================================
217 void createTriggerPath(QPainter *painter, const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path, RowVectorPair &data) const;
218
219 //=========================================================================================================
229 void createTriggerThresholdPath(const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path, RowVectorPair &data, QPointF &textPosition) const;
230
231 //=========================================================================================================
238 void createMarkerPath(const QModelIndex &index, const QStyleOptionViewItem &option, QPainterPath& path) const;
239
240 //=========================================================================================================
250 inline QPointF calcPoint(QPainterPath& path, const double dx, const double y, const double ybase, const double yScale) const;
251
252 //=========================================================================================================
257 inline double retrieveSamplingPeriod() const;
258
259 RtFiffRawView* m_pParent;
260 QPoint m_markerPosition;
261 QList<QPainterPath> m_painterPaths;
262
263 double m_dMaxValue;
264 double m_dScaleY;
265 int m_iActiveRow;
266 int m_iUpperItemIndex;
267
268 QPen m_penMarker;
269 QPen m_penGrid;
270 QPen m_penTimeSpacers;
271 QPen m_penFreeze;
272 QPen m_penFreezeSelected;
273 QPen m_penFreezeBad;
274 QPen m_penFreezeSelectedBad;
275 QPen m_penNormal;
276 QPen m_penNormalSelected;
277 QPen m_penNormalBad;
278 QPen m_penNormalSelectedBad;
279
280 QMap<double,QColor> m_mapTriggerColors;
281};
282} // NAMESPACE
283
284#endif // RTFIFFRAWVIEWDELEGATE_H
Per-modality vertical-scale spinbox panel (one spin per channel type).
Export macros and build-info hooks for the DISPLIB shared library.
#define DISPSHARED_EXPORT
Definition disp_global.h:38
2-D display widgets and visualisation helpers (charts, topography, colour maps).
QPair< const double *, qint32 > RowVectorPair
void setUpperItemIndex(int iUpperItemIndex)
RtFiffRawViewDelegate(RtFiffRawView *parent=0)
virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
QSharedPointer< RtFiffRawViewDelegate > SPtr
QSharedPointer< const RtFiffRawViewDelegate > ConstSPtr
void initPainterPaths(const QAbstractTableModel *model)
void setSignalColor(const QColor &signalColor)
void markerMoved(QPoint position, int activeRow)
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
QTableView-based real-time FIFF raw-data browser host.