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); }
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()); } } }
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); }
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()); } } }