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();
}