Beispiel #1
0
        public MouseHandleResult HandleMouseDown(int x, int y, MouseButtons button, Keys modifiers)
        {
            MouseHandleResult rrResult = 0;

            int       deltaY;
            IViewNode row = GetRowAndDelta(y, out deltaY);

            if (row is JetListViewNode)
            {
                rrResult = _rowRenderer.HandleMouseDown(row as JetListViewNode, x, deltaY, button, modifiers);
                if ((rrResult & MouseHandleResult.Handled) != 0)
                {
                    return(rrResult);
                }
            }
            else if (row is GroupHeaderNode)
            {
                if (_groupRenderer.HandleMouseDown(row as GroupHeaderNode, x, deltaY, button, modifiers))
                {
                    return(MouseHandleResult.Handled);
                }
            }

            if (button == MouseButtons.Left && row != null)
            {
                MouseHandleResult selResult = _selection.HandleMouseDown(row, modifiers);
                if ((rrResult & MouseHandleResult.MayInPlaceEdit) == 0)
                {
                    selResult = rrResult & ~MouseHandleResult.MayInPlaceEdit;
                }
                return(selResult);
            }
            return(0);
        }