-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 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
#include <QtxToolButton.h>
// Qt includes
+#include <QCheckBox>
#include <QComboBox>
#include <QCursor>
#include <QGridLayout>
// mesh type
QLabel* anMeshTypeLbl = new QLabel( tr( "MESH_TYPE" ), this );
myMeshType = new QComboBox( this );
-
+ // groups
+ myCreateGroupsCheck = new QCheckBox( tr( "CREATE_ALL_GROUPS" ), this );
+ myCreateGroupsCheck->setChecked( true );
+
// Create tab widget
-
+
myTabWg = new QTabWidget( mainFrame() );
myTabs[ Dim0D ] = new SMESHGUI_MeshTab( myTabWg );
myTabs[ Dim1D ] = new SMESHGUI_MeshTab( myTabWg );
aLay->addWidget( objectWg( Geom, Control ), 2, 2 );
aLay->addWidget( anMeshTypeLbl, 3, 0 );
aLay->addWidget( myMeshType, 3, 2 );
- aLay->addWidget( myTabWg, 5, 0, 1, 3 );
- aLay->addWidget( myHypoSetButton, 6, 0, 1, 3 );
- aLay->setRowMinimumHeight( 3, 20 );
+ aLay->addWidget( myCreateGroupsCheck, 4, 0, 1, 3 );
+ aLay->addWidget( myTabWg, 6, 0, 1, 3 );
+ aLay->addWidget( myHypoSetButton, 7, 0, 1, 3 );
+ aLay->setRowMinimumHeight( 4, 20 );
myMeshType->clear();
{
setWindowTitle( tr( theIsMesh ? "EDIT_MESH" : "EDIT_SUBMESH") );
}
-
+ myCreateGroupsCheck-> setVisible( theToCreate && theIsMesh );
}
//================================================================================
myHypoSetButton->setPopupMode( QToolButton::InstantPopup );
}
aHypoSetPopup->clear();
- for ( int i = 0, n = theSets.count(); i < n; i++ ) {
- aHypoSetPopup->addAction( theSets[ i ] );
+ for ( int i = 0, n = theSets.count(); i < n; i++ )
+ {
+ QAction* action = new QAction( tr( theSets[ i ].toUtf8().data() ));
+ action->setData( theSets[ i ] );
+ aHypoSetPopup->addAction( action );
}
myHypoSetButton->setEnabled( !aHypoSetPopup->isEmpty() );
}
//================================================================================
void SMESHGUI_MeshDlg::onHypoSetPopup( QAction* a )
{
- emit hypoSet( a->text() );
+ emit hypoSet( a->data().toString() );
}
//================================================================================
return myTabWg->isTabEnabled( myTabWg->indexOf( myTabs[ theTabId ] ) );
}
+//================================================================================
+/*!
+ * \brief Return index of a current tab
+ * \return tab ID
+ */
+//================================================================================
+int SMESHGUI_MeshDlg::currentTab() const
+{
+ return Dim3D - myTabWg->currentIndex();
+}
+
//================================================================================
/*!
* \brief SLOT called when a Geom selection button is clicked
//================================================================================
void SMESHGUI_MeshDlg::setCurrentMeshType( const int theIndex )
{
- myMeshType->setCurrentIndex( theIndex );
+ if ( theIndex < myMeshType->count() )
+ myMeshType->setCurrentIndex( theIndex );
+ else
+ myMeshType->setCurrentIndex( 0 );
+}
+
+//================================================================================
+/*!
+ * \brief Return state of "Create all Groups on Geometry" check-box
+ */
+//================================================================================
+
+bool SMESHGUI_MeshDlg::toCreateAllGroups()
+{
+ return myCreateGroupsCheck->isChecked();
}