Salome HOME
Merge branch 'BR_LAND_COVER_MAP' into BR_quadtree
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportLandCoverMapDlg.cxx
index d47a03a71c63f57c52a1eec0f3cef162819d27f8..f075284df30f018df491b770965bc76db2d1f07f 100644 (file)
@@ -47,6 +47,7 @@ HYDROGUI_ImportLandCoverMapDlg::HYDROGUI_ImportLandCoverMapDlg( HYDROGUI_Module*
   addPage( createPage3() );
   myFirstPageState = false;
   myDbfState = false;
+  myUpdateViewerState = false;
 }
 
 QWizardPage* HYDROGUI_ImportLandCoverMapDlg::createPage1() {
@@ -55,7 +56,7 @@ QWizardPage* HYDROGUI_ImportLandCoverMapDlg::createPage1() {
 
   SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
 
-  myFileNameGroup = new QGroupBox( tr( "IMPORT_LANDCOVERMAP_FROM_FILE" ) );
+  myFileNameGroup = new QGroupBox( tr( "IMPORT_LANDCOVER_MAP_FROM_FILE" ) );
 
   QLabel* aFileNameLabel = new QLabel( tr( "FILE_NAME" ), myFileNameGroup );
 
@@ -83,7 +84,7 @@ QWizardPage* HYDROGUI_ImportLandCoverMapDlg::createPage1() {
   aLandcoverNameLayout->addWidget( aLandcoverNameLabel );
   aLandcoverNameLayout->addWidget( myObjectName );
 
-  QGroupBox* aPolygonsGroup = new QGroupBox( tr( "FOUNDED_POLYGONS" ) );
+  QGroupBox* aPolygonsGroup = new QGroupBox( tr( "FOUND_POLYGONS" ) );
   myPolygonsListWidget = new QListWidget( aPolygonsGroup );
   myPolygonsListWidget->setSelectionMode( QListWidget::ExtendedSelection );
   myPolygonsListWidget->setEditTriggers( QListWidget::NoEditTriggers );
@@ -196,8 +197,10 @@ void HYDROGUI_ImportLandCoverMapDlg::setSelectedPolygonNames( const QStringList&
 }
 
 void HYDROGUI_ImportLandCoverMapDlg::onItemSelectionChanged()
-{
-  emit selectionChanged( getSelectedPolygonNames() );
+{ 
+  int aCurIndex = getCurrentWizardIndex();
+  if (aCurIndex == 0 && getViewerState())
+    emit selectionChanged( getSelectedPolygonNames() );
 }
 
 QStringList HYDROGUI_ImportLandCoverMapDlg::getSelectedPolygonNames() const
@@ -214,7 +217,7 @@ QStringList HYDROGUI_ImportLandCoverMapDlg::getSelectedPolygonNames() const
 void HYDROGUI_ImportLandCoverMapDlg::onBrowse()
 {
   QString aFilter( tr( "LANDCOVERMAP_FILTER" ) );
-  QString aFileName = SUIT_FileDlg::getFileName( this, "", aFilter, tr( "IMPORT_LANDCOVERMAP_FROM_FILE" ), true );
+  QString aFileName = SUIT_FileDlg::getFileName( this, "", aFilter, tr( "IMPORT_LANDCOVER_MAP_FROM_FILE" ), true );
 
   if( !aFileName.isEmpty() )
   {
@@ -307,36 +310,39 @@ void HYDROGUI_ImportLandCoverMapDlg::setFirstPageState(bool theState)
   myFirstPageState = theState;
 }
 
+bool HYDROGUI_ImportLandCoverMapDlg::getFirstPageState() const
+{
+  return myFirstPageState;
+}
+
+
 bool HYDROGUI_ImportLandCoverMapDlg::acceptCurrent() const
 {
   //Check the state of the current page
-  int aCurrPage = wizard()->currentIndex();
+  int aCurrPage = getCurrentWizardIndex();
   switch ( aCurrPage )
   {
     case 0:
     {
-      if (!myFirstPageState)
-      {
-        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("FILE_ISNT_CHOSEN"));
+      //this method verifies first page
+      if (!CheckFirstPageFilling())
         return false;
-      }
-      if (myPolygonsListWidget->selectedItems().empty())
+      break;
+    }
+    case 1:
+    {
+      if (myDBFAttrListWidget->selectedItems().empty())
       {
-        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
+        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr ("ATTRS_ISNT_SELECTED"));
         return false;
       }
-      if (getAttrCheckBoxState() && !getDbfState())
-      {
-         SUIT_MessageBox::critical( module()->getApp()->desktop(), tr( "DBF_LOAD_ERROR" ), tr("DBF_LOAD_ERR_MESS"));
-         return false;
-      }
       break;
     }
-    case 1:
+    case 2: //last page
     {
-      if (myDBFAttrListWidget->selectedItems().empty())
+      if (this->isPolygonListEmpty())
       {
-        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), "Attribute isn't selected");
+        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
         return false;
       }
       break;
@@ -405,4 +411,44 @@ void HYDROGUI_ImportLandCoverMapDlg::setDbfState(bool theState)
 bool HYDROGUI_ImportLandCoverMapDlg::getDbfState() const
 {
   return myDbfState;
+}
+
+int HYDROGUI_ImportLandCoverMapDlg::getCurrentWizardIndex() const
+{
+  return wizard()->currentIndex();
+}
+
+void HYDROGUI_ImportLandCoverMapDlg::setViewerState(bool theState)
+{
+  myUpdateViewerState = theState;
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::getViewerState() const
+{
+  return myUpdateViewerState;
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::isPolygonListEmpty() const
+{
+  return myPolygonsListWidget->selectedItems().empty();
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::CheckFirstPageFilling() const
+{
+  if (!this->getFirstPageState())
+  {
+    SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("FILE_ISNT_CHOSEN"));
+    return false;
+  }
+  if (this->isPolygonListEmpty())
+  {
+    SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
+    return false;
+  }
+  if (this->getAttrCheckBoxState() && !this->getDbfState())
+  {
+     SUIT_MessageBox::critical( module()->getApp()->desktop(), tr( "DBF_LOAD_ERROR" ), tr("DBF_LOAD_ERR_MESS"));
+     return false;
+  }
+  return true;
 }
\ No newline at end of file