Exemplo n.º 1
0
 public ChangedEventArgs FindBeforeChangingEdit()
 {
     if (!this.IsBeforeChanging)
     {
         DiagramDocument document1 = this.Document;
         if (document1 == null)
         {
             return(null);
         }
         DiagramUndoManager manager1 = document1.UndoManager;
         if (manager1 == null)
         {
             return(null);
         }
         UndoManagerCompoundEdit edit1 = manager1.CurrentEdit;
         if (edit1 == null)
         {
             return(null);
         }
         IList list1 = edit1.AllEdits;
         for (int num1 = list1.Count - 1; num1 >= 0; num1--)
         {
             ChangedEventArgs args1 = list1[num1] as ChangedEventArgs;
             if ((((args1 != null) && args1.IsBeforeChanging) && ((args1.Document == this.Document) && (args1.Hint == this.Hint))) && ((args1.SubHint == this.SubHint) && (args1.Object == this.Object)))
             {
                 return(args1);
             }
         }
     }
     return(null);
 }
Exemplo n.º 2
0
 public virtual void DocumentChanged(object sender, ChangedEventArgs e)
 {
     if ((!this.IsUndoing && !this.IsRedoing) && !this.SkipEvent(e))
     {
         UndoManagerCompoundEdit edit1 = this.CurrentEdit;
         if (edit1 == null)
         {
             edit1            = new UndoManagerCompoundEdit();
             this.CurrentEdit = edit1;
         }
         ChangedEventArgs args1 = new ChangedEventArgs(e);
         edit1.AddEdit(args1);
         if (this.ChecksTransactionLevel && (this.TransactionLevel <= 0))
         {
             Shapes.DiagramShape.Trace("Change not within a transaction: " + args1.ToString());
         }
     }
 }
Exemplo n.º 3
0
        public virtual bool EndTransaction(bool commit, string pname)
        {
            if (this.myLevel > 0)
            {
                this.myLevel--;
            }
            UndoManagerCompoundEdit edit1 = this.CurrentEdit;

            if ((this.myLevel == 0) && (edit1 != null))
            {
                if (commit)
                {
                    edit1.IsComplete = true;
                    if (edit1.AllEdits.Count > 0)
                    {
                        if (pname != null)
                        {
                            edit1.PresentationName = pname;
                        }
                        for (int num1 = this.myCompEdits.Count - 1; num1 > this.myCurrentEditIndex; num1--)
                        {
                            IUndoableEdit edit2 = (IUndoableEdit)this.myCompEdits[num1];
                            edit2.Clear();
                            this.myCompEdits.RemoveAt(num1);
                        }
                        if ((this.MaximumEditCount > 0) && (this.myCompEdits.Count >= this.MaximumEditCount))
                        {
                            IUndoableEdit edit3 = (IUndoableEdit)this.myCompEdits[0];
                            edit3.Clear();
                            this.myCompEdits.RemoveAt(0);
                            this.myCurrentEditIndex--;
                        }
                        this.myCompEdits.Add(edit1);
                        this.myCurrentEditIndex++;
                    }
                    this.CurrentEdit = null;
                    return(true);
                }
                edit1.Clear();
                this.CurrentEdit = null;
            }
            return(false);
        }
Exemplo n.º 4
0
 public virtual void DocumentChanged(object sender, ChangedEventArgs e)
 {
     if ((!this.IsUndoing && !this.IsRedoing) && !this.SkipEvent(e))
     {
         UndoManagerCompoundEdit edit1 = this.CurrentEdit;
         if (edit1 == null)
         {
             edit1 = new UndoManagerCompoundEdit();
             this.CurrentEdit = edit1;
         }
         ChangedEventArgs args1 = new ChangedEventArgs(e);
         edit1.AddEdit(args1);
         if (this.ChecksTransactionLevel && (this.TransactionLevel <= 0))
         {
             Shapes.DiagramShape.Trace("Change not within a transaction: " + args1.ToString());
         }
     }
 }