コード例 #1
0
        public static Shape RenderRelationshipVector(Neo4j.Driver.V1.IRelationship Rel, Dataweb.NShape.WinFormsUI.Display Display)
        {
            //Globals
            Project project = Display.Project;
            Diagram diagram = Display.Diagram;
            Design  design  = project.Design;

            Layer layer = diagram.Layers["OVERLAY"];
            //

            //Defaults
            ILineStyle stroke   = design.LineStyles.Green;
            ICapStyle  startCap = design.CapStyles.None;
            ICapStyle  endCap   = design.CapStyles.OpenArrow;
            //


            //Reference Shape
            Shape shapeReference = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(Rel.Id.As <string>(), Display.Project.Design.CapStyles.None), "Polyline", Display);

            return(NShapeHelper.DrawParallelArrow((Polyline)shapeReference, Rel, Display, project, stroke, layer));
        }
コード例 #2
0
        public static Shape RenderRelationship(Neo4j.Driver.V1.IRelationship Rel, Dataweb.NShape.WinFormsUI.Display Display)
        {
            //Globals
            Project project = Display.Project;
            Diagram diagram = Display.Diagram;
            Design  design  = project.Design;

            Layer layer = diagram.Layers["NETWORK"];
            //

            //Defaults
            ILineStyle stroke   = design.LineStyles.Normal;
            ICapStyle  startCap = design.CapStyles.None;
            ICapStyle  endCap   = design.CapStyles.None;

            //

            if (Rel.Properties.ContainsKey("Operational_Status"))
            {
                if (Rel.Properties["Operational_Status"].As <bool>())
                {
                    stroke = design.LineStyles.Green;
                }
                else
                {
                    stroke = design.LineStyles.Red;
                }
            }


            //Start and End Shapes
            Shape shapeStart = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(Rel.StartNodeId.As <string>(), null), "Circle", Display);
            Shape shapeEnd   = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(Rel.EndNodeId.As <string>(), null), "Circle", Display);


            Shape exists = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(Rel.Id.As <string>(), null), "Polyline", Display);

            if (exists != null)
            {
                exists.LineStyle = stroke;

                return(exists);
            }
            else
            {
                //Rel Type
                switch (Rel.Type)
                {
                case "Link":
                    return(NShapeHelper.ConnectShapes(shapeStart, shapeEnd,
                                                      new display.UI.ShapeTag(Rel.Id.As <string>(), Rel, stroke, null, Display.Project.Design.CapStyles.None),
                                                      Display, project, stroke, layer));

                default:
                    return(NShapeHelper.ConnectShapes(shapeStart, shapeEnd,
                                                      new display.UI.ShapeTag(Rel.Id.As <string>(), Rel, stroke, null, Display.Project.Design.CapStyles.None),
                                                      Display, project, stroke, layer));
                }
                //
            }
        }