]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix problem with local selection in Create Point Dialog
authordmv <dmv@opencascade.com>
Wed, 19 Nov 2008 13:31:56 +0000 (13:31 +0000)
committerdmv <dmv@opencascade.com>
Wed, 19 Nov 2008 13:31:56 +0000 (13:31 +0000)
src/BasicGUI/BasicGUI_PointDlg.cxx

index 86ad313071f551e1101bc64ce226fb0df8db5663..48d7f92e4706d5512e9beb8b8b5acb378bb993fa 100644 (file)
@@ -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() );