コード例 #1
0
        public void DeleteItem(int number)
        {
            var postion = number - 1;

            if (postion < 0 || postion >= _itemsCollection.Count)
            {
                return;
            }
            var item = _itemsCollection[postion];

            postion = postion - 1;
            if (postion >= 0 && postion < _itemsCollection.Count)
            {
                var previousItem = _itemsCollection[postion];
                previousItem.Focus();
                pnMain.ScrollControlIntoView(previousItem);
            }
            pnMain.Controls.Remove(item);
            _itemsCollection.Remove(item);
            _itemsCollection.Sort((x, y) => x.ItemNumber.CompareTo(y.ItemNumber));
            item.Dispose();
            RefreshItems();

            UpdateItemsNumbers();
            pnMain.Focus();
            ItemCollectionChanged?.Invoke(this, EventArgs.Empty);
        }
コード例 #2
0
 public void RemoveItem(Item item, bool cleanupTags = false)
 {
     All.Remove(item);
     UnlinkItemTags(item, item.Tags, cleanupTags);
     ItemCollectionChanged?.Invoke(this,
                                   new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new[] { item }));
 }
コード例 #3
0
 public void AddItem(Item item)
 {
     LinkItemTags(item, item.Tags);
     All.Add(item);
     ItemCollectionChanged?.Invoke(this,
                                   new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new[] { item }));
 }
コード例 #4
0
 public void Clear()
 {
     Dict.Clear();
     All.Clear();
     ItemCollectionChanged?.Invoke(this,
                                   new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
 }
コード例 #5
0
        public void AddItem()
        {
            var item = new SimpleSummaryItemControl(this);

            item.ItemNumber = _itemsCollection.Count() + 1;
            item.Changed   += OnItemChanged;
            _itemsCollection.Add(item);
            pnMain.Controls.Add(item);
            RefreshItems();
            pnMain.ScrollControlIntoView(item);
            ItemCollectionChanged?.Invoke(this, EventArgs.Empty);
        }
コード例 #6
0
 public void ModifyItem(Item key, Action <Item> changeMethod)
 {
     if (All.TryGetValue(key, out var actual))
     {
         All.Remove(actual);
         ItemCollectionChanged.Invoke(this,
                                      new NotifyCollectionChangedEventArgs(
                                          NotifyCollectionChangedAction.Remove,
                                          actual));
         changeMethod(actual);
         All.Add(actual);
         ItemCollectionChanged.Invoke(this,
                                      new NotifyCollectionChangedEventArgs(
                                          NotifyCollectionChangedAction.Add,
                                          actual));
     }
 }
コード例 #7
0
        public void DownItem(int number)
        {
            var postion = number - 1;

            if (postion < 0 || postion >= _itemsCollection.Count - 1)
            {
                return;
            }
            var currentItem = _itemsCollection[postion];
            var lowerItem   = _itemsCollection[postion + 1];
            var ideaNumber  = lowerItem.ItemNumber;

            lowerItem.ItemNumber   = currentItem.ItemNumber;
            currentItem.ItemNumber = ideaNumber;
            _itemsCollection.Sort((x, y) => x.ItemNumber.CompareTo(y.ItemNumber));
            RefreshItems();
            pnMain.ScrollControlIntoView(currentItem);
            ItemCollectionChanged?.Invoke(this, EventArgs.Empty);
        }
コード例 #8
0
 private void OnItemChanged(object sender, EventArgs e)
 {
     ItemCollectionChanged?.Invoke(this, EventArgs.Empty);
 }