Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_ObjectsBrowser.cpp
index 926929063674476a30467b4bdf79698089ef1a4e..8355754d6bbd70e88ce846d07e3b9992cf00603c 100644 (file)
@@ -1,13 +1,15 @@
 #include "XGUI_ObjectsBrowser.h"
 #include "XGUI_DocumentDataModel.h"
 
-
 XGUI_ObjectsBrowser::XGUI_ObjectsBrowser(QWidget* theParent)
   : QTreeView(theParent)
 {
   setHeaderHidden(true);
   myDocModel = new XGUI_DocumentDataModel(this);
   setModel(myDocModel);
+
+  connect(selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), 
+    this, SLOT(onSelectionChanged(const QItemSelection&, const QItemSelection&)));
 }
 
 
@@ -15,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