MNE-CPP  0.1.9
A Framework for Electrophysiology
selectionscene.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //=============================================================================================================
37 // INCLUDES
38 //=============================================================================================================
39 
40 #include "selectionscene.h"
41 #include "selectionsceneitem.h"
42 
43 #include <fiff/fiff_types.h>
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QGraphicsScene>
50 #include <QWidget>
51 #include <QMutableListIterator>
52 
53 //=============================================================================================================
54 // EIGEN INCLUDES
55 //=============================================================================================================
56 
57 //=============================================================================================================
58 // USED NAMESPACES
59 //=============================================================================================================
60 
61 using namespace DISPLIB;
62 
63 //=============================================================================================================
64 // DEFINE MEMBER METHODS
65 //=============================================================================================================
66 
67 SelectionScene::SelectionScene(QGraphicsView* view, QObject* parent)
68 : LayoutScene(view, parent)
69 , m_iChannelTypeMode(FIFFV_MEG_CH)
70 {
71 }
72 
73 //=============================================================================================================
74 
75 void SelectionScene::repaintItems(const QMap<QString,QPointF> &layoutMap, QStringList badChannels)
76 {
77  this->clear();
78 
79  QMapIterator<QString,QPointF > i(layoutMap);
80  while (i.hasNext()) {
81  i.next();
82  SelectionSceneItem* SelectionSceneItemTemp;
83 
84  if(i.key().contains("EEG"))
85  SelectionSceneItemTemp = new SelectionSceneItem(i.key(),
86  0,
87  i.value(),
88  FIFFV_EEG_CH,
89  FIFF_UNIT_T_M,
90  Qt::blue,
91  badChannels.contains(i.key()));
92  else
93  SelectionSceneItemTemp = new SelectionSceneItem(i.key(),
94  0,
95  i.value(),
96  FIFFV_MEG_CH,
97  FIFF_UNIT_T_M,
98  Qt::blue,
99  badChannels.contains(i.key()));
100 
101  this->addItem(SelectionSceneItemTemp);
102  }
103 }
104 
105 //=============================================================================================================
106 
107 void SelectionScene::hideItems(QStringList visibleItems)
108 {
109  //Hide all items which names are in the the string list visibleItems. All other items' opacity is set to 0.25 an dthey are no longer selectable.
110  QList<QGraphicsItem *> itemList = this->items();
111 
112  for(int i = 0; i<itemList.size(); i++) {
113  SelectionSceneItem* item = static_cast<SelectionSceneItem*>(itemList.at(i));
114 
115  if(item->m_iChannelKind == m_iChannelTypeMode) {
116  item->show();
117 
118  if(!visibleItems.contains(item->m_sChannelName)) {
119  item->setFlag(QGraphicsItem::ItemIsSelectable, false);
120  item->setOpacity(0.25);
121  }
122  else {
123  item->setFlag(QGraphicsItem::ItemIsSelectable, true);
124  item->setOpacity(1);
125  }
126  }
127  else
128  item->hide();
129  }
130 }
131 
DISPLIB::LayoutScene
The LayoutScene class provides a reimplemented QGraphicsScene for 2D layout plotting....
Definition: layoutscene.h:81
DISPLIB::SelectionScene::SelectionScene
SelectionScene(QGraphicsView *view, QObject *parent=0)
Definition: selectionscene.cpp:67
DISPLIB::SelectionSceneItem::m_iChannelKind
int m_iChannelKind
Definition: selectionsceneitem.h:120
DISPLIB::SelectionScene::repaintItems
void repaintItems(const QMap< QString, QPointF > &layoutMap, QStringList badChannels)
Definition: selectionscene.cpp:75
selectionsceneitem.h
Contains the declaration of the SelectionSceneItem class.
DISPLIB::SelectionScene::hideItems
void hideItems(QStringList visibleItems)
Definition: selectionscene.cpp:107
DISPLIB::SelectionSceneItem
Definition: selectionsceneitem.h:87
fiff_types.h
Definitions for describing the objects in a FIFF file.
DISPLIB::SelectionSceneItem::m_sChannelName
QString m_sChannelName
Definition: selectionsceneitem.h:118
selectionscene.h
Contains the declaration of the SelectionScene class.
DISPLIB::SelectionScene::m_iChannelTypeMode
int m_iChannelTypeMode
Definition: selectionscene.h:107