TUM.CMS.VplControl.Core.VplGroupControl.MoveNodeContentFromNodeToPanel C# (CSharp) Method

MoveNodeContentFromNodeToPanel() private method

private MoveNodeContentFromNodeToPanel ( string side ) : void
side string
return void
        private void MoveNodeContentFromNodeToPanel(string side)
        {
            foreach (var node in VplControl.SelectedNodes)
            {
                if ((node.InputPorts.Count == 0 && side == "left") || (node.OutputPorts.Count == 0 && side == "right"))
                {
                    var nodeContent = node.ContentGrid;
                    node.Children.Remove(nodeContent);

                    if (side == "left")
                    {
                        InputControl.Children.Add(nodeContent);

                        foreach (var port in node.OutputPorts)
                        {
                            node.SizeChanged -= port.ParentNode_SizeChanged;
                            node.PropertyChanged -= port.ParentNode_PropertyChanged;

                            InputControl.SizeChanged += port.ParentNode_SizeChanged;

                            port.CalcOrigin();
                        }
                    }
                    else if (side == "right")
                    {
                        OutputControl.Children.Add(nodeContent);

                        foreach (var port in node.InputPorts)
                        {
                            node.SizeChanged -= port.ParentNode_SizeChanged;
                            node.PropertyChanged -= port.ParentNode_PropertyChanged;

                            OutputControl.SizeChanged += port.ParentNode_SizeChanged;

                            port.CalcOrigin();
                        }
                    }

                    node.Delete(false);
                }
            }

            DeselectAllNodes();
        }