From d5698079fe06f4a49eb5a9bfd5b7f31be9655ae6 Mon Sep 17 00:00:00 2001 From: rnc Date: Fri, 2 Mar 2012 10:53:04 +0000 Subject: [PATCH] Allowed selection of subfaces in for extruded boss /cut --- .../OperationGUI_ExtrudedFeatureDlg.cxx | 21 ++++++++++++++++--- .../OperationGUI_ExtrudedFeatureDlg.h | 3 ++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.cxx b/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.cxx index b9f0bb8f4..d537de779 100644 --- a/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.cxx +++ b/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.cxx @@ -203,20 +203,26 @@ bool OperationGUI_ExtrudedFeatureDlg::ClickOnApply() void OperationGUI_ExtrudedFeatureDlg::SetEditCurrentArgument() { QPushButton* send = (QPushButton*)sender(); - + if (send == myGroup->PushButton1) { myEditCurrentArgument = myGroup->LineEdit1; myGroup->PushButton2->setDown(false); myGroup->LineEdit2->setEnabled(false); + + globalSelection(); // close local selection } else if (send == myGroup->PushButton2) { myEditCurrentArgument = myGroup->LineEdit2; myGroup->PushButton1->setDown(false); myGroup->LineEdit1->setEnabled(false); + + globalSelection(); // close local selection to clear it +// localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE ); + localSelection( GEOM::GEOM_Object::_nil(), TopAbs_FACE ); } - + // enable line edit myEditCurrentArgument->setEnabled(true); myEditCurrentArgument->setFocus(); @@ -244,7 +250,7 @@ void OperationGUI_ExtrudedFeatureDlg::SelectionIntoArgument() if (myEditCurrentArgument == myGroup->LineEdit2) { types.clear(); - types << TopAbs_EDGE << TopAbs_WIRE; + types << TopAbs_EDGE << TopAbs_WIRE << TopAbs_FACE; } GEOM::GeomObjPtr aSelectedObject = getSelected( types ); @@ -374,6 +380,15 @@ bool OperationGUI_ExtrudedFeatureDlg::execute (ObjectList& objects) return true; } +//================================================================================= +// function : addSubshapeToStudy +// purpose : virtual method to add new SubObjects if local selection +//================================================================================= +void OperationGUI_ExtrudedFeatureDlg::addSubshapesToStudy() +{ + GEOMBase::PublishSubObject( myObject2.get() ); +} + diff --git a/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.h b/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.h index 052c69020..1cfd028bb 100644 --- a/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.h +++ b/src/OperationGUI/OperationGUI_ExtrudedFeatureDlg.h @@ -60,7 +60,8 @@ protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); virtual bool isValid( QString& ); - virtual bool execute( ObjectList& ); + virtual bool execute( ObjectList& ); + virtual void addSubshapesToStudy(); private: void Init(); -- 2.39.2