From: dmv Date: Wed, 19 Nov 2008 13:31:56 +0000 (+0000) Subject: Fix problem with local selection in Create Point Dialog X-Git-Tag: V4_1_4rc2~21 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9dd38eb01ab5852dd96f8671db7bd00bb71ed717;p=modules%2Fgeom.git Fix problem with local selection in Create Point Dialog --- diff --git a/src/BasicGUI/BasicGUI_PointDlg.cxx b/src/BasicGUI/BasicGUI_PointDlg.cxx index 86ad31307..48d7f92e4 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.cxx +++ b/src/BasicGUI/BasicGUI_PointDlg.cxx @@ -417,11 +417,10 @@ void BasicGUI_PointDlg::SelectionIntoArgument() if (!CORBA::is_nil(aSelectedObject) && aRes) { QString aName = GEOMBase::GetName(aSelectedObject); - + TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX; TopoDS_Shape aShape; if (GEOMBase::GetShape(aSelectedObject, aShape, TopAbs_SHAPE) && !aShape.IsNull()) { - TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX; if (id == 2 || id == 3) aNeedType = TopAbs_EDGE; if(id == 4) @@ -447,6 +446,7 @@ void BasicGUI_PointDlg::SelectionIntoArgument() } else aSelectedObject = aFindedObject; // get Object from study + GEOMBase::GetShape(aSelectedObject, aShape, TopAbs_SHAPE); } else // Global Selection { @@ -460,7 +460,8 @@ void BasicGUI_PointDlg::SelectionIntoArgument() if (id == 0) { - if (aShape.IsNull()) return; + if (aShape.IsNull() || aShape.ShapeType() != aNeedType) + return; gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) ); GroupXYZ->SpinBox_DX->SetValue( aPnt.X() ); GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() );