Esempio n. 1
0
        public static void SetActiveElement(IMouseElement element)
        {
            lock (_mouseEventLock)
            {
                if (_activeElement == element)
                {
                    return;
                }

                if (_rightMouseDown)
                {
                    if (_activeElement != null)
                    {
                        _activeElement.OnMouseRightButtonUp(_activeElement, null);
                    }
                }

                if (_leftMouseDown)
                {
                    if (_activeElement != null)
                    {
                        _activeElement.OnMouseLeftButtonUp(_activeElement, null);
                    }
                }

                _activeElement = element;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Called by other controls to let MouseHelpers handle the mouse event instead.
        /// </summary>
        /// <param name="element"></param>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void PreprocessLeftMouseButtonDown(IMouseElement element, object sender, MouseButtonEventArgs e)
        {
            PopupManager.CloseActivePopup();

            lock (_mouseEventLock)
            {
                _leftMouseDown = true;

                if (_activeElement == null || !_activeElement.HasCapture)
                {
                    element.OnMouseLeftButtonDown(sender, e);
                    return;
                }

                _activeElement.OnMouseLeftButtonDown(sender, e);
            }
        }
Esempio n. 3
0
        public static void SetActiveElement(IMouseElement element)
        {
            lock (_mouseEventLock)
            {
                if (_activeElement == element) return;

                if (_rightMouseDown)
                {
                    if (_activeElement != null) _activeElement.OnMouseRightButtonUp(_activeElement, null);
                }

                if (_leftMouseDown)
                {
                    if (_activeElement != null) _activeElement.OnMouseLeftButtonUp(_activeElement, null);
                }

                _activeElement = element;                
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Called by other controls to let MouseHelpers handle the mouse event instead.
        /// </summary>
        /// <param name="element"></param>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void PreprocessRightMouseButtonDown(IMouseElement element, object sender, MouseButtonEventArgs e)
        {
            PopupManager.CloseActivePopup();

            lock (_mouseEventLock)
            {
                _rightMouseDown = true;
                if (_activeElement == null || !_activeElement.HasCapture)
                {
                    element.OnMouseRightButtonDown(sender,e);
                    return;
                }

                    
                _activeElement.OnMouseRightButtonDown(sender,e);
            }
        }