Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 /// <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());
 }
Exemplo n.º 4
0
 /// <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);
 }