Ejemplo n.º 1
0
 // METHOD:: Remove persisted items no longer needed
 private void RemoveItems(int item)
 {
     if (SelectedIndexes.ContainsKey(item))
     {
         SelectedIndexes.Remove(item);
     }
 }
    protected override void OnMouseUp(MouseEventArgs e)
    {
        int Selection = GetSelectedFromLocation(e.Location);

        if (Selection == -1 || !(e.Button == MouseButtons.Left))
        {
            return;
        }

        if (Multiselect && IsControlDown())
        {
            if (!SelectedIndexes.Contains(Selection))
            {
                SelectedIndexes.Add(Selection);
            }
            else
            {
                SelectedIndexes.Remove(Selection);
            }
        }
        else if (Multiselect && !IsControlDown())
        {
            SelectedIndexes = new List <int>()
            {
                Selection
            }
        }
        ;
        else
        {
            SelectedIndexes = new List <int>()
            {
                Selection
            };
            SelectedIndex = Selection;
        }

        if (Selection == -1)
        {
            SelectedIndexes = new List <int>();
        }

        Invalidate();

        SelectedIndexChanged?.Invoke(this, Selection);
        base.OnMouseUp(e);
    }
Ejemplo n.º 3
0
        public override bool OnMouseDown(DxWindow window, DxControl ctl, MouseEventArgs args, SharpDX.Point pt)
        {
            if (!IntersectTest(pt.X, pt.Y) || !IsMouseOver)
            {
                if (Active)
                {
                    TopMost = false;
                    window.DrawOnTopList.Remove(this);
                }

                Active = false;
                return(false);
            }


            var oldActive = Active;

            if (pt.X >= Rect.X && pt.X <= Rect.X + Rect.Width && pt.Y >= Rect.Y && pt.Y <= Rect.Y + 21)
            {
                Active = !Active;
            }


            if (Active)
            {
                if (oldActive == false)
                {
                    _currentPosition = 0;
                }

                if (_currentHighlightItem != -1)
                {
                    if (MultiSelect)
                    {
                        if (SelectedIndexes.Contains(_currentHighlightItem + _currentPosition))
                        {
                            SelectedIndexes.Remove(_currentHighlightItem + _currentPosition);
                        }
                        else
                        {
                            SelectedIndexes.Add(_currentHighlightItem + _currentPosition);
                        }
                    }
                    else
                    {
                        SelectedIndexes.Clear();
                        SelectedIndexes.Add(_currentHighlightItem + _currentPosition);
                    }
                }

                if (!MultiSelect)
                {
                    if (oldActive)
                    {
                        Active = false;
                    }
                }
            }

            TopMost = Active;

            if (Active && !oldActive)
            {
                window.DrawOnTopList.Add(this);
            }
            else if (!Active && oldActive)
            {
                window.DrawOnTopList.Remove(this);
            }


            return(true);
        }
Ejemplo n.º 4
0
 // METHOD:: Remove persisted items no longer needed
 private void RemoveItems(int item)
 {
     SelectedIndexes.Remove(item);
 }
Ejemplo n.º 5
0
 public void RemoveSelection(int tileId)
 {
     SelectedIndexes.Remove(tileId);
 }