X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_BuildCompoundDlg.cxx;h=bbb6a03b4a966c2b275fa8c8a637833c6b89d330;hb=424dd73b1ba5ebb56868d2aba8b6cf501a3b5c71;hp=73efb4e4a6cf7fbeb4fe7b087e9795965d8ae6a1;hpb=24702e4b6a0bdf24dfaaa44d3defe0cade6d6f7e;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx index 73efb4e4a..bbb6a03b4 100644 --- a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx @@ -39,6 +39,8 @@ #include #include #include +#include + #include #include #include @@ -121,27 +123,31 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) TextLabelMeshes = new QLabel(tr("MESHES"), GroupArgs); SelectButton = new QPushButton(GroupArgs); SelectButton->setIcon(image1); + SelectButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); LineEditMeshes = new QLineEdit(GroupArgs); LineEditMeshes->setReadOnly(true); TextLabelUnion = new QLabel(tr("PROCESSING_IDENTICAL_GROUPS"), GroupArgs); ComboBoxUnion = new QComboBox(GroupArgs); + CheckBoxCommon = new QCheckBox(tr("CREATE_COMMON_GROUPS"), GroupArgs); + CheckBoxMerge = new QCheckBox(tr("MERGE_NODES_AND_ELEMENTS"), GroupArgs); TextLabelTol = new QLabel(tr("SMESH_TOLERANCE"), GroupArgs); TextLabelTol->setAlignment(Qt::AlignCenter); SpinBoxTol = new SMESHGUI_SpinBox(GroupArgs); - SpinBoxTol->RangeStepAndValidator(0.0, COORD_MAX, 0.1, 6); + SpinBoxTol->RangeStepAndValidator(0.0, COORD_MAX, 0.00001, 6); GroupArgsLayout->addWidget(TextLabelMeshes, 0, 0); GroupArgsLayout->addWidget(SelectButton, 0, 1); GroupArgsLayout->addWidget(LineEditMeshes, 0, 2, 1, 2); GroupArgsLayout->addWidget(TextLabelUnion, 1, 0, 1, 3); GroupArgsLayout->addWidget(ComboBoxUnion, 1, 3); - GroupArgsLayout->addWidget(CheckBoxMerge, 2, 0, 1, 4); - GroupArgsLayout->addWidget(TextLabelTol, 3, 0, 1, 2); - GroupArgsLayout->addWidget(SpinBoxTol, 3, 2, 1, 2); + GroupArgsLayout->addWidget(CheckBoxCommon, 2, 0, 1, 4); + GroupArgsLayout->addWidget(CheckBoxMerge, 3, 0, 1, 4); + GroupArgsLayout->addWidget(TextLabelTol, 4, 0, 1, 2); + GroupArgsLayout->addWidget(SpinBoxTol, 4, 2, 1, 2); /***************************************************************/ GroupButtons = new QGroupBox(this); @@ -149,7 +155,7 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) GroupButtonsLayout->setSpacing(SPACING); GroupButtonsLayout->setMargin(MARGIN); - buttonOk = new QPushButton(tr("SMESH_BUT_OK"), GroupButtons); + buttonOk = new QPushButton(tr("SMESH_BUT_APPLY_AND_CLOSE"), GroupButtons); buttonOk->setAutoDefault(true); buttonOk->setDefault(true); buttonApply = new QPushButton(tr("SMESH_BUT_APPLY"), GroupButtons); @@ -281,18 +287,23 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() return false; if (!myMesh->_is_nil()) { try { - QApplication::setOverrideCursor(Qt::WaitCursor); - + SUIT_OverrideCursor aWaitCursor; + SMESH::SMESH_Gen_var aSMESHGen = SMESHGUI::GetSMESHGen(); // concatenate meshes - SMESH::SMESH_Mesh_var aCompoundMesh = - aSMESHGen->Concatenate(myMeshArray, - !(ComboBoxUnion->currentIndex()), - CheckBoxMerge->isChecked(), - SpinBoxTol->GetValue()); - + SMESH::SMESH_Mesh_var aCompoundMesh; + if(CheckBoxCommon->isChecked()) + aCompoundMesh = aSMESHGen->ConcatenateWithGroups(myMeshArray, + !(ComboBoxUnion->currentIndex()), + CheckBoxMerge->isChecked(), + SpinBoxTol->GetValue()); + else + aCompoundMesh = aSMESHGen->Concatenate(myMeshArray, + !(ComboBoxUnion->currentIndex()), + CheckBoxMerge->isChecked(), + SpinBoxTol->GetValue()); + SMESH::SetName( SMESH::FindSObject( aCompoundMesh ), LineEditName->text() ); - QApplication::restoreOverrideCursor(); mySMESHGUI->updateObjBrowser(); } catch(...) { return false;