Example #1
0
        private void tile_AboutToDrag(ProviderTokenTile sender, ProviderTokenTileDragEventArgs e)
        {
            if (!AllowItemDrag)
                return;

            sender.QueryContinueDrag += new QueryContinueDragEventHandler(tile_QueryContinueDrag);
            _internalDrag = true;
            if (AllowDragArrange)
            {
                int index = _flow.Controls.IndexOf(sender);
                _items.RemoveAt(index);
                _flow.Controls.Add(_empty);
                _flow.Controls.SetChildIndex(_empty, index);
                _flow.Controls.Remove(sender);
            }
        }
Example #2
0
 private void _empty_AboutToDrop(ProviderTokenTile sender, ProviderTokenTileDragEventArgs e)
 {
     int index = _flow.Controls.IndexOf(_empty);
     _flow.Controls.Remove(_empty);
     if (index >= 0)
         _items.Insert(index, e.TokenTile.Token.Provider);
     e.Handled = true;
     _internalDrag = false;
 }
Example #3
0
        private void _items_ItemsAdded(IEnumerable<Tuple<int, IEventProvider>> items)
        {
            if (items.Count() > 0 && _flow.Controls.Count == 1 && _flow.Controls.Contains(_empty))
                _flow.Controls.Remove(_empty);

            foreach (var item in items)
            {
                var fresh = item.Item2;
                var tile = new ProviderTokenTile();
                tile.Token = new ProviderToken(fresh, _colorer);
                tile.Width = ItemWidth;
                tile.Height = ItemHeight;
                tile.Margin = new System.Windows.Forms.Padding(0);
                tile.AllowDrag = AllowItemDrag;
                tile.AllowDrop = AllowDragArrange;

                _flow.Controls.Add(tile);
                _flow.Controls.SetChildIndex(tile, item.Item1);

                tile.DragEnter += new DragEventHandler(_view_DragEnter);
                tile.MouseMove += new MouseEventHandler(_view_MouseMove);
                tile.MouseEnter += new EventHandler(_view_MouseEnter);
                tile.MouseLeave += new EventHandler(_view_MouseLeave);
                tile.AboutToDrag += new ProviderTokenTileDragEventHandler(tile_AboutToDrag);
            }

            adjustControls();

            ItemsChanged();
        }