TUM.CMS.VplControl.Core.VplControl.HandleMouseUp C# (CSharp) Method

HandleMouseUp() protected method

protected HandleMouseUp ( object sender, System.Windows.Input.MouseButtonEventArgs e ) : void
sender object
e System.Windows.Input.MouseButtonEventArgs
return void
        protected override void HandleMouseUp(object sender, MouseButtonEventArgs e)
        {
            switch (mouseMode)
            {
                case MouseMode.Nothing:

                    var mouseUpOnNode = false;

                    foreach (var node in NodeCollection)
                    {
                        if (VisualTreeHelper.HitTest(node.Border, e.GetPosition(node)) != null)
                            mouseUpOnNode = true;
                    }

                    // if mouse up in empty space unselect all nodes
                    if (!mouseUpOnNode && e.ChangedButton != MouseButton.Right)
                    {
                        UnselectAllElements();
                    }
                    break;

                case MouseMode.Panning:

                    ShowElementsAfterTransformation();

                    Cursor = Cursors.Arrow;
                    mouseMode = MouseMode.Nothing;

                    break;

                case MouseMode.PreSelectionRectangle:
                    UnselectAllElements();
                    mouseMode = MouseMode.Nothing;
                    break;
                case MouseMode.SelectionRectangle:
                    Children.Remove(selectionRectangle);
                    selectionRectangle = null;

                    mouseMode = SelectedNodes.Count > 0 ? MouseMode.Selection : MouseMode.Nothing;

                    break;
            }
        }