Salome HOME
Operation which can lead to data model modifying removed from non-transactional place.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ZLevelsDlg.cxx
index bb899965b4689dad32259879c3d859555c15faa4..7055cd082f588afc506015a31ba3c6af71db0ac0 100644 (file)
@@ -102,21 +102,24 @@ HYDROGUI_ZLevelsDlg::~HYDROGUI_ZLevelsDlg()
 {
 }
 
-void HYDROGUI_ZLevelsDlg::setObjects( const QList<QString>& theObjects )
+void HYDROGUI_ZLevelsDlg::setObjects( const HYDROGUI_ZLevelsModel::Object2VisibleList& theObjects )
 {
-  QSortFilterProxyModel* aFilterModel = dynamic_cast<QSortFilterProxyModel*>( myList->model() );
-  if( aFilterModel )
-  {
-    HYDROGUI_ZLevelsModel* aModel = dynamic_cast<HYDROGUI_ZLevelsModel*>( aFilterModel->sourceModel() );
-    if( aModel ) {
-      // TODO: to be reimplemented
-      QList<QPair<QString, bool>> anObjects;
-      for ( int i = 0; i < theObjects.count(); i++ ) {
-        anObjects << QPair<QString, bool>( theObjects.at(i), i%2 == 0 );
-      }
-      aModel->setObjects( anObjects );
-    }
+  HYDROGUI_ZLevelsModel* aModel = getListSourceModel();
+  if( aModel ) {
+    aModel->setObjects( theObjects );
+  }
+}
+
+QList<Handle(HYDROData_Entity)> HYDROGUI_ZLevelsDlg::getObjects() const
+{
+  QList<Handle(HYDROData_Entity)> anObjects;
+
+  HYDROGUI_ZLevelsModel* aModel = getListSourceModel();
+  if( aModel ) {
+    anObjects = aModel->getObjects();
   }
+
+  return anObjects;
 }
 
 void HYDROGUI_ZLevelsDlg::onMove( int theType )
@@ -144,3 +147,15 @@ void HYDROGUI_ZLevelsDlg::OnStateChanged()
   QString anExpr = isAll ? "true|false" : "true";
   aFilterModel->setFilterRegExp( anExpr );
 }
+
+HYDROGUI_ZLevelsModel* HYDROGUI_ZLevelsDlg::getListSourceModel() const
+{
+  HYDROGUI_ZLevelsModel* aSourceModel = 0;
+
+  QSortFilterProxyModel* aFilterModel = dynamic_cast<QSortFilterProxyModel*>( myList->model() );
+  if( aFilterModel ) {
+    aSourceModel = dynamic_cast<HYDROGUI_ZLevelsModel*>( aFilterModel->sourceModel() );
+  }
+
+  return aSourceModel;
+}
\ No newline at end of file