MNE-CPP  0.1.9
A Framework for Electrophysiology
averagesceneitem.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef AVERAGESCENEITEM_H
37 #define AVERAGESCENEITEM_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../../disp_global.h"
44 #include "../scalingview.h"
45 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 #include <QGraphicsObject>
51 
52 //=============================================================================================================
53 // EIGEN INCLUDES
54 //=============================================================================================================
55 
56 //=============================================================================================================
57 // DEFINE NAMESPACE DISPLIB
58 //=============================================================================================================
59 
60 namespace DISPLIB
61 {
62 
63 //=============================================================================================================
64 // DISPLIB FORWARD DECLARATIONS
65 //=============================================================================================================
66 
67 //=============================================================================================================
68 // DEFINE TYPEDEFS
69 //=============================================================================================================
70 
71 typedef QPair<const double*,qint32> RowVectorPair;
72 
73 //=============================================================================================================
79 class DISPSHARED_EXPORT AverageSceneItem : public QGraphicsObject
80 {
81  Q_OBJECT
82 
83 public:
84  //=========================================================================================================
88  AverageSceneItem(const QString& channelName,
89  int channelNumber,
90  const QPointF& channelPosition,
91  int channelKind,
92  int channelUnit,
93  const QColor& color = Qt::yellow);
94 
95  //=========================================================================================================
99  QRectF boundingRect() const;
100  void mousePressEvent(QGraphicsSceneMouseEvent *event);
101  void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
102  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
103 
104  //=========================================================================================================
110  void setDefaultColor(const QColor& viewColor);
111 
112  QString m_sChannelName;
121  bool m_bIsBad;
124  QList<QPair<QString, RowVectorPair> > m_lAverageData;
126  QPair<int,int> m_firstLastSample;
128  QMap<qint32,float> m_scaleMap;
129  QMap<QString, bool> m_qMapAverageActivation;
130  QMap<QString, QColor> m_qMapAverageColor;
134  QColor m_colorDefault;
136 protected:
137  //=========================================================================================================
143  void paintAveragePath(QPainter *painter);
144 
145  //=========================================================================================================
151  void paintStimLine(QPainter *painter);
152 
153 signals:
154  //=========================================================================================================
158  void sceneUpdateRequested();
159 };
160 } // NAMESPACE DISPLIB
161 
162 #endif // AVERAGESCENEITEM_H
DISPSHARED_EXPORT
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
DISPLIB::AverageSceneItem::m_iMaxWidth
int m_iMaxWidth
Definition: averagesceneitem.h:118
DISPLIB::AverageSceneItem
The AverageSceneItem class provides a new data structure for visualizing averages in a 2D layout.
Definition: averagesceneitem.h:79
DISPLIB::AverageSceneItem::m_iMaxHeigth
int m_iMaxHeigth
Definition: averagesceneitem.h:119
DISPLIB::AverageSceneItem::m_scaleMap
QMap< qint32, float > m_scaleMap
Definition: averagesceneitem.h:128
DISPLIB::AverageSceneItem::m_bIsBad
bool m_bIsBad
Definition: averagesceneitem.h:121
DISPLIB::AverageSceneItem::m_lAverageData
QList< QPair< QString, RowVectorPair > > m_lAverageData
Definition: averagesceneitem.h:124
DISPLIB::AverageSceneItem::m_rectBoundingRect
QRectF m_rectBoundingRect
Definition: averagesceneitem.h:132
DISPLIB::AverageSceneItem::m_colorDefault
QColor m_colorDefault
Definition: averagesceneitem.h:134
DISPLIB::AverageSceneItem::m_iChannelKind
int m_iChannelKind
Definition: averagesceneitem.h:114
DISPLIB::AverageSceneItem::m_qMapAverageColor
QMap< QString, QColor > m_qMapAverageColor
Definition: averagesceneitem.h:130
DISPLIB::AverageSceneItem::m_sChannelName
QString m_sChannelName
Definition: averagesceneitem.h:112
DISPLIB::AverageSceneItem::m_qMapAverageActivation
QMap< QString, bool > m_qMapAverageActivation
Definition: averagesceneitem.h:129
DISPLIB::AverageSceneItem::m_iChannelUnit
int m_iChannelUnit
Definition: averagesceneitem.h:115
DISPLIB::AverageSceneItem::m_iFontTextSize
int m_iFontTextSize
Definition: averagesceneitem.h:117
DISPLIB::AverageSceneItem::m_qpChannelPosition
QPointF m_qpChannelPosition
Definition: averagesceneitem.h:123
DISPLIB::AverageSceneItem::m_firstLastSample
QPair< int, int > m_firstLastSample
Definition: averagesceneitem.h:126
DISPLIB::AverageSceneItem::m_iChannelNumber
int m_iChannelNumber
Definition: averagesceneitem.h:113
DISPLIB::AverageSceneItem::m_iTotalNumberChannels
int m_iTotalNumberChannels
Definition: averagesceneitem.h:116