Example #1
0
        private ConnectionLine TryPickingConnectionLineForSplitting()
        {
            var numConnectedInputs = Inputs.Count(input => input.Connections.Any());

            ConnectionLine connectionToHighlight = null;

            if (numConnectedInputs == 0)
            {
                var mousePos   = Mouse.GetPosition(CV.XCompositionGraphView.XOperatorCanvas);
                var hitResults = UIHelper.HitTestFor <Path>(CV.XCompositionGraphView.XOperatorCanvas, mousePos, 3.0);
                foreach (var r in hitResults)
                {
                    foreach (UIElement child in CV.XCompositionGraphView.XOperatorCanvas.Children)
                    {
                        var cl = child as ConnectionLine;
                        if (cl != null && cl.ConnectionPath == r.VisualHit as Path)
                        {
                            if (cl.Output.Parent != Operator)
                            {
                                connectionToHighlight = cl;
                            }
                        }
                    }
                }
            }
            return(connectionToHighlight);
        }