コード例 #1
0
 /// <summary>
 /// Efface la mémoire des actions effectuées.
 /// </summary>
 /// <remarks>
 /// Attention ne doit pas être appelé à l'intérieur d'un couple
 /// <see cref="StartRecording"/> <see cref="EndRecording"/> ou d'un couple
 /// <see cref="DisableUndoRegistration"/> <see cref="EnableUndoRegistration"/>.
 /// </remarks>
 public static void Clear()
 {
     logger.ConditionalTrace("Clear");
     undoStack.Clear();
     redoStack.Clear();
     actList            = null;
     recDepth           = 0;
     disableRegistering = 0;
     undoing            = false;
     redoing            = false;
 }
コード例 #2
0
 /// <summary>
 /// Les actions qui seront enregistrées jusqu'à l'appel de <see cref="EndRecording"/>
 /// seront regroupées dans une seule action qui pourra être annulée en une fois.
 /// </summary>
 /// <remarks>Attention à ce que le couple <see cref="StartRecording"/>
 /// <see cref="EndRecording"/> se trouve à l'intérieur d'un couple
 /// <see cref="DisableUndoRegistration"/> <see cref="EnableUndoRegistration"/></remarks>
 /// <param name="name">Le nom de l'action groupée.</param>
 public static void StartRecording(string name)
 {
     logger.ConditionalTrace("StartRecording {0}, undoing: {1}, disableRegistering: {2}",
                             name, undoing, disableRegistering);
     logger.ConditionalTrace("    recDepth on entry: {0}", recDepth);
     if (!undoing && disableRegistering == 0)
     {
         if (actList != null)
         {
             recDepth++;
             logger.ConditionalTrace("    recDepth incremented to {0}", recDepth);
         }
         else
         {
             actList = new CLActionList(name);
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// Termine l'enregistrement d'une liste d'actions. Le pendant à
 /// <see cref="StartRecording"/>.
 /// </summary>
 public static void EndRecording()
 {
     logger.ConditionalTrace("EndRecording depth: {0} undoing: {1}, disableRegistering: {2}",
                             recDepth, undoing, disableRegistering);
     if (!undoing && disableRegistering == 0)
     {
         if (actList != null)
         {
             if (recDepth > 0)
             {
                 recDepth--;
             }
             else
             {
                 PushUndoAct(actList);
                 actList = null;
             }
         }
         else
         {
             throw new InvalidOperationException("EndRecording alors qu'il semble ne pas y avoir eu de Start correspondant.");
         }
     }
 }