Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can GraphViz be used for a graph editing GUI?

I am creating an application which will allow a developer to create a program flow-chart by selecting pre-defined functions from a ToolBox (which will show up as small graphical elements). In other words, developer will select one or more pre-defined functions (graphical elements) from ToolBox and drag-drop on the main work area. The application will then, based on the flow of functions selected, will auto-generate ready-to-compile-code.

I looked a GraphViz, but am not sure whether it can be used to create a GUI IDE for editing graphical elements. I am looking for a functionality similart to Microsoft Visio, where users can add/remove/drag-drop/ various shapes to create a diagram.

Does GraphViz fit in here? If yes, can you direct me to some examples showing how to do it? If GraphViz cannot be used, what are the other open source/free components available?

I am intending to build the final application in .Net.

like image 288
Devang Thakkar Avatar asked May 10 '10 13:05

Devang Thakkar


People also ask

What is Graphviz used for?

Graphviz is an open-source python module that is used to create graph objects which can be completed using different nodes and edges. It is based on the DOT language of the Graphviz software and in python it allows us to download the source code of the graph in DOT language.

How do I open a Graphviz DOT graph?

For windows: dl the msi and install; Find gvedit.exe in your programs list; Open . dot file in question; Click running person on toolbar; Go to graph -> settings ; change Output file type to file type of your liking and press ok..

What language does Graphviz use?

Graphviz consists of a graph description language named the DOT language and a set of tools that can generate and/or process DOT files: dot. a command-line tool to produce layered drawings of directed graphs in a variety of output formats, such as (PostScript, PDF, SVG, annotated text and so on). neato.


1 Answers

While Graphviz could be used for such an interactive graphing environment, I'm not sure it would be the best tool for it. The strength of Graphviz in my opinion is to fairly easily visualize various forms of existing data into graphical form.

If you plan to have your GUI in a browser, then I would recommend either Raphael or Jit. Both are javascript based and more readily give you control. Raphael is good if you want to give the user total control over how things are laid out (example). The JIT is good if you want to add and remove nodes, but have the framework do the layout for you (example).

like image 104
Mark Avatar answered Sep 30 '22 03:09

Mark