Salome HOME
Removed qt3 support and replaced qt macros
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MergeDlg.cxx
index 99c7d49edff9b72dc7bf7164a7d63018f1812b3e..428fe0cdad26d0902d03e7c60fba4143a09cc0b9 100644 (file)
@@ -835,6 +835,7 @@ void SMESHGUI_MergeDlg::onDetect()
 
   ListCoincident->selectAll();
   updateControls();
+  SMESH::UpdateView();
 }
 
 //=================================================================================
@@ -845,6 +846,10 @@ void SMESHGUI_MergeDlg::onSelectGroup()
 {
   if (myIsBusy || !myActor)
     return;
+
+  if( ListCoincident->count() != ListCoincident->selectedItems().count() )
+    SelectAllCB->setChecked( false );
+
   myEditCurrentArgument = (QWidget*)ListCoincident;
 
   myIsBusy = true;
@@ -857,7 +862,7 @@ void SMESHGUI_MergeDlg::onSelectGroup()
 
   ListEdit->clear();
 
-  foreach(anItem, selItems) {
+  Q_FOREACH(anItem, selItems) {
     aListIds = anItem->text().split(" ", QString::SkipEmptyParts);
     for (int i = 0; i < aListIds.count(); i++)
       anIndices.Add(aListIds[i].toInt());
@@ -916,7 +921,7 @@ void SMESHGUI_MergeDlg::onSelectElementFromGroup()
   QList<QListWidgetItem*> selItems = ListEdit->selectedItems();
   QListWidgetItem* anItem;
 
-  foreach(anItem, selItems)
+  Q_FOREACH(anItem, selItems)
     anIndices.Add(anItem->text().toInt());
 
   SetFirstButton->setEnabled(selItems.count() == 1);
@@ -986,7 +991,7 @@ void SMESHGUI_MergeDlg::onRemoveGroup()
   QList<QListWidgetItem*> selItems = ListCoincident->selectedItems();
   QListWidgetItem* anItem;
 
-  foreach(anItem, selItems)
+  Q_FOREACH(anItem, selItems)
     delete anItem;
 
   ListEdit->clear();
@@ -994,6 +999,11 @@ void SMESHGUI_MergeDlg::onRemoveGroup()
   updateControls();
   SMESH::UpdateView();
   myIsBusy = false;
+
+  if( ListCoincident->count() == 0 ) {
+    myEditCurrentArgument = (QWidget*)LineEditMesh;
+    SelectAllCB->setChecked( false );
+  }
 }
 
 //=================================================================================
@@ -1024,7 +1034,7 @@ void SMESHGUI_MergeDlg::onAddElement()
     }
     else {
       QListWidgetItem* anItem;
-      foreach(anItem, found) anItem->setSelected(true);
+      Q_FOREACH(anItem, found) anItem->setSelected(true);
     }
   }
 
@@ -1045,11 +1055,16 @@ void SMESHGUI_MergeDlg::onRemoveElement()
   QList<QListWidgetItem*> selItems = ListEdit->selectedItems();
   QListWidgetItem* anItem;
 
-  foreach(anItem, selItems)
+  Q_FOREACH(anItem, selItems)
     delete anItem;
   
   myIsBusy = false;
   onEditGroup();
+
+  if( ListCoincident->count() == 0 ) {
+    myEditCurrentArgument = (QWidget*)LineEditMesh;
+    SelectAllCB->setChecked( false );
+  }
 }
 
 //=================================================================================
@@ -1065,7 +1080,7 @@ void SMESHGUI_MergeDlg::onSetFirst()
   QList<QListWidgetItem*> selItems = ListEdit->selectedItems();
   QListWidgetItem* anItem;
   
-  foreach(anItem, selItems) {
+  Q_FOREACH(anItem, selItems) {
     ListEdit->takeItem(ListEdit->row(anItem));
     ListEdit->insertItem(0, anItem);
   }
@@ -1294,12 +1309,14 @@ void SMESHGUI_MergeDlg::onTypeChanged (int id)
       GroupCoincidentWidget->show();
       SMESH::SetPointRepresentation(true);
       if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
-        aViewWindow->SetSelectionMode(NodeSelection);
+        if( mySelector->IsSelectionEnabled() )
+          aViewWindow->SetSelectionMode(NodeSelection);
     }
     else {
       GroupCoincident->show();
       if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
-        aViewWindow->SetSelectionMode(CellSelection);
+        if( mySelector->IsSelectionEnabled() )
+          aViewWindow->SetSelectionMode(CellSelection);
     }
     GroupEdit->show();
     break;