Ejemplo n.º 1
0
        protected override void OnMouseMoved(float x, float y)
        {
            var row = ListRowLocator.GetRow(
                GetAbsoluteBounds(),
                Slider.ThumbPosition,
                Items.Count,
                y
                );

            if (row < 0 || row >= Items.Count)
            {
                if (_hover != -1)
                {
                    _hover = -1;
                    HoverCleared.Invoke();
                }
                return;
            }

            var newHover = row;

            if (_hover != newHover)
            {
                _hover = newHover;
                HoverChange.Invoke(row);
            }

            base.OnMouseMoved(x, y);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Select item beneath the mouse, if any
        /// </summary>
        /// <param name="x">Mouse X position</param>
        /// <param name="y">Mouse Y position</param>
        protected override void OnMouseMoved(float x, float y)
        {
            _mouseY = y;

            if (ListRowLocator != null)
            {
                try
                {
                    int row = ListRowLocator.GetRow(GetAbsoluteBounds(), 0, Items.Count, _mouseY);

                    if (row >= 0 && row < Items.Count)
                    {
                        SelectedItems.Clear();
                        SelectedItems.Add(row);
                    }
                    else
                    {
                        SelectedItems.Clear();
                    }
                }
                catch (InvalidOperationException e)
                {
                }
            }
        }
Ejemplo n.º 3
0
        protected override void OnMouseReleased(MouseButtons button)
        {
            if (button != MouseButtons.Left)
            {
                return;
            }

            if (ListRowLocator != null)
            {
                int row = ListRowLocator.GetRow(GetAbsoluteBounds(), 0, Items.Count, _mouseY);
                if (row >= 0 && row < Items.Count)
                {
                    OnRowClicked(row);
                }
            }
        }