X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_RenumberingDlg.cxx;h=5281b91983f0e3aee6b315d48202e6e9224fccbf;hp=00ede0b48b97be7f86dda60ad901e52749e0ca0a;hb=d9f4b53e489dd5857db264ede6acded7b076c9f1;hpb=090aff07266d376ae028ae43434bdea7c0a0f9bb diff --git a/src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx b/src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx index 00ede0b48..5281b9198 100644 --- a/src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx @@ -1,173 +1,165 @@ -// SMESH SMESHGUI : GUI for SMESH component +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// 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. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // +// 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, 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 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : SMESHGUI_RenumberingDlg.cxx -// Author : Nicolas REJNERI -// Module : SMESH -// $Header$ +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_RenumberingDlg.cxx +// Author : Michael ZORIN, Open CASCADE S.A.S. +// SMESH includes +// #include "SMESHGUI_RenumberingDlg.h" #include "SMESHGUI.h" #include "SMESHGUI_Utils.h" #include "SMESHGUI_VTKUtils.h" -#include "SMESH_Actor.h" -#include "SMDS_Mesh.hxx" - -#include "QAD_Application.h" -#include "QAD_Desktop.h" -#include "QAD_MessageBox.h" -#include "utilities.h" - -// QT Includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; + +#include +#include + +// SALOME GUI includes +#include +#include +#include +#include +#include + +#include +#include + +#include + +// Qt includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_MeshEditor) + +#define SPACING 6 +#define MARGIN 11 //================================================================================= // class : SMESHGUI_RenumberingDlg() -// purpose : +// purpose : //================================================================================= -SMESHGUI_RenumberingDlg::SMESHGUI_RenumberingDlg( QWidget* parent, const char* name, SALOME_Selection* Sel, - const int unit, bool modal, WFlags fl ) - : QDialog( parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | - Qt::WDestructiveClose) +SMESHGUI_RenumberingDlg::SMESHGUI_RenumberingDlg( SMESHGUI* theModule, const int unit) + : QDialog( SMESH::GetDesktop( theModule ) ), + mySMESHGUI( theModule ), + mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ) { myUnit = unit; - if ( !name ) - setName( "SMESHGUI_RenumberingDlg" ); - resize( 303, 185 ); - + setModal(false); + setAttribute(Qt::WA_DeleteOnClose, true); + setWindowTitle(unit == 0 ? + tr("SMESH_RENUMBERING_NODES_TITLE") : + tr("SMESH_RENUMBERING_ELEMENTS_TITLE")); + setSizeGripEnabled(true); - QPixmap image0; - QPixmap image1(QAD_Desktop::getResourceManager()->loadPixmap( "SMESH",tr("ICON_SELECT"))); + SUIT_ResourceMgr* resMgr = SMESH::GetResourceMgr( mySMESHGUI ); + QPixmap image0(resMgr->loadPixmap("SMESH", unit == 0 ? + tr("ICON_DLG_RENUMBERING_NODES") : + tr("ICON_DLG_RENUMBERING_ELEMENTS"))); + QPixmap image1(resMgr->loadPixmap("SMESH",tr("ICON_SELECT"))); + + QVBoxLayout* SMESHGUI_RenumberingDlgLayout = new QVBoxLayout(this); + SMESHGUI_RenumberingDlgLayout->setSpacing(SPACING); + SMESHGUI_RenumberingDlgLayout->setMargin(MARGIN); + + /***************************************************************/ + GroupConstructors = new QGroupBox(unit == 0 ? + tr("SMESH_NODES") : + tr("SMESH_ELEMENTS"), + this); + myHelpFileName = unit == 0 ? + "renumbering_nodes_and_elements.html#renumbering-nodes-anchor" : + "renumbering_nodes_and_elements.html#renumbering-elements-anchor"; + + QButtonGroup* ButtonGroup = new QButtonGroup(this); + QHBoxLayout* GroupConstructorsLayout = new QHBoxLayout(GroupConstructors); + GroupConstructorsLayout->setSpacing(SPACING); + GroupConstructorsLayout->setMargin(MARGIN); + + Constructor1 = new QRadioButton(GroupConstructors); + Constructor1->setIcon(image0); + Constructor1->setChecked(true); + + GroupConstructorsLayout->addWidget(Constructor1); + ButtonGroup->addButton(Constructor1, 0); - if (unit == 0) { - image0 = QPixmap(QAD_Desktop::getResourceManager()->loadPixmap( "SMESH",tr("ICON_DLG_RENUMBERING_NODES"))); - setCaption( tr( "SMESH_RENUMBERING_NODES_TITLE" ) ); - } - else if (unit == 1) { - image0 = QPixmap(QAD_Desktop::getResourceManager()->loadPixmap( "SMESH",tr("ICON_DLG_RENUMBERING_ELEMENTS"))); - setCaption( tr( "SMESH_RENUMBERING_ELEMENTS_TITLE" ) ); - } - - setSizeGripEnabled( TRUE ); - SMESHGUI_RenumberingDlgLayout = new QGridLayout( this ); - SMESHGUI_RenumberingDlgLayout->setSpacing( 6 ); - SMESHGUI_RenumberingDlgLayout->setMargin( 11 ); - /***************************************************************/ - GroupConstructors = new QButtonGroup( this, "GroupConstructors" ); - if (unit == 0) - GroupConstructors->setTitle( tr( "SMESH_NODES" ) ); - else if (unit == 1) - GroupConstructors->setTitle( tr( "SMESH_ELEMENTS" ) ); - GroupConstructors->setExclusive( TRUE ); - GroupConstructors->setColumnLayout(0, Qt::Vertical ); - GroupConstructors->layout()->setSpacing( 0 ); - GroupConstructors->layout()->setMargin( 0 ); - GroupConstructorsLayout = new QGridLayout( GroupConstructors->layout() ); - GroupConstructorsLayout->setAlignment( Qt::AlignTop ); - GroupConstructorsLayout->setSpacing( 6 ); - GroupConstructorsLayout->setMargin( 11 ); - Constructor1 = new QRadioButton( GroupConstructors, "Constructor1" ); - Constructor1->setText( tr( "" ) ); - Constructor1->setPixmap( image0 ); - Constructor1->setChecked( TRUE ); - Constructor1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)0, Constructor1->sizePolicy().hasHeightForWidth() ) ); - Constructor1->setMinimumSize( QSize( 50, 0 ) ); - GroupConstructorsLayout->addWidget( Constructor1, 0, 0 ); - QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); - GroupConstructorsLayout->addItem( spacer, 0, 1 ); - SMESHGUI_RenumberingDlgLayout->addWidget( GroupConstructors, 0, 0 ); - + GroupMesh = new QGroupBox(tr("SMESH_RENUMBERING"), this); + QHBoxLayout* GroupMeshLayout = new QHBoxLayout(GroupMesh); + GroupMeshLayout->setMargin(MARGIN); + GroupMeshLayout->setSpacing(SPACING); + + TextLabelMesh = new QLabel(tr("SMESH_MESH"), GroupMesh); + SelectButton = new QPushButton(GroupMesh); + SelectButton->setIcon(image1); + LineEditMesh = new QLineEdit(GroupMesh); + LineEditMesh->setReadOnly(true); + + GroupMeshLayout->addWidget(TextLabelMesh); + GroupMeshLayout->addWidget(SelectButton); + GroupMeshLayout->addWidget(LineEditMesh); + /***************************************************************/ - GroupButtons = new QGroupBox( this, "GroupButtons" ); - GroupButtons->setGeometry( QRect( 10, 10, 281, 48 ) ); - GroupButtons->setTitle( tr( "" ) ); - GroupButtons->setColumnLayout(0, Qt::Vertical ); - GroupButtons->layout()->setSpacing( 0 ); - GroupButtons->layout()->setMargin( 0 ); - GroupButtonsLayout = new QGridLayout( GroupButtons->layout() ); - GroupButtonsLayout->setAlignment( Qt::AlignTop ); - GroupButtonsLayout->setSpacing( 6 ); - GroupButtonsLayout->setMargin( 11 ); - buttonCancel = new QPushButton( GroupButtons, "buttonCancel" ); - buttonCancel->setText( tr( "SMESH_BUT_CLOSE" ) ); - buttonCancel->setAutoDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonCancel, 0, 3 ); - buttonApply = new QPushButton( GroupButtons, "buttonApply" ); - buttonApply->setText( tr( "SMESH_BUT_APPLY" ) ); - buttonApply->setAutoDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonApply, 0, 1 ); - QSpacerItem* spacer_9 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); - GroupButtonsLayout->addItem( spacer_9, 0, 2 ); - buttonOk = new QPushButton( GroupButtons, "buttonOk" ); - buttonOk->setText( tr( "SMESH_BUT_OK" ) ); - buttonOk->setAutoDefault( TRUE ); - buttonOk->setDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonOk, 0, 0 ); - SMESHGUI_RenumberingDlgLayout->addWidget( GroupButtons, 2, 0 ); - + GroupButtons = new QGroupBox(this); + QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons); + GroupButtonsLayout->setSpacing(SPACING); + GroupButtonsLayout->setMargin(MARGIN); + + buttonOk = new QPushButton(tr("SMESH_BUT_APPLY_AND_CLOSE"), GroupButtons); + buttonOk->setAutoDefault(true); + buttonOk->setDefault(true); + buttonApply = new QPushButton(tr("SMESH_BUT_APPLY"), GroupButtons); + buttonApply->setAutoDefault(true); + buttonCancel = new QPushButton(tr("SMESH_BUT_CLOSE"), GroupButtons); + buttonCancel->setAutoDefault(true); + buttonHelp = new QPushButton(tr("SMESH_BUT_HELP"), GroupButtons); + buttonHelp->setAutoDefault(true); + + GroupButtonsLayout->addWidget(buttonOk); + GroupButtonsLayout->addSpacing(10); + GroupButtonsLayout->addWidget(buttonApply); + GroupButtonsLayout->addSpacing(10); + GroupButtonsLayout->addStretch(); + GroupButtonsLayout->addWidget(buttonCancel); + GroupButtonsLayout->addWidget(buttonHelp); + /***************************************************************/ - GroupMesh = new QGroupBox( this, "GroupMesh" ); - GroupMesh->setTitle( tr( "SMESH_RENUMBERING" ) ); - GroupMesh->setMinimumSize( QSize( 0, 0 ) ); - GroupMesh->setFrameShape( QGroupBox::Box ); - GroupMesh->setFrameShadow( QGroupBox::Sunken ); - GroupMesh->setColumnLayout(0, Qt::Vertical ); - GroupMesh->layout()->setSpacing( 0 ); - GroupMesh->layout()->setMargin( 0 ); - GroupMeshLayout = new QGridLayout( GroupMesh->layout() ); - GroupMeshLayout->setAlignment( Qt::AlignTop ); - GroupMeshLayout->setSpacing( 6 ); - GroupMeshLayout->setMargin( 11 ); - TextLabelMesh = new QLabel( GroupMesh, "TextLabelMesh" ); - TextLabelMesh->setText( tr( "SMESH_MESH" ) ); - TextLabelMesh->setMinimumSize( QSize( 50, 0 ) ); - TextLabelMesh->setFrameShape( QLabel::NoFrame ); - TextLabelMesh->setFrameShadow( QLabel::Plain ); - GroupMeshLayout->addWidget( TextLabelMesh, 0, 0 ); - SelectButton = new QPushButton( GroupMesh, "SelectButton" ); - SelectButton->setText( tr( "" ) ); - SelectButton->setPixmap( image1 ); - SelectButton->setToggleButton( FALSE ); - GroupMeshLayout->addWidget( SelectButton, 0, 1 ); - LineEditMesh = new QLineEdit( GroupMesh, "LineEditMesh" ); - LineEditMesh->setReadOnly( true ); - GroupMeshLayout->addWidget( LineEditMesh, 0, 2 ); - SMESHGUI_RenumberingDlgLayout->addWidget( GroupMesh, 1, 0 ); - - Init(Sel) ; /* Initialisations */ + SMESHGUI_RenumberingDlgLayout->addWidget(GroupConstructors); + SMESHGUI_RenumberingDlgLayout->addWidget(GroupMesh); + SMESHGUI_RenumberingDlgLayout->addWidget(GroupButtons); + + Init(); /* Initialisations */ } //================================================================================= @@ -176,109 +168,83 @@ SMESHGUI_RenumberingDlg::SMESHGUI_RenumberingDlg( QWidget* parent, const char* n //================================================================================= SMESHGUI_RenumberingDlg::~SMESHGUI_RenumberingDlg() { - // no need to delete child widgets, Qt does it all for us } - //================================================================================= // function : Init() // purpose : //================================================================================= -void SMESHGUI_RenumberingDlg::Init( SALOME_Selection* Sel ) +void SMESHGUI_RenumberingDlg::Init() { - - GroupMesh->show(); - myConstructorId = 0 ; - Constructor1->setChecked( TRUE ); - mySelection = Sel; - mySMESHGUI = SMESHGUI::GetSMESHGUI() ; - mySMESHGUI->SetActiveDialogBox( (QDialog*)this ); + myConstructorId = 0; + Constructor1->setChecked(true); + mySMESHGUI->SetActiveDialogBox((QDialog*)this); myMesh = SMESH::SMESH_Mesh::_nil(); - - myMeshFilter = new SMESH_TypeFilter( MESH ); + + myMeshFilter = new SMESH_TypeFilter (SMESH::MESH); /* signals and slots connections */ - connect( buttonOk, SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) ); - connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( ClickOnCancel() ) ) ; - connect( buttonApply, SIGNAL( clicked() ), this, SLOT(ClickOnApply() ) ); - connect( GroupConstructors, SIGNAL(clicked(int) ), SLOT( ConstructorsClicked(int) ) ); - - connect( SelectButton, SIGNAL (clicked() ), this, SLOT( SetEditCurrentArgument() ) ) ; - connect( mySMESHGUI, SIGNAL ( SignalDeactivateActiveDialog() ), this, SLOT( DeactivateActiveDialog() ) ) ; - connect( mySelection, SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) ); + connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); + connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); + connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); + connect(buttonHelp, SIGNAL(clicked()), this, SLOT(ClickOnHelp())); + + connect(SelectButton, SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument())); + connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); /* to close dialog if study change */ - connect( mySMESHGUI, SIGNAL ( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) ) ; - - /* Move widget on the botton right corner of main widget */ - int x, y ; - mySMESHGUI->DefineDlgPosition( this, x, y ) ; - this->move( x, y ) ; - this->show() ; /* displays Dialog */ - - myEditCurrentArgument = LineEditMesh ; - LineEditMesh->setFocus(); - mySelection->ClearFilters() ; - mySelection->AddFilter( myMeshFilter ) ; - - SelectionIntoArgument(); -} + connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(reject())); + myEditCurrentArgument = LineEditMesh; + LineEditMesh->setFocus(); + mySelectionMgr->clearFilters(); + mySelectionMgr->installFilter(myMeshFilter); -//================================================================================= -// function : ConstructorsClicked() -// purpose : Radio button management -//================================================================================= -void SMESHGUI_RenumberingDlg::ConstructorsClicked(int constructorId) -{ - return ; + SelectionIntoArgument(); } - //================================================================================= // function : ClickOnApply() // purpose : //================================================================================= void SMESHGUI_RenumberingDlg::ClickOnApply() { - if (mySMESHGUI->ActiveStudyLocked()) + if (SMESHGUI::isStudyLocked()) return; - - if ( !myMesh->_is_nil()) - { - try - { - SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); - SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); - bool isUnitsLabeled = false; - - if (myUnit == 0 && anActor) { - isUnitsLabeled = anActor->GetPointsLabeled(); - if (isUnitsLabeled) anActor->SetPointsLabeled(false); - } - else if (myUnit == 1 && anActor) { - isUnitsLabeled = anActor->GetCellsLabeled(); - if (isUnitsLabeled) anActor->SetCellsLabeled(false); - } - - QApplication::setOverrideCursor(Qt::waitCursor); - if (myUnit == 0) { - aMeshEditor->RenumberNodes(); - if (isUnitsLabeled && anActor) anActor->SetPointsLabeled(true); - } - else if (myUnit == 1) { - aMeshEditor->RenumberElements(); - if (isUnitsLabeled && anActor) anActor->SetCellsLabeled(true); - } - QApplication::restoreOverrideCursor(); - } - catch( ... ) - { - } + + if (!myMesh->_is_nil()) { + try { + SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); + SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); + bool isUnitsLabeled = false; + + if (myUnit == 0 && anActor) { + isUnitsLabeled = anActor->GetPointsLabeled(); + if (isUnitsLabeled) anActor->SetPointsLabeled(false); + } + else if (myUnit == 1 && anActor) { + isUnitsLabeled = anActor->GetCellsLabeled(); + if (isUnitsLabeled) anActor->SetCellsLabeled(false); + } - mySelection->ClearIObjects(); - SMESH::UpdateView(); + SUIT_OverrideCursor aWaitCursor; + if (myUnit == 0) { + aMeshEditor->RenumberNodes(); + if (isUnitsLabeled && anActor) anActor->SetPointsLabeled(true); + } + else if (myUnit == 1) { + aMeshEditor->RenumberElements(); + if (isUnitsLabeled && anActor) anActor->SetCellsLabeled(true); + } } + catch(...) { + } + + //mySelectionMgr->clearSelected(); + SMESH::UpdateView(); + SMESHGUI::Modified(); + } } //================================================================================= @@ -287,24 +253,46 @@ void SMESHGUI_RenumberingDlg::ClickOnApply() //================================================================================= void SMESHGUI_RenumberingDlg::ClickOnOk() { - ClickOnApply() ; - ClickOnCancel() ; + ClickOnApply(); + reject(); } - //================================================================================= -// function : ClickOnCancel() +// function : reject() // purpose : //================================================================================= -void SMESHGUI_RenumberingDlg::ClickOnCancel() +void SMESHGUI_RenumberingDlg::reject() { - mySelection->ClearIObjects(); - mySelection->ClearFilters(); - disconnect( mySelection, 0, this, 0 ); - mySMESHGUI->ResetState() ; - reject() ; + //mySelectionMgr->clearSelected(); + mySelectionMgr->clearFilters(); + disconnect(mySelectionMgr, 0, this, 0); + mySMESHGUI->ResetState(); + QDialog::reject(); } +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void SMESHGUI_RenumberingDlg::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName); + else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif + SUIT_MessageBox::warning(this, tr("WRN_WARNING"), + tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", + platform)). + arg(myHelpFileName)); + } +} //================================================================================= // function : SelectionIntoArgument() @@ -312,35 +300,35 @@ void SMESHGUI_RenumberingDlg::ClickOnCancel() //================================================================================= void SMESHGUI_RenumberingDlg::SelectionIntoArgument() { - if ( !GroupButtons->isEnabled() ) // inactive + if (!GroupButtons->isEnabled()) // inactive return; - - QString aString = ""; - - int nbSel = SMESH::GetNameOfSelectedIObjects(mySelection, aString) ; - if ( myEditCurrentArgument == LineEditMesh ) { + QString aString = ""; + + SALOME_ListIO aList; + mySelectionMgr->selectedObjects(aList); + int nbSel = SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString); + + if (myEditCurrentArgument == LineEditMesh) { // mesh - if ( nbSel != 1 ) { + if (nbSel != 1) { myMesh = SMESH::SMESH_Mesh::_nil(); aString = ""; - } - else { - Handle(SALOME_InteractiveObject) IO = mySelection->firstIObject() ; - myMesh = SMESH::IObjectToInterface(IO) ; - if( myMesh->_is_nil() ) - aString = ""; + } else { + Handle(SALOME_InteractiveObject) IO = aList.First(); + myMesh = SMESH::IObjectToInterface(IO); + if (myMesh->_is_nil()) + aString = ""; } } - - myEditCurrentArgument->setText(aString) ; - + + myEditCurrentArgument->setText(aString); + bool isEnabled = (!myMesh->_is_nil()); - buttonOk->setEnabled( isEnabled ); - buttonApply->setEnabled( isEnabled ); + buttonOk->setEnabled(isEnabled); + buttonApply->setEnabled(isEnabled); } - //================================================================================= // function : SetEditCurrentArgument() // purpose : @@ -351,13 +339,13 @@ void SMESHGUI_RenumberingDlg::SetEditCurrentArgument() switch (myConstructorId) { case 0: /* default constructor */ - { - if(send == SelectButton) { - LineEditMesh->setFocus() ; - myEditCurrentArgument = LineEditMesh; - } - SelectionIntoArgument() ; - break; + { + if(send == SelectButton) { + LineEditMesh->setFocus(); + myEditCurrentArgument = LineEditMesh; + } + SelectionIntoArgument(); + break; } } } @@ -368,16 +356,15 @@ void SMESHGUI_RenumberingDlg::SetEditCurrentArgument() //================================================================================= void SMESHGUI_RenumberingDlg::DeactivateActiveDialog() { - if ( GroupConstructors->isEnabled() ) { - GroupConstructors->setEnabled(false) ; - GroupMesh->setEnabled(false) ; - GroupButtons->setEnabled(false) ; - mySMESHGUI->ResetState() ; - mySMESHGUI->SetActiveDialogBox(0) ; + if (GroupConstructors->isEnabled()) { + GroupConstructors->setEnabled(false); + GroupMesh->setEnabled(false); + GroupButtons->setEnabled(false); + mySMESHGUI->ResetState(); + mySMESHGUI->SetActiveDialogBox(0); } } - //================================================================================= // function : ActivateThisDialog() // purpose : @@ -385,46 +372,38 @@ void SMESHGUI_RenumberingDlg::DeactivateActiveDialog() void SMESHGUI_RenumberingDlg::ActivateThisDialog() { /* Emit a signal to deactivate the active dialog */ - mySMESHGUI->EmitSignalDeactivateDialog() ; - GroupConstructors->setEnabled(true) ; - GroupMesh->setEnabled(true) ; - GroupButtons->setEnabled(true) ; - - mySMESHGUI->SetActiveDialogBox( (QDialog*)this ) ; + mySMESHGUI->EmitSignalDeactivateDialog(); + GroupConstructors->setEnabled(true); + GroupMesh->setEnabled(true); + GroupButtons->setEnabled(true); + + mySMESHGUI->SetActiveDialogBox((QDialog*)this); SelectionIntoArgument(); } - //================================================================================= // function : enterEvent() // purpose : //================================================================================= -void SMESHGUI_RenumberingDlg::enterEvent(QEvent* e) +void SMESHGUI_RenumberingDlg::enterEvent(QEvent* /*e*/) { - if ( GroupConstructors->isEnabled() ) - return ; - ActivateThisDialog() ; + if (GroupConstructors->isEnabled()) + return; + ActivateThisDialog(); } - //================================================================================= -// function : closeEvent() +// function : keyPressEvent() // purpose : //================================================================================= -void SMESHGUI_RenumberingDlg::closeEvent( QCloseEvent* e ) +void SMESHGUI_RenumberingDlg::keyPressEvent( QKeyEvent* e ) { - /* same than click on cancel button */ - this->ClickOnCancel() ; -} - - -//======================================================================= -//function : hideEvent -//purpose : caused by ESC key -//======================================================================= + QDialog::keyPressEvent( e ); + if ( e->isAccepted() ) + return; -void SMESHGUI_RenumberingDlg::hideEvent ( QHideEvent * e ) -{ - if ( !isMinimized() ) - ClickOnCancel(); + if ( e->key() == Qt::Key_F1 ) { + e->accept(); + ClickOnHelp(); + } }