private bool CanRepositionEvent(int startIndex, ComponentChangedEventArgs e) { bool flag = false; bool flag2 = false; bool flag3 = false; for (int i = startIndex + 1; i < this._events.Count; i++) { AddRemoveUndoEvent event2 = this._events[i] as AddRemoveUndoEvent; RenameUndoEvent event3 = this._events[i] as RenameUndoEvent; ChangeUndoEvent event4 = this._events[i] as ChangeUndoEvent; if ((event2 != null) && !event2.NextUndoAdds) { flag = true; } else if ((event4 != null) && ChangeEventsSymmetric(event4.ComponentChangingEventArgs, e)) { flag3 = true; } else if (event3 != null) { flag2 = true; } } return((flag && !flag2) && !flag3); }
public virtual void ComponentChanging(ComponentChangingEventArgs e) { if ((this._ignoreAddingList == null) || !this._ignoreAddingList.Contains(e.Component)) { if (this._changeEvents == null) { this._changeEvents = new ArrayList(); } if ((this._engine != null) && (this._engine.GetName(e.Component, false) != null)) { IComponent component = e.Component as IComponent; bool flag = false; for (int i = 0; i < this._changeEvents.Count; i++) { ChangeUndoEvent event2 = (ChangeUndoEvent)this._changeEvents[i]; if ((event2.OpenComponent == e.Component) && event2.ContainsChange(e.Member)) { flag = true; break; } } if (!flag || (((e.Member != null) && (e.Member.Attributes != null)) && e.Member.Attributes.Contains(DesignerSerializationVisibilityAttribute.Content))) { ChangeUndoEvent event3 = null; bool serializeBeforeState = true; if ((this._ignoreAddedList != null) && this._ignoreAddedList.Contains(e.Component)) { serializeBeforeState = false; } if ((component != null) && (component.Site != null)) { event3 = new ChangeUndoEvent(this._engine, e, serializeBeforeState); } else if (e.Component != null) { IReferenceService service = this.GetService(typeof(IReferenceService)) as IReferenceService; if (service != null) { IComponent component2 = service.GetComponent(e.Component); if (component2 != null) { event3 = new ChangeUndoEvent(this._engine, new ComponentChangingEventArgs(component2, null), serializeBeforeState); } } } if (event3 != null) { this.AddEvent(event3); this._changeEvents.Add(event3); } } } } }
public virtual void ComponentChanged(ComponentChangedEventArgs e) { if ((this._events != null) && (e != null)) { for (int i = 0; i < this._events.Count; i++) { ChangeUndoEvent event2 = this._events[i] as ChangeUndoEvent; if ((((event2 != null) && ChangeEventsSymmetric(event2.ComponentChangingEventArgs, e)) && ((i != (this._events.Count - 1)) && (e.Member != null))) && (e.Member.Attributes.Contains(DesignerSerializationVisibilityAttribute.Content) && this.CanRepositionEvent(i, e))) { this._events.RemoveAt(i); this._events.Add(event2); } } } }
public virtual void ComponentRemoved(ComponentEventArgs e) { if ((this._events != null) && (e != null)) { ChangeUndoEvent event2 = null; int index = -1; for (int i = this._events.Count - 1; i >= 0; i--) { AddRemoveUndoEvent event3 = this._events[i] as AddRemoveUndoEvent; if (event2 == null) { event2 = this._events[i] as ChangeUndoEvent; index = i; } if ((event3 != null) && (event3.OpenComponent == e.Component)) { event3.Commit(this._engine); if ((i == (this._events.Count - 1)) || (event2 == null)) { break; } bool flag = true; for (int j = i + 1; j < index; j++) { if (!(this._events[j] is ChangeUndoEvent)) { flag = false; break; } } if (!flag) { break; } this._events.RemoveAt(i); this._events.Insert(index, event3); return; } } } }
public virtual void ComponentChanging(ComponentChangingEventArgs e) { if ((this._ignoreAddingList == null) || !this._ignoreAddingList.Contains(e.Component)) { if (this._changeEvents == null) { this._changeEvents = new ArrayList(); } if ((this._engine != null) && (this._engine.GetName(e.Component, false) != null)) { IComponent component = e.Component as IComponent; bool flag = false; for (int i = 0; i < this._changeEvents.Count; i++) { ChangeUndoEvent event2 = (ChangeUndoEvent) this._changeEvents[i]; if ((event2.OpenComponent == e.Component) && event2.ContainsChange(e.Member)) { flag = true; break; } } if (!flag || (((e.Member != null) && (e.Member.Attributes != null)) && e.Member.Attributes.Contains(DesignerSerializationVisibilityAttribute.Content))) { ChangeUndoEvent event3 = null; bool serializeBeforeState = true; if ((this._ignoreAddedList != null) && this._ignoreAddedList.Contains(e.Component)) { serializeBeforeState = false; } if ((component != null) && (component.Site != null)) { event3 = new ChangeUndoEvent(this._engine, e, serializeBeforeState); } else if (e.Component != null) { IReferenceService service = this.GetService(typeof(IReferenceService)) as IReferenceService; if (service != null) { IComponent component2 = service.GetComponent(e.Component); if (component2 != null) { event3 = new ChangeUndoEvent(this._engine, new ComponentChangingEventArgs(component2, null), serializeBeforeState); } } } if (event3 != null) { this.AddEvent(event3); this._changeEvents.Add(event3); } } } } }