예제 #1
0
        public void WriteText(IGraphvizBuilder gb)
        {
            if (Type != AttributeType.None)
            {
                gb.Append(Type.ToString().ToLower());
                gb.Append('[');
            }

            if (Attributes != null)
            {
                var isFirstAttribute = true;
                foreach (var attribute in Attributes)
                {
                    if (!isFirstAttribute)
                    {
                        gb.Append(';');
                    }
                    else
                    {
                        isFirstAttribute = false;
                    }
                    attribute.WriteText(gb);
                }
            }
            if (Type != AttributeType.None)
            {
                gb.Append(']');
            }
            gb.AppendLine();
        }
예제 #2
0
        public void WriteText(IGraphvizBuilder gb)
        {
            gb.Append(Id);
            if (Port != null)
            {
                Port.WriteText(gb);
            }
            gb.Append('[');

            if (Attributes != null)
            {
                var isFirstAttribute = true;
                foreach (var attribute in Attributes)
                {
                    if (!isFirstAttribute)
                    {
                        gb.Append(';');
                    }
                    else
                    {
                        isFirstAttribute = false;
                    }
                    attribute.WriteText(gb);
                }
            }
            gb.Append(']');
            gb.AppendLine();
        }
예제 #3
0
        public void WriteText(IGraphvizBuilder gb)
        {
            gb.Append("{ rank=same; ");
            var isFirst = true;

            foreach (var node in Nodes)
            {
                if (isFirst)
                {
                    isFirst = false;
                }
                else
                {
                    if (WithEdges)
                    {
                        if (_Graph is DiGraph)
                        {
                            gb.Append(" -> ");
                        }
                        else
                        {
                            gb.Append(" -- ");
                        }
                    }
                    else
                    {
                        gb.Append("; ");
                    }
                }
                gb.Append(node.Id);
            }
            gb.Append('}');
            gb.AppendLine();
        }
예제 #4
0
 public void WriteText(IGraphvizBuilder gb)
 {
     gb.Append(Id);
     gb.Append("=");
     //gb.Append('"');
     gb.Append(Value);
     //gb.Append('"');
 }
예제 #5
0
 public void WriteText(IGraphvizBuilder gb)
 {
     gb.Append('<');
     if (Text != null)
     {
         foreach (var textItem in Text.TextItems)
         {
             gb.Append(textItem.Text);
         }
     }
     gb.Append('>');
 }
예제 #6
0
 public void WriteText(IGraphvizBuilder gb)
 {
     if (!string.IsNullOrEmpty(Id))
     {
         gb.Append(':');
         gb.Append(Id);
     }
     foreach (var compass in Compasses)
     {
         gb.Append(':');
         gb.Append(string.Concat(Regex.Matches(compass.ToString(), "[A-Z]").OfType <Match>().Select(match => match.Value)).ToLowerInvariant());
     }
 }
예제 #7
0
 public override void WriteText(IGraphvizBuilder gb)
 {
     gb.Append("strict graph ");
     gb.Append(Id);
     gb.AppendLine(" {");
     gb.IncreaseIndention();
     foreach (var statement in Statements)
     {
         statement.WriteText(gb);
     }
     gb.DecreaseIndention();
     gb.AppendLine("}");
 }
예제 #8
0
        public override void WriteText(IGraphvizBuilder gb)
        {
            if (IsStrict)
            {
                gb.Append("strict ");
            }
            gb.Append("digraph ");
            gb.Append(Id);
            gb.AppendLine(" {");
            foreach (var statement in Statements)
            {
                statement.WriteText(gb);
            }

            gb.AppendLine("}");
        }
예제 #9
0
        public void WriteText(IGraphvizBuilder gb)
        {
            gb.Append(FromNode.Id);
            if (FromPort != null)
            {
                FromPort.WriteText(gb);
            }

            if (_Graph is DiGraph)
            {
                gb.Append("->");
            }
            else
            {
                gb.Append("--");
            }
            gb.Append(TargetNode.Id);
            if (TargetPort != null)
            {
                TargetPort.WriteText(gb);
            }

            gb.Append('[');

            if (Attributes != null)
            {
                var isFirstAttribute = true;
                foreach (var attribute in Attributes)
                {
                    if (!isFirstAttribute)
                    {
                        gb.Append(';');
                    }
                    else
                    {
                        isFirstAttribute = false;
                    }
                    attribute.WriteText(gb);
                }
            }
            else
            {
            }
            gb.Append(']');
            gb.AppendLine();
        }
예제 #10
0
 public abstract void WriteText(IGraphvizBuilder gb);