Beispiel #1
0
        internal void DeleteItem(LabelItem item)
        {
            CancelEdit();
            RemoveUndoItem uitem = new RemoveUndoItem(item, mLabelItems.IndexOf(item));

            AddUndoItem(uitem);
            uitem.Redo(LabelItems);
        }
Beispiel #2
0
        public void AddItem(string text)
        {
            CancelEdit();
            var item = new LabelItem(this, text);

            mLabelItems.Add(item);
            AddUndoItem(new AddUndoItem(item, LabelItems.IndexOf(item)));
        }
Beispiel #3
0
        void Item_IsEditingChanged(object sender, PropertyChangedEventArgs e)
        {
            if (mCancelItem != sender || mCancelItem.IsEditing)
            {
                return;
            }

            mCancelItem.UnregisterHandler("IsEditing", Item_IsEditingChanged);
            mCancelItem = null;
        }
Beispiel #4
0
        public void EditItem(LabelItem item)
        {
            CancelEdit();

            mCancelItem = item;

            mCancelItem.StartEdit((oname, nname) => AddUndoItem(new EditUndoItem(item, oname, nname)));

            mCancelItem.RegisterHandler("IsEditing", Item_IsEditingChanged);
        }
Beispiel #5
0
 public EditUndoItem(LabelItem item, string old_text, string new_text)
 {
     Item    = item;
     OldText = old_text;
     NewText = new_text;
 }
Beispiel #6
0
 public RemoveUndoItem(LabelItem item, int index)
     : base(item, index)
 {
 }
Beispiel #7
0
 public AddUndoItem(LabelItem item, int index)
     : base(item, index)
 {
 }
Beispiel #8
0
 public AddRemoveUndoItem(LabelItem item, int index)
 {
     IndexHint = index;
     Item      = item;
 }