Beispiel #1
0
        //----------------------------------------------------------------------
        protected internal override bool OnMouseDown(Point _hitPoint, int _iButton)
        {
            if (_iButton != Screen.Game.InputMgr.PrimaryMouseButton)
            {
                return(false);
            }

            mHoverPoint = _hitPoint;

            if (mHoveredActionButton != null)
            {
                mHoveredActionButton.OnActivateDown();
                mbIsHoveredActionButtonDown = true;
            }
            else
            {
                mbIsMouseDown   = true;
                mMouseDownPoint = new Point(_hitPoint.X, _hitPoint.Y + (int)Scrollbar.LerpOffset);

                Screen.Focus(this);

                int iFocusedRowIndex = Math.Max(0, (_hitPoint.Y - (LayoutRect.Y + Padding.Top + (DisplayColumnHeaders ? Style.RowHeight : 0)) + (int)Scrollbar.LerpOffset) / (Style.RowHeight + Style.RowSpacing));

                if (iFocusedRowIndex > Rows.Count - 1)
                {
                    iFocusedRowIndex = -1;
                }

                FocusedRow = (iFocusedRowIndex != -1) ? Rows[iFocusedRowIndex] : null;
            }

            return(true);
        }