public TestGraphvizVertex(VertexStringDictionary names)
        {
            m_Names = names;

            m_Vertex = new GraphvizVertex();
            m_Vertex.Shape = GraphvizVertexShape.Hexagon;
            m_Vertex.Style = GraphvizVertexStyle.Filled;
            m_Vertex.ToolTip="This is a tooltip";
            m_Vertex.Url="http://www.dotnetwiki.org";
            m_Vertex.StrokeColor = Color.Red;
            m_Vertex.FillColor = Color.LightGray;
            m_Vertex.FontColor = Color.Blue;
            m_Vertex.Orientation = 45;
            m_Vertex.Regular = true;
            m_Vertex.Sides = 2;

            m_Edge = new GraphvizEdge();
            m_Edge.HeadArrow = new GraphvizArrow(GraphvizArrowShape.Box);
            m_Edge.HeadArrow.Clipping=GraphvizArrowClipping.Left;
            m_Edge.HeadArrow.Filling = GraphvizArrowFilling.Open;

            m_Edge.TailArrow = new GraphvizArrow(GraphvizArrowShape.Dot);

            m_Edge.Label.Value = "This is an edge";
        }
        /// <summary>
        /// Builds a new Graphviz writer of the graph g using the Stream s.
        /// </summary>
        /// <param name="g">Graph to visit.</param>
        /// <param name="path">Path where files are to be created</param>
        /// <param name="imageType">output image type</param>
        /// <exception cref="ArgumentNullException">g is a null reference</exception>
        /// <exception cref="ArgumentNullException">path is a null reference</exception>
        public GraphvizAlgorithm(
            IVertexAndEdgeListGraph g,
            String path,
            GraphvizImageType imageType
            )
        {
            if (g == null)
            {
                throw new ArgumentNullException("g");
            }
            if (path == null)
            {
                throw new ArgumentNullException("path");
            }
            m_VisitedGraph = g;
            m_StringWriter = null;
            m_Dot          = new Dot(path);
            m_ImageType    = imageType;

            clusterCount  = 0;
            m_GraphFormat = new GraphvizGraph();

            m_CommonVertexFormat = new GraphvizVertex();
            m_CommonEdgeFormat   = new GraphvizEdge();

            m_VertexFormat = new GraphvizVertex();
            m_EdgeFormat   = new GraphvizEdge();
        }
		/// <summary>
		/// Graphviz format edge parameter object
		/// </summary>
		/// <param name="edgeFormatter">edge formatter</param>
		/// <param name="e">edge</param>
		public FormatEdgeEventArgs(GraphvizEdge edgeFormatter, IEdge e)
			: base(e)
		{
			if (edgeFormatter==null)
				throw new ArgumentNullException("edgeFormatter");
			m_EdgeFormatter = edgeFormatter;
		}
 /// <summary>
 /// Triggers the FormatEdge event
 /// </summary>
 /// <param name="ge"></param>
 /// <param name="e"></param>
 protected virtual void OnFormatEdge(GraphvizEdge ge, IEdge e)
 {
     if (FormatEdge != null)
     {
         FormatEdge(this, new FormatEdgeEventArgs(ge, e));
         Output.Write(" {0}", EdgeFormat.ToDot());
     }
 }
Exemple #5
0
 /// <summary>
 /// Graphviz format edge parameter object
 /// </summary>
 /// <param name="edgeFormatter">edge formatter</param>
 /// <param name="e">edge</param>
 public FormatEdgeEventArgs(GraphvizEdge edgeFormatter, IEdge e)
     : base(e)
 {
     if (edgeFormatter == null)
     {
         throw new ArgumentNullException("edgeFormatter");
     }
     m_EdgeFormatter = edgeFormatter;
 }
        /// <summary>
        /// Emptry constructor
        /// </summary>
        public EdgeDfsTest()
        {
            m_Vertex = new GraphvizVertex();
            m_Edge = new GraphvizEdge();

            Vertex.Style = GraphvizVertexStyle.Filled;
            Vertex.FillColor = Color.LightSkyBlue;

            GraphvizRecordCell cell = new GraphvizRecordCell();
            Vertex.Record.Cells.Add(cell);

            GraphvizRecordCell child = new GraphvizRecordCell();
            child.Text = "State";
            cell.Cells.Add(child);

            m_Cell = new GraphvizRecordCell();
            cell.Cells.Add(m_Cell);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="g"></param>
        public GraphvizAlgorithm(IVertexAndEdgeListGraph g)
        {
            if (g == null)
            {
                throw new ArgumentNullException("g");
            }
            m_VisitedGraph = g;
            m_StringWriter = null;
            m_Dot          = new Dot();
            m_ImageType    = GraphvizImageType.Png;

            m_GraphFormat = new GraphvizGraph();

            m_CommonVertexFormat = new GraphvizVertex();
            m_CommonEdgeFormat   = new GraphvizEdge();

            m_VertexFormat = new GraphvizVertex();
            m_EdgeFormat   = new GraphvizEdge();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="g"></param>
        /// <param name="prefix"></param>
        /// <param name="path"></param>
        /// <param name="imageType"></param>
        public AlgorithmTracerVisitor(
            IVertexAndEdgeListGraph g,
            String prefix,
            String path,
            GraphvizImageType imageType
            )
        {
            m_Vertex = new GraphvizVertex();
            m_Vertex.Shape = GraphvizVertexShape.Circle;
            m_Vertex.Style = GraphvizVertexStyle.Filled;
            m_VertexLabels =null;

            m_Edge = new GraphvizEdge();
            m_EdgeLabels = null;

            m_Colors = null;
            m_EdgeColors = new EdgeColorDictionary();

            m_Algo = new GraphvizAlgorithm(g,prefix,path,imageType);
            m_Algo.RegisterVisitor(this);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="g"></param>
        /// <param name="prefix"></param>
        /// <param name="path"></param>
        /// <param name="imageType"></param>
        public AlgorithmTracerVisitor(
            IVertexAndEdgeListGraph g,
            String prefix,
            String path,
            GraphvizImageType imageType
            )
        {
            m_Vertex       = new GraphvizVertex();
            m_Vertex.Shape = GraphvizVertexShape.Circle;
            m_Vertex.Style = GraphvizVertexStyle.Filled;
            m_VertexLabels = null;

            m_Edge       = new GraphvizEdge();
            m_EdgeLabels = null;

            m_Colors     = null;
            m_EdgeColors = new EdgeColorDictionary();

            m_Algo = new GraphvizAlgorithm(g, prefix, path, imageType);
            m_Algo.RegisterVisitor(this);
        }
 /// <summary>
 /// Triggers the FormatEdge event
 /// </summary>
 /// <param name="ge"></param>
 /// <param name="e"></param>
 protected virtual void OnFormatEdge(GraphvizEdge ge, IEdge e)
 {
     if (FormatEdge != null)
     {
         FormatEdge(this, new FormatEdgeEventArgs(ge,e));
         Output.Write(" {0}",EdgeFormat.ToDot());
     }
 }
        /// <summary>
        /// Builds a new Graphviz writer of the graph g using the Stream s.
        /// </summary>
        /// <param name="g">Graph to visit.</param>
        /// <param name="path">Path where files are to be created</param>
        /// <param name="imageType">output image type</param>
        /// <exception cref="ArgumentNullException">g is a null reference</exception>
        /// <exception cref="ArgumentNullException">path is a null reference</exception>
        public GraphvizAlgorithm(
            IVertexAndEdgeListGraph g,
            String path,
            GraphvizImageType imageType
            )
        {
            if (g == null)
                throw new ArgumentNullException("g");
            if (path==null)
                throw new ArgumentNullException("path");
            m_VisitedGraph = g;
            m_StringWriter = null;
            m_Dot = new Dot(path);
            m_ImageType = imageType;

            clusterCount = 0;
            m_GraphFormat = new GraphvizGraph();

            m_CommonVertexFormat = new GraphvizVertex();
            m_CommonEdgeFormat = new GraphvizEdge();

            m_VertexFormat = new GraphvizVertex();
            m_EdgeFormat = new GraphvizEdge();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="g"></param>
        public GraphvizAlgorithm(IVertexAndEdgeListGraph g)
        {
            if (g == null)
                throw new ArgumentNullException("g");
            m_VisitedGraph = g;
            m_StringWriter = null;
            m_Dot = new Dot();
            m_ImageType = GraphvizImageType.Png;

            m_GraphFormat = new GraphvizGraph();

            m_CommonVertexFormat = new GraphvizVertex();
            m_CommonEdgeFormat = new GraphvizEdge();

            m_VertexFormat = new GraphvizVertex();
            m_EdgeFormat = new GraphvizEdge();
        }