Correct implementation of maximum subshapes limiter

This commit is contained in:
dmv 2009-11-13 11:42:28 +00:00
parent a59868a798
commit 0bc45464bc

View File

@ -82,7 +82,8 @@
StdMeshersGUI_SubShapeSelectorWdg StdMeshersGUI_SubShapeSelectorWdg
::StdMeshersGUI_SubShapeSelectorWdg( QWidget * parent ): ::StdMeshersGUI_SubShapeSelectorWdg( QWidget * parent ):
QWidget( parent ), QWidget( parent ),
myPreviewActor( 0 ) myPreviewActor( 0 ),
myMaxSize( 0 )
{ {
QPixmap image0( SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap( "SMESH", tr( "ICON_SELECT" ) ) ); QPixmap image0( SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap( "SMESH", tr( "ICON_SELECT" ) ) );
@ -105,7 +106,6 @@ StdMeshersGUI_SubShapeSelectorWdg
setLayout( edgesLayout ); setLayout( edgesLayout );
setMinimumWidth( 300 ); setMinimumWidth( 300 );
myMaxSize = 1000;
mySubShType = TopAbs_EDGE; mySubShType = TopAbs_EDGE;
init(); init();
@ -270,7 +270,7 @@ void StdMeshersGUI_SubShapeSelectorWdg::onAdd()
return; return;
myListWidget->blockSignals( true ); myListWidget->blockSignals( true );
for (int i = 0; i < mySelectedIDs.size(); i++) { for (int i = 0; i < mySelectedIDs.size() && (myMaxSize < 1 || myListOfIDs.size() < myMaxSize); i++) {
if ( myListOfIDs.indexOf( mySelectedIDs.at(i) ) == -1 ) { if ( myListOfIDs.indexOf( mySelectedIDs.at(i) ) == -1 ) {
QString anID = QString(" %1").arg( mySelectedIDs.at(i) ); QString anID = QString(" %1").arg( mySelectedIDs.at(i) );
@ -281,11 +281,8 @@ void StdMeshersGUI_SubShapeSelectorWdg::onAdd()
} }
} }
onListSelectionChanged(); onListSelectionChanged();
myListWidget->blockSignals( false ); myListWidget->blockSignals( false );
myAddButton->setEnabled( myListOfIDs.size() < myMaxSize );
if( myListOfIDs.size() >= myMaxSize )
myAddButton->setEnabled( false );
} }
//================================================================================= //=================================================================================