+//=================================================================================
+// function : removeLastIO()
+// purpose :
+//=================================================================================
+void EntityGUI_3DSketcherDlg::removeLastIOFromPrs(int type)
+{
+ AIS_ListOfInteractive anIOList;
+
+ if (type == TYPE_LENGTH)
+ {
+ myLengthPrs->GetObjects(anIOList);
+ myLengthIORedoList.Prepend(anIOList.First()); // Store last prepended Length IO in redo list
+ myLengthPrs->RemoveFirst(); // Remove it from myLengthPrs
+ }
+ if (type == TYPE_ANGLE)
+ {
+ myAnglePrs->GetObjects(anIOList);
+ myAngleIORedoList.Prepend(anIOList.First()); // Store last prepended Angle IO in redo list
+ myAnglePrs->RemoveFirst(); // Remove it from myAnglePrs
+ }
+}
+
+//=================================================================================
+// function : restoreLastIO()
+// purpose :
+//=================================================================================
+void EntityGUI_3DSketcherDlg::restoreLastIOToPrs(int type)
+{
+ if (type == TYPE_LENGTH)
+ {
+ myLengthPrs->PrependObject(myLengthIORedoList.First()); // Restore last removed IO
+ myLengthIORedoList.RemoveFirst(); // Remove it from redo list
+ }
+ if (type == TYPE_ANGLE)
+ {
+ myAnglePrs->PrependObject(myAngleIORedoList.First()); // Restore last removed IO
+ myAngleIORedoList.RemoveFirst(); // Remove it from redo list
+ }
+}
+