From: nds Date: Thu, 21 Nov 2013 06:58:52 +0000 (+0000) Subject: Remove functionality by popup menu and the keyboard button "Delete". X-Git-Tag: BR_hydro_v_0_3_1~30 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=db854002cff78b7b6eb6340b70990e5a6ddf56bf;p=modules%2Fhydro.git Remove functionality by popup menu and the keyboard button "Delete". --- diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.cxx b/src/HYDROCurveCreator/CurveCreator_Widget.cxx index 73ffd42b..3cf3975e 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.cxx +++ b/src/HYDROCurveCreator/CurveCreator_Widget.cxx @@ -294,7 +294,7 @@ void CurveCreator_Widget::onSelectionChanged() QList anEnabledAct; if( myCurve ){ anEnabledAct << NEW_SECTION_ID << MODIFICATION_MODE_ID; - if ( getActionMode() == ModificationMode ) + if ( removeEnabled() ) anEnabledAct << REMOVE_ID; QList aSelSections = mySectionView->getSelectedSections(); QList< QPair< int, int > > aSelPoints = mySectionView->getSelectedPoints(); @@ -309,7 +309,6 @@ void CurveCreator_Widget::onSelectionChanged() }*/ if( aSelSections.size() == 1 ){ anEnabledAct << ADDITION_MODE_ID << DETECTION_MODE_ID; - anEnabledAct << REMOVE_ID; } switch ( getActionMode() ) { case AdditionMode: { @@ -828,6 +827,30 @@ QList< QPair< int, int > > CurveCreator_Widget::getSelectedPoints() return mySectionView->getSelectedPoints(); } +/** + * According to the widget state, performs the remove action + */ +void CurveCreator_Widget::removeSelected() +{ + onRemove(); +} + +/** + * Checks whether there are some selection to be removed + */ +bool CurveCreator_Widget::removeEnabled() +{ + bool isEnabled = getActionMode() == ModificationMode; + if ( !isEnabled ) { + QList aSelSections = mySectionView->getSelectedSections(); + CurveCreator_TreeView::SelectionType aSelType = mySectionView->getSelectionType(); + isEnabled = aSelType == CurveCreator_TreeView::ST_SECTIONS && + aSelSections.size() == 1; + } + return isEnabled; +} + + //================================================================================= // function : GeometryGUI::onGetCoordsByClick() // purpose : Manage mouse press events in Additon mode diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.h b/src/HYDROCurveCreator/CurveCreator_Widget.h index 03cfd094..225e864d 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.h +++ b/src/HYDROCurveCreator/CurveCreator_Widget.h @@ -65,6 +65,9 @@ public: QList getSelectedSections(); QList< QPair< int, int > > getSelectedPoints(); + void removeSelected(); + bool removeEnabled(); + signals: void selectionChanged(); void subOperationStarted( QWidget* );