internal void DeleteItem(LabelItem item) { CancelEdit(); RemoveUndoItem uitem = new RemoveUndoItem(item, mLabelItems.IndexOf(item)); AddUndoItem(uitem); uitem.Redo(LabelItems); }
public void AddItem(string text) { CancelEdit(); var item = new LabelItem(this, text); mLabelItems.Add(item); AddUndoItem(new AddUndoItem(item, LabelItems.IndexOf(item))); }
void Item_IsEditingChanged(object sender, PropertyChangedEventArgs e) { if (mCancelItem != sender || mCancelItem.IsEditing) { return; } mCancelItem.UnregisterHandler("IsEditing", Item_IsEditingChanged); mCancelItem = null; }
public void EditItem(LabelItem item) { CancelEdit(); mCancelItem = item; mCancelItem.StartEdit((oname, nname) => AddUndoItem(new EditUndoItem(item, oname, nname))); mCancelItem.RegisterHandler("IsEditing", Item_IsEditingChanged); }
public EditUndoItem(LabelItem item, string old_text, string new_text) { Item = item; OldText = old_text; NewText = new_text; }
public RemoveUndoItem(LabelItem item, int index) : base(item, index) { }
public AddUndoItem(LabelItem item, int index) : base(item, index) { }
public AddRemoveUndoItem(LabelItem item, int index) { IndexHint = index; Item = item; }