X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshDlg.cxx;h=6826732050f8621914adbfc85900e1eff8278548;hb=19a23c1d840a269deb7c4f6f549ac9bb942deb70;hp=94d9ce681cceee02ec7c919312b68995647f6de7;hpb=f7aba4830d53719b963fdb7fccc98b760fdef2d1;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshDlg.cxx b/src/SMESHGUI/SMESHGUI_MeshDlg.cxx index 94d9ce681..682673205 100644 --- a/src/SMESHGUI/SMESHGUI_MeshDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2014 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 @@ -149,16 +149,20 @@ void SMESHGUI_MeshTab::setAvailableHyps( const int theId, const QStringList& the myAvailableHyps[ theId ] = theHyps; bool enable = ! theHyps.isEmpty(); - if ( theId == Algo ) + if ( theId == Algo ) // fill list of algos { myHyp[ Algo ]->clear(); - myHyp[ Algo ]->addItem( tr( "NONE" ) ); - myHyp[ Algo ]->addItems( theHyps ); - myHyp[ Algo ]->setCurrentIndex( 0 ); + if ( enable ) + { + myHyp[ Algo ]->addItem( tr( "NONE" ) ); + myHyp[ Algo ]->addItems( theHyps ); + myHyp[ Algo ]->setCurrentIndex( 0 ); + } } - else { + else // enable buttons + { myCreateHyp[ theId ]->setEnabled( enable ); - myEditHyp[ theId ]->setEnabled( false ); + myEditHyp [ theId ]->setEnabled( false ); } myHyp[ theId ]->setEnabled( enable ); } @@ -166,21 +170,30 @@ void SMESHGUI_MeshTab::setAvailableHyps( const int theId, const QStringList& the //================================================================================ /*! * \brief Sets existing hypothesis - * \param theId - identifier of hypothesis (main or additional, see HypType enumeration) - * \param theHyps - list of available hypothesis names - * + * \param theId - identifier of hypothesis (main or additional, see HypType enumeration) + * \param theHyps - list of available hypothesis names + * \param theDefaultAvlbl - \c true means that the algorithm can with w/o hypothesis + * with some default parameters + * * Sets existing main or additional hypothesis for this tab */ //================================================================================ -void SMESHGUI_MeshTab::setExistingHyps( const int theId, const QStringList& theHyps ) +void SMESHGUI_MeshTab::setExistingHyps( const int theId, + const QStringList& theHyps, + bool theDefaultAvlbl) { if ( theId != Algo ) { + bool enable = ! myAvailableHyps[ theId ].isEmpty(); myHyp[ theId ]->clear(); - myHyp[ theId ]->addItem( tr( "NONE" ) ); - myHyp[ theId ]->addItems( theHyps ); - myHyp[ theId ]->setCurrentIndex( 0 ); - myHyp[ theId ]->setEnabled( !theHyps.isEmpty() ); + if ( enable ) + { + QString none = tr( theDefaultAvlbl ? "DEFAULT" : ( theId == AddHyp ) ? "NONE" : "NONE" ); + myHyp[ theId ]->addItem( none ); + myHyp[ theId ]->addItems( theHyps ); + myHyp[ theId ]->setCurrentIndex( 0 ); + } + myHyp [ theId ]->setEnabled( enable ); myEditHyp[ theId ]->setEnabled( false ); } } @@ -188,9 +201,9 @@ void SMESHGUI_MeshTab::setExistingHyps( const int theId, const QStringList& theH //================================================================================ /*! * \brief Adds hypothesis in combo box of available ones - * \param theId - identifier of hypothesis (main or additional, see HypType enumeration) - * \param theHyp - name of hypothesis to be added - * + * \param theId - identifier of hypothesis (main or additional, see HypType enumeration) + * \param theHyp - name of hypothesis to be added + * * Adds hypothesis in combo box of available ones. This method is called by operation * after creation of new hypothesis. */ @@ -655,5 +668,12 @@ int SMESHGUI_MeshDlg::currentMeshType( ) { return myMeshType->currentIndex( ); } - - +//================================================================================ +/*! + * \brief Set current index types of mesh + */ +//================================================================================ +void SMESHGUI_MeshDlg::setCurrentMeshType( const int theIndex ) +{ + myMeshType->setCurrentIndex( theIndex ); +}