+//=================================================================================
+// function : ValueChangedInSpinBox()
+// purpose : On change value in spin box
+//=================================================================================
+void RepairGUI_DivideEdgeDlg::ValueChangedInSpinBox()
+{
+ displayPreview();
+}
+
+//=================================================================================
+// function : displayPreview()
+// purpose : On display Preview
+//=================================================================================
+void RepairGUI_DivideEdgeDlg::displayPreview()
+{
+ erasePreview();
+ if ( myObject->_is_nil() )
+ return;
+
+ TopoDS_Shape aShape;
+ gp_Pnt aPnt;
+ GEOMBase::GetShape( myObject, aShape, TopAbs_SHAPE );
+
+ if ( myIndex != -1) {
+ TopTools_IndexedMapOfShape aShapes;
+ TopExp::MapShapes(aShape, aShapes);
+ aShape = aShapes.FindKey(myIndex);
+ }
+
+ if (aShape.ShapeType() == TopAbs_EDGE) {
+ Standard_Real aFP, aLP, aP;
+ Handle(Geom_Curve) aCurve = BRep_Tool::Curve(TopoDS::Edge(aShape), aFP, aLP);
+ aP = aFP + (aLP - aFP) * myValEdt->value();
+ aPnt = aCurve->Value(aP);
+ BRepBuilderAPI_MakeVertex mkVertex (aPnt);
+ aShape = mkVertex.Shape();
+ // Build prs
+ SALOME_Prs* aPrs = getDisplayer()->BuildPrs( aShape );
+ if ( aPrs != 0 && !aPrs->IsNull() )
+ GEOMBase_Helper::displayPreview( aPrs, false, true );
+ }
+}