Example #1
0
        private GoLink DrawEdge(GoNodeWrapper nodeWrapper, GoView myView, InstructionNode backNode, GoLayer layer, Pen pen)
        {
            GoLink link            = new GoLink();
            var    backNodeWrapper = GetNodeWrapper(backNode);

            link.Pen    = pen;
            link.ToPort = nodeWrapper.Node.LeftPort;
            if (backNodeWrapper.Node == nodeWrapper.Node)
            {
                link.FromPort = backNodeWrapper.Node.RightPort;
                link.Style    = GoStrokeStyle.Bezier;
                link.CalculateRoute();
                foreach (int index in new[] { 1, 2 })
                {
                    link.SetPoint(index, new PointF(link.GetPoint(index).X, link.GetPoint(index).Y - 40));
                }
            }
            else
            {
                link.FromPort = backNodeWrapper.Node.RightPort;
            }
            layer.Add(link);
            link.PenWidth = 3;
            return(link);
        }
Example #2
0
 private void DrawFlowLinks(GoNodeWrapper nodeWrapper, GoView myView)
 {
     foreach (InstructionNode wrapper in nodeWrapper.InstructionNode.ProgramFlowForwardRoutes)
     {
         Color  randomColor;
         GoLink link = new GoLink();
         link.FromArrow = true;
         link.ToPort    = nodeWrapper.Node.RightPort;
         link.Pen       = new Pen(link.Pen.Brush)
         {
             DashStyle = DashStyle.Dash
         };
         link.PenWidth   = 1;
         link.Style      = GoStrokeStyle.RoundedLineWithJumpGaps;
         link.BrushStyle = GoBrushStyle.EllipseGradient;
         var backNode = GetNodeWrapper(wrapper);
         link.FromPort = backNode.Node.LeftPort;
         myView.Document.Add(link);
         randomColor   = Color.Black;
         link.PenColor = randomColor;
     }
 }