X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSMESHGUI%2FSMESHGUI_BuildCompoundDlg.cxx;h=4477dee8a45003f8b880166abf2571824cf85c16;hb=ad3cb4c93852dbc834d7075c087bbc749197454b;hp=cadd4593f51688b49182c8cc8966723736e8986d;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx index cadd4593f..4477dee8a 100644 --- a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -65,10 +65,6 @@ #define SPACING 6 #define MARGIN 11 -//To disable automatic genericobj management, the following line should be commented. -//Otherwise, it should be uncommented. Refer to KERNEL_SRC/src/SALOMEDSImpl/SALOMEDSImpl_AttributeIOR.cxx -#define WITHGENERICOBJ - //================================================================================= // name : SMESHGUI_BuildCompoundDlg // Purpose : @@ -139,7 +135,7 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) CheckBoxMerge = new QCheckBox(tr("MERGE_NODES_AND_ELEMENTS"), GroupArgs); TextLabelTol = new QLabel(tr("SMESH_TOLERANCE"), GroupArgs); - TextLabelTol->setAlignment(Qt::AlignCenter); + //TextLabelTol->setAlignment(Qt::AlignCenter); SpinBoxTol = new SMESHGUI_SpinBox(GroupArgs); SpinBoxTol->RangeStepAndValidator(0.0, COORD_MAX, 0.00001, "len_tol_precision" ); @@ -150,8 +146,8 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) GroupArgsLayout->addWidget(ComboBoxUnion, 1, 3); 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); + GroupArgsLayout->addWidget(TextLabelTol, 4, 0); + GroupArgsLayout->addWidget(SpinBoxTol, 4, 1, 1, 3); /***************************************************************/ GroupButtons = new QGroupBox(this); @@ -183,7 +179,7 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) aTopLayout->addWidget(GroupArgs); aTopLayout->addWidget(GroupButtons); - myHelpFileName = "building_compounds_page.html"; + myHelpFileName = "building_compounds.html"; Init(); // Initialisations } @@ -204,15 +200,15 @@ void SMESHGUI_BuildCompoundDlg::Init() { mySMESHGUI->SetActiveDialogBox((QDialog*)this); - myMesh = SMESH::SMESH_Mesh::_nil(); + myMesh = SMESH::SMESH_IDSource::_nil(); - myMeshFilter = new SMESH_TypeFilter (SMESH::MESH); + myMeshFilter = new SMESH_TypeFilter (SMESH::IDSOURCE); - myMeshArray = new SMESH::mesh_array(); + myMeshArray = new SMESH::ListOfIDSources(); // signals and slots connections connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); + connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); connect(buttonHelp, SIGNAL(clicked()), this, SLOT(ClickOnHelp())); @@ -223,7 +219,7 @@ void SMESHGUI_BuildCompoundDlg::Init() connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(reject())); LineEditName->setText(GetDefaultName(tr("COMPOUND_MESH"))); LineEditMeshes->setFocus(); @@ -232,7 +228,7 @@ void SMESHGUI_BuildCompoundDlg::Init() ComboBoxUnion->addItem(tr("RENAME")); ComboBoxUnion->setCurrentIndex(0); - CheckBoxMerge->setChecked(false); + CheckBoxMerge->setChecked(true); TextLabelTol->setEnabled(CheckBoxMerge->isChecked()); SpinBoxTol->SetValue(1e-05); @@ -293,7 +289,9 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() if (!isValid()) return false; - SMESH::SMESH_Mesh_var aCompoundMesh; + SUIT_OverrideCursor aWaitCursor; + + SMESH::SMESH_Mesh_var aMesh; if (!myMesh->_is_nil()) { @@ -302,24 +300,24 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() QStringList anEntryList; try { - SUIT_OverrideCursor aWaitCursor; - myMeshArray[0]->SetParameters( aParameters.join(":").toLatin1().constData() ); + aMesh = myMeshArray[0]->GetMesh(); + aMesh->SetParameters( aParameters.join(":").toLatin1().constData() ); SMESH::SMESH_Gen_var aSMESHGen = SMESHGUI::GetSMESHGen(); // concatenate meshes if(CheckBoxCommon->isChecked()) - aCompoundMesh = aSMESHGen->ConcatenateWithGroups(myMeshArray, - !(ComboBoxUnion->currentIndex()), - CheckBoxMerge->isChecked(), - SpinBoxTol->GetValue()); + aMesh = aSMESHGen->ConcatenateWithGroups(myMeshArray, + !(ComboBoxUnion->currentIndex()), + CheckBoxMerge->isChecked(), + SpinBoxTol->GetValue()); else - aCompoundMesh = aSMESHGen->Concatenate(myMeshArray, - !(ComboBoxUnion->currentIndex()), - CheckBoxMerge->isChecked(), - SpinBoxTol->GetValue()); + aMesh = aSMESHGen->Concatenate(myMeshArray, + !(ComboBoxUnion->currentIndex()), + CheckBoxMerge->isChecked(), + SpinBoxTol->GetValue()); - _PTR(SObject) aSO = SMESH::FindSObject( aCompoundMesh ); + _PTR(SObject) aSO = SMESH::FindSObject( aMesh ); if( aSO ) { SMESH::SetName( aSO, LineEditName->text() ); anEntryList.append( aSO->GetID().c_str() ); @@ -336,9 +334,11 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() mySelectionMgr->clearSelected(); SMESH::UpdateView(); - _PTR(SObject) aSO = SMESH::FindSObject(aCompoundMesh.in()); - if ( SMESH_Actor* anActor = SMESH::CreateActor(aSO->GetStudy(), aSO->GetID().c_str()) ) + _PTR(SObject) aSO = SMESH::FindSObject(aMesh.in()); + if ( SMESH_Actor* anActor = SMESH::CreateActor(aSO->GetStudy(), aSO->GetID().c_str()) ) { SMESH::DisplayActor(SMESH::GetActiveWindow(), anActor); + SMESH::UpdateView(); + } }// end IPAL21468 if( LightApp_Application* anApp = @@ -347,12 +347,6 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() SMESHGUI::Modified(); - // obj has been published in study. Its refcount has been incremented. - // It is safe to decrement its refcount - // so that it will be destroyed when the entry in study will be removed - if (!CORBA::is_nil(aCompoundMesh)) - aCompoundMesh->UnRegister(); - return true; } return false; @@ -366,20 +360,20 @@ void SMESHGUI_BuildCompoundDlg::ClickOnOk() { setIsApplyAndClose( true ); if (ClickOnApply()) - ClickOnCancel(); + reject(); } //================================================================================= -// function : ClickOnCancel() +// function : reject() // purpose : //================================================================================= -void SMESHGUI_BuildCompoundDlg::ClickOnCancel() +void SMESHGUI_BuildCompoundDlg::reject() { //mySelectionMgr->clearSelected(); mySelectionMgr->clearFilters(); disconnect(mySelectionMgr, 0, this, 0); mySMESHGUI->ResetState(); - reject(); + QDialog::reject(); } //================================================================================= @@ -420,12 +414,12 @@ void SMESHGUI_BuildCompoundDlg::SelectionIntoArgument() for (int i = 0; nbSel != 0; i++, nbSel--) { Handle(SALOME_InteractiveObject) IO = aList.First(); aList.RemoveFirst(); - myMesh = SMESH::IObjectToInterface(IO); + myMesh = SMESH::IObjectToInterface(IO); myMeshArray[i] = myMesh; } } else { - myMesh = SMESH::SMESH_Mesh::_nil(); + myMesh = SMESH::SMESH_IDSource::_nil(); aString = ""; } @@ -480,27 +474,6 @@ void SMESHGUI_BuildCompoundDlg::enterEvent( QEvent* ) ActivateThisDialog(); } -//================================================================================= -// function : closeEvent() -// purpose : -//================================================================================= -void SMESHGUI_BuildCompoundDlg::closeEvent( QCloseEvent* ) -{ - /* same than click on cancel button */ - ClickOnCancel(); -} - -//======================================================================= -//function : hideEvent -//purpose : caused by ESC key -//======================================================================= -void SMESHGUI_BuildCompoundDlg::hideEvent( QHideEvent* ) -{ - if (!isMinimized()) - ClickOnCancel(); -} - - //================================================================================= // function : keyPressEvent() // purpose :