From e8d46310d37a3c44284d6bb56b70cee7dbff81c7 Mon Sep 17 00:00:00 2001 From: vsr Date: Tue, 7 Feb 2017 13:14:51 +0300 Subject: [PATCH] 23352: [CEA] Order and naming of meshing algorithms - Redesign dialog with use of QtxToolButton instead of QComboBox for better managing groups of algorihtms/hypotheses. --- src/SMESHGUI/SMESHGUI_MeshDlg.cxx | 19 +++++++++---------- src/SMESHGUI/SMESHGUI_MeshDlg.h | 4 ++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI_MeshDlg.cxx b/src/SMESHGUI/SMESHGUI_MeshDlg.cxx index 0c492b5d7..cc02e70c4 100644 --- a/src/SMESHGUI/SMESHGUI_MeshDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshDlg.cxx @@ -31,6 +31,7 @@ #include #include #include +#include // Qt includes #include @@ -74,11 +75,11 @@ SMESHGUI_MeshTab::SMESHGUI_MeshTab( QWidget* theParent ) // Algorifm QLabel* anAlgoLbl = new QLabel( tr( "ALGORITHM" ), this ); - myHypCombo[ Algo ] = new QComboBox( this ); + myHypCombo[ Algo ] = new QtxToolButton( this ); // Hypothesis QLabel* aHypLbl = new QLabel( tr( "HYPOTHESIS" ), this ); - myHypCombo[ MainHyp ] = new QComboBox( this ); + myHypCombo[ MainHyp ] = new QtxToolButton( this ); myHypCombo[ MainHyp ]->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); myCreateHypBtn[ MainHyp ] = new QToolButton( this ); myCreateHypBtn[ MainHyp ]->setIcon( aCreateIcon ); @@ -91,7 +92,7 @@ SMESHGUI_MeshTab::SMESHGUI_MeshTab( QWidget* theParent ) // Add. hypothesis QLabel* anAddHypLbl = new QLabel( tr( "ADD_HYPOTHESIS" ), this ); - myHypCombo[ AddHyp ] = new QComboBox( this ); + myHypCombo[ AddHyp ] = new QtxToolButton( this ); myHypCombo[ AddHyp ]->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); myCreateHypBtn[ AddHyp ] = new QToolButton( this ); myCreateHypBtn[ AddHyp ]->setIcon( aCreateIcon ); @@ -126,6 +127,7 @@ SMESHGUI_MeshTab::SMESHGUI_MeshTab( QWidget* theParent ) aLay->addWidget( myMoreAddHypBtn, 4, 2 ); aLay->addWidget( myEditHypBtn[ MoreAddHyp ], 4, 3 ); aLay->addWidget( myLessAddHypBtn, 5, 2 ); + aLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ), 6, 0 ); // Connect signals and slots @@ -172,24 +174,21 @@ void SMESHGUI_MeshTab::addItem( const QString& txt, const int index, const bool isGroup ) { - const char* prefix = " "; if ( type <= AddHyp ) { if ( isGroup ) { - int idx = myHypCombo[ type ]->count(); - myHypCombo[ type ]->addItem( txt.mid( 6 ), QVariant( index )); - myHypCombo[ type ]->setItemData( idx, "separator", Qt::AccessibleDescriptionRole ); + myHypCombo[ type ]->addSeparator( txt.mid( 6 ) ); } else { - myHypCombo[ type ]->addItem( prefix + txt, QVariant( index )); + myHypCombo[ type ]->addItem( txt, QVariant( index )); } //myHypCombo[ type ]->setMaxVisibleItems( qMax( 10, myHypCombo[ type ]->count() ) ); } else { - QListWidgetItem* item = new QListWidgetItem( prefix + txt, myAddHypList ); + QListWidgetItem* item = new QListWidgetItem( txt, myAddHypList ); item->setData( Qt::UserRole, QVariant( index )); } } @@ -405,7 +404,7 @@ void SMESHGUI_MeshTab::onCreateHyp() QAction* a = 0; if ( aHypNames[ i ].startsWith( "GROUP:" )) { - aPopup.appendGroupTitle( aHypNames[ i ].mid( 6 )); + aPopup.addGroup( aHypNames[ i ].mid( 6 )); } else { diff --git a/src/SMESHGUI/SMESHGUI_MeshDlg.h b/src/SMESHGUI/SMESHGUI_MeshDlg.h index afc499f34..b1b8751d7 100644 --- a/src/SMESHGUI/SMESHGUI_MeshDlg.h +++ b/src/SMESHGUI/SMESHGUI_MeshDlg.h @@ -44,6 +44,7 @@ class QListWidget; class QMenu; class QTabWidget; class QToolButton; +class QtxToolButton; /*! * \brief Dialog for mech creation or editing @@ -155,14 +156,13 @@ private: QMap myAvailableHypTypes; - QMap myHypCombo; + QMap myHypCombo; QMap myCreateHypBtn; QMap myEditHypBtn; QToolButton* myMoreAddHypBtn; QToolButton* myLessAddHypBtn; QListWidget* myAddHypList; // 2-nd, etc. additional hyps - }; #endif // SMESHGUI_MESHDLG_H