-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
/* to close dialog if study change */
connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(reject()));
-
+ connect(mySMESHGUI, SIGNAL (SignalActivatedViewManager()), this, SLOT(onOpenView()));
+ connect(mySMESHGUI, SIGNAL (SignalCloseView()), this, SLOT(onCloseView()));
// Init Mesh field from selection
SelectionIntoArgument();
QDialog::reject();
}
+//=================================================================================
+// function : onOpenView()
+// purpose :
+//=================================================================================
+void SMESHGUI_MergeDlg::onOpenView()
+{
+ if ( mySelector ) {
+ SMESH::SetPointRepresentation(false);
+ }
+ else {
+ mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector();
+ ActivateThisDialog();
+ }
+}
+
+//=================================================================================
+// function : onCloseView()
+// purpose :
+//=================================================================================
+void SMESHGUI_MergeDlg::onCloseView()
+{
+ DeactivateActiveDialog();
+ mySelector = 0;
+}
+
//=================================================================================
// function : ClickOnHelp()
// purpose :
bool enable = !(myMesh->_is_nil()) && (ListCoincident->count() || (myTypeId == 0));
buttonOk->setEnabled(enable);
buttonApply->setEnabled(enable);
+ DetectButton->setEnabled( !myMesh->_is_nil() );
}
//=================================================================================
ListCoincident->selectAll();
updateControls();
+ SMESH::UpdateView();
}
//=================================================================================
{
if (myIsBusy || !myActor)
return;
+
+ if( ListCoincident->count() != ListCoincident->selectedItems().count() )
+ SelectAllCB->setChecked( false );
+
myEditCurrentArgument = (QWidget*)ListCoincident;
myIsBusy = true;
updateControls();
SMESH::UpdateView();
myIsBusy = false;
+
+ if( ListCoincident->count() == 0 ) {
+ myEditCurrentArgument = (QWidget*)LineEditMesh;
+ SelectAllCB->setChecked( false );
+ }
}
//=================================================================================
myIsBusy = false;
onEditGroup();
+
+ if( ListCoincident->count() == 0 ) {
+ myEditCurrentArgument = (QWidget*)LineEditMesh;
+ SelectAllCB->setChecked( false );
+ }
}
//=================================================================================
if (myEditCurrentArgument == (QWidget*)LineEditMesh) {
QString aString = "";
LineEditMesh->setText(aString);
-
+
ListCoincident->clear();
ListEdit->clear();
myActor = 0;
+ myMesh = SMESH::SMESH_Mesh::_nil();
QString aCurrentEntry = myEntry;
-
+
int nbSel = SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString);
if (nbSel != 1) {
myIdPreview->SetPointsLabeled(false);
SALOME_ListIO aList;
mySelectionMgr->selectedObjects(aList);
-
+
Handle(SALOME_InteractiveObject) IO = aList.First();
myEntry = IO->getEntry();
myMesh = SMESH::GetMeshByIO(IO);
-
+
if (myMesh->_is_nil())
return;
LineEditMesh->setText(aString);
-
+
myActor = SMESH::FindActorByEntry(IO->getEntry());
if (!myActor)
myActor = SMESH::FindActorByObject(myMesh);
-
+
if ( myActor && myTypeId == 1 && mySelector->IsSelectionEnabled() ) {
mySubMeshOrGroup = SMESH::SMESH_IDSource::_nil();
mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
// function : enterEvent()
// purpose :
//=================================================================================
-void SMESHGUI_MergeDlg::enterEvent(QEvent*)
+void SMESHGUI_MergeDlg::enterEvent (QEvent*)
{
- if (!GroupConstructors->isEnabled())
+ if ( !GroupConstructors->isEnabled() ) {
+ SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
+ if ( aViewWindow && !mySelector) {
+ mySelector = aViewWindow->GetSelector();
+ }
ActivateThisDialog();
+ }
}
//=================================================================================
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;