Product : Engine, Version : 5.0.1.1034, ArticleID : 41023798

HowTo : Undo group with CommandAction inside

Article41023798
TypeHowTo
ProductEngine
Version5.0.1.1034
Date Added11/30/2004
Submitted byPanagiotis Panagiotopoulos
Keywords

Subject

Undo group with CommandAction inside

Summary

Undo group with CommandAction inside

Solution

When you have some CommandActions run between the begin-end of an undo group, you have to set disableUndoGroup=true in the beginning and then set it again to false in order to work correct.

   Me.VDPro1.UndoMode = True
   Me.VDPro1.ActiveDocument.New
   Me.VDPro1.ActiveDocument.UndoLimit = 20

   Me.VDPro1.CommandAction.Undo "BEGIN"
   Me.VDPro1.ActiveDocument.Entities.AddLine Array(0, 0, 0), Array(100, 100,0)

   Me.VDPro1.ActiveDocument.Entities.AddCircle Array(50, 50, 0), 10
   Me.VDPro1.ActiveDocument.Entities.AddLine Array(0, 100, 0), Array(100, 0,0)

   Me.VDPro1.ActiveDocument.Entities.AddCircle Array(100, 100, 0), 10
   Me.VDPro1.ActiveDocument.Entities.AddCircle Array(0, 100, 0), 10
   Me.VDPro1.ActiveDocument.Entities.AddCircle Array(0, 0, 0), 10
   Me.VDPro1.ActiveDocument.Entities.AddCircle Array(100, 0, 0), 10

   Me.VDPro1.Actions.DisableUndoGroup = True
   Me.VDPro1.CommandAction.Zoom "E", "USER", "USER"
   Me.VDPro1.CommandAction.Zoom "S", 0.8, "USER"
   Me.VDPro1.CommandAction.Zoom "S", 0.7, "USER"
   Me.VDPro1.CommandAction.Zoom "S", 0.5, "USER"
   Me.VDPro1.CommandAction.CmdLine "USER"
   Me.VDPro1.CommandAction.Zoom "S", 1.2, "USER"
   Me.VDPro1.CommandAction.Zoom "S", 1.5, "USER"
   Me.VDPro1.CommandAction.Zoom "S", 1.5, "USER"
   Me.VDPro1.Actions.DisableUndoGroup = False
   Me.VDPro1.CommandAction.Undo "END"

   Me.VDPro1.Redraw