v2.0.0
Loading...
Searching...
No Matches
averagescene.cpp
Go to the documentation of this file.
1//=============================================================================================================
14
15//=============================================================================================================
16// INCLUDES
17//=============================================================================================================
18
19#include "averagescene.h"
20
21#include "averagesceneitem.h"
22#include "selectionsceneitem.h"
23
24//=============================================================================================================
25// USED NAMESPACES
26//=============================================================================================================
27
28using namespace DISPLIB;
29
30//=============================================================================================================
31// QT INCLUDES
32//=============================================================================================================
33
34//=============================================================================================================
35// EIGEN INCLUDES
36//=============================================================================================================
37
38//=============================================================================================================
39// DEFINE MEMBER METHODS
40//=============================================================================================================
41
42AverageScene::AverageScene(QGraphicsView* view, QObject* parent)
43: LayoutScene(view, parent)
44, m_colGlobalItemSignalColor(QColor(0, 80, 180))
45{
46}
47
48//=============================================================================================================
49
50void AverageScene::setScaleMap(const QMap<qint32,float> &scaleMap)
51{
52 m_qMapChScaling = scaleMap;
53
54 QList<QGraphicsItem*> itemList = this->items();
55
56 QListIterator<QGraphicsItem*> i(itemList);
57 while (i.hasNext()) {
58 AverageSceneItem* AverageSceneItemTemp = static_cast<AverageSceneItem*>(i.next());
59 AverageSceneItemTemp->m_scaleMap = scaleMap;
60 }
61
62 this->update();
63}
64
65//=============================================================================================================
66
67void AverageScene::repaintItems(const QList<QGraphicsItem *> &selectedChannelItems)
68{
69 this->clear();
70
71 QListIterator<QGraphicsItem*> i(selectedChannelItems);
72
73 while (i.hasNext()) {
74 SelectionSceneItem* selectionSceneItemTemp = static_cast<SelectionSceneItem*>(i.next());
75 AverageSceneItem* averageSceneItemTemp = new AverageSceneItem(selectionSceneItemTemp->m_sChannelName,
76 selectionSceneItemTemp->m_iChannelNumber,
77 selectionSceneItemTemp->m_qpChannelPosition,
78 selectionSceneItemTemp->m_iChannelKind,
79 selectionSceneItemTemp->m_iChannelUnit,
80 m_colGlobalItemSignalColor);
81
82 connect(averageSceneItemTemp, &AverageSceneItem::sceneUpdateRequested,
84
85 averageSceneItemTemp->setPos(160 * selectionSceneItemTemp->m_qpChannelPosition.x(),
86 -160 * selectionSceneItemTemp->m_qpChannelPosition.y());
87
88 averageSceneItemTemp->m_scaleMap = m_qMapChScaling;
89 this->addItem(averageSceneItemTemp);
90 }
91}
92
93//=============================================================================================================
94
96{
97 this->clear();
98
99 for (int i = 0; i < selectedChannelItems.m_iChannelKind.size(); i++){
100 AverageSceneItem* averageSceneItemTemp = new AverageSceneItem(selectedChannelItems.m_sChannelName[i],
101 selectedChannelItems.m_iChannelNumber[i],
102 selectedChannelItems.m_qpChannelPosition[i],
103 selectedChannelItems.m_iChannelKind[i],
104 selectedChannelItems.m_iChannelUnit[i],
105 m_colGlobalItemSignalColor);
106
107 connect(averageSceneItemTemp, &AverageSceneItem::sceneUpdateRequested,
109
110 averageSceneItemTemp->setPos(160 * selectedChannelItems.m_qpChannelPosition[i].x(),
111 -160 * selectedChannelItems.m_qpChannelPosition[i].y());
112
113 averageSceneItemTemp->m_scaleMap = m_qMapChScaling;
114 this->addItem(averageSceneItemTemp);
115 }
116}
117
118//=============================================================================================================
119
120void AverageScene::setActivationPerAverage(const QSharedPointer<QMap<QString, bool> > qMapActivationPerAverage)
121{
122 QList<QGraphicsItem*> items = this->items();
123 QListIterator<QGraphicsItem*> i(items);
124 while (i.hasNext()) {
125 if(AverageSceneItem* averageSceneItemTemp = dynamic_cast<AverageSceneItem*>(i.next())) {
126 averageSceneItemTemp->m_qMapAverageActivation = *qMapActivationPerAverage;
127 }
128 }
129
130 updateScene();
131}
132
133//=============================================================================================================
134
135void AverageScene::setColorPerAverage(const QSharedPointer<QMap<QString, QColor> > qMapAverageColor)
136{
137 QList<QGraphicsItem*> items = this->items();
138 QListIterator<QGraphicsItem*> i(items);
139 while (i.hasNext()) {
140 if(AverageSceneItem* averageSceneItemTemp = dynamic_cast<AverageSceneItem*>(i.next())) {
141 averageSceneItemTemp->m_qMapAverageColor = *qMapAverageColor;
142 }
143 }
144
145 updateScene();
146}
147
148//=============================================================================================================
149
151{
152 return m_colGlobalItemSignalColor;
153}
154
155//=============================================================================================================
156
158{
159 this->update();
160}
161
162//=============================================================================================================
163
164void AverageScene::setSignalItemColor(const QColor &signalColor)
165{
166 QList<QGraphicsItem*> items = this->items();
167 QListIterator<QGraphicsItem*> i(items);
168
169 m_colGlobalItemSignalColor = signalColor;
170
171 while (i.hasNext()) {
172 if(AverageSceneItem* averageSceneItemTemp = dynamic_cast<AverageSceneItem*>(i.next())) {
173 averageSceneItemTemp->setDefaultColor(signalColor);
174 averageSceneItemTemp->update();
175 }
176 }
177
178 repaintItems(items);
179 this->update();
180}
QGraphicsObject painting one channel's averaged evoked trace at its sensor position.
QGraphicsScene that lays AverageSceneItem mini-traces on the active sensor layout.
Channel-selection group descriptor (SelectionItem) and the matching QGraphicsItem (SelectionSceneItem...
2-D display widgets and visualisation helpers (charts, topography, colour maps).
void setScaleMap(const QMap< qint32, float > &scaleMap)
void setSignalItemColor(const QColor &signalColor)
void repaintSelectionItems(const DISPLIB::SelectionItem &selectedChannelItems)
AverageScene(QGraphicsView *view, QObject *parent=0)
void setColorPerAverage(const QSharedPointer< QMap< QString, QColor > > qMapAverageColor)
const QColor & getSignalColorForAllItems()
void repaintItems(const QList< QGraphicsItem * > &selectedChannelItems)
void setActivationPerAverage(const QSharedPointer< QMap< QString, bool > > qMapActivationPerAverage)
QGraphicsObject painting one channel's averaged evoked traces inside AverageScene.
QMap< qint32, float > m_scaleMap
LayoutScene(QGraphicsView *view, QObject *parent=0)
Value type describing one named selection group (label + list of channel names).
QList< QPointF > m_qpChannelPosition
QList< QString > m_sChannelName
Graphics item representing a selectable electrode or channel in a 2-D layout scene.