public void DrawSelf(Brush b, Pen p) { NodeShapeType shape = NodeShape; if (shape == NodeShapeType.圆角矩形) { ShapeHelper.FillRoundRectangle(nodeGraphics, b, SelfOutRect, 8); ShapeHelper.DrawRoundRectangle(nodeGraphics, p, SelfOutRect, 8); } else if (shape == NodeShapeType.椭圆形) { nodeGraphics.FillEllipse(b, SelfOutRect); nodeGraphics.DrawEllipse(p, SelfOutRect); } else if (shape == NodeShapeType.菱形) { ShapeHelper.FillDiamond(nodeGraphics, b, SelfOutRect); ShapeHelper.DrawDiamond(nodeGraphics, p, SelfOutRect); } else if (shape == NodeShapeType.直角矩形) { nodeGraphics.FillRectangle(b, SelfOutRect); nodeGraphics.DrawRectangle(p, SelfOutRect); } else if (shape == NodeShapeType.六边形) { ShapeHelper.FillHexagon(nodeGraphics, b, SelfOutRect); ShapeHelper.DrawHexagon(nodeGraphics, p, SelfOutRect); } nodeGraphics.DrawString(NodeName, textFont, Brushes.Black, new Point(SelfOutRect.X + 4, SelfOutRect.Y + 4)); }
public AINode AddNode(string name, NodeShapeType shape = NodeShapeType.圆角矩形) { AINode node = new AINode(); node.NodeShape = shape; node.Parent = this; node.MyNodePtr = Children.AddLast(node); return(node); }
/// <summary> /// Конвертирует типы шейпов в строки /// </summary> /// <param name="shapeType"></param> /// <returns></returns> public static string GetAttributeString(this NodeShapeType shapeType) { if (shapeType == NodeShapeType.Mcircle) { return("Mcircle"); } if (shapeType == NodeShapeType.Mdiamond) { return("Mdiamond"); } if (shapeType == NodeShapeType.Msquare) { return("Msquare"); } if (shapeType == NodeShapeType.Mrecord) { return("Mrecord"); } return(shapeType.ToString().ToLower()); }
/// <summary> /// Устанавливает форму узла /// </summary> /// <param name="builder"></param> /// <param name="shape"></param> /// <returns></returns> public static IGraphNodeBuilder SetShape(this IGraphNodeBuilder builder, NodeShapeType shape) { builder.Set(DotConstants.ShapeAttribute, shape); return(builder); }