SilverlightMappingToolBasic.UI.SuperGraph.View.NodeControlSupportClasses.NodeControl.NodeControl_KeyUp C# (CSharp) Method

NodeControl_KeyUp() private method

private NodeControl_KeyUp ( object sender, System.Windows.Input.KeyEventArgs e ) : void
sender object
e System.Windows.Input.KeyEventArgs
return void
        private void NodeControl_KeyUp(object sender, KeyEventArgs e)
        {
            e.Handled = true;
            if (App.UserStyle == UserStyle.Reader) return;
            switch (e.Key)
            {
                case Key.Delete:
                    ParentSurface.Selector.DeleteNodes(this);
                    ParentSurface.Focus();
                    break;
                case Key.C:
                    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
                    {
                        if (ParentSurface.Selector.IsMultiSelect)
                        {
                            ParentSurface.Selector.Copy();
                        }
                        else
                        {
                            Copy();
                        }
                    }
                    else if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += 200;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumConNode", location, ViewModelNode);
                    }
                    break;
                case Key.X:
                    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
                    {
                        if (ParentSurface.Selector.IsMultiSelect)
                        {
                            ParentSurface.Selector.Cut();
                        }
                        else
                        {
                            CutNode();
                        }
                    }
                    break;
                case Key.P:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumProNode", location, ViewModelNode);
                    }
                    break;
                case Key.M:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumMapNode", location, ViewModelNode);
                    }
                    break;
                case Key.I:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumIdeaNode", location, ViewModelNode);
                    }
                    break;
                case Key.Q:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumQuestionNode", location, ViewModelNode);
                    }
                    break;
                case Key.N:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumNoteNode", location, ViewModelNode);
                    }
                    break;
                case Key.D:
                    if (!ParentSurface.Selector.IsMultiSelect && (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
                    {
                        var location = Centre;
                        location.X += GlymaParameters.NodeTextWidth + GlymaParameters.Margin * 2;
                        IoC.GetInstance<ISuperGraphNodeFactory>().AddLinkedNode("CompendiumDecisionNode", location, ViewModelNode);
                    }
                    break;
            }
        }