Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_ObjectsBrowser.cpp
index 53e804401cecb169be6f7608e1175694737d2900..8355754d6bbd70e88ce846d07e3b9992cf00603c 100644 (file)
@@ -5,8 +5,11 @@ XGUI_ObjectsBrowser::XGUI_ObjectsBrowser(QWidget* theParent)
   : QTreeView(theParent)
 {
   setHeaderHidden(true);
-  XGUI_DocumentDataModel* aDocModel = new XGUI_DocumentDataModel(this);
-  setModel(aDocModel);
+  myDocModel = new XGUI_DocumentDataModel(this);
+  setModel(myDocModel);
+
+  connect(selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), 
+    this, SLOT(onSelectionChanged(const QItemSelection&, const QItemSelection&)));
 }
 
 
@@ -14,3 +17,18 @@ XGUI_ObjectsBrowser::~XGUI_ObjectsBrowser()
 {
 }
 
+
+
+void XGUI_ObjectsBrowser::onSelectionChanged(const QItemSelection& theSelected, 
+                                             const QItemSelection& theDeselected)
+{
+  mySelectedData.clear();
+  QModelIndexList aIndexes = selectionModel()->selectedIndexes();
+  QModelIndexList::const_iterator aIt;
+  for (aIt = aIndexes.constBegin(); aIt != aIndexes.constEnd(); ++aIt) {
+    FeaturePtr aFeature = myDocModel->feature(*aIt);
+    if (aFeature)
+      mySelectedData.append(aFeature);
+  }
+  emit selectionChanged();
+}
\ No newline at end of file