2010-05-10 6 views
9

Ich erstelle eine Anwendung, die es einem Entwickler ermöglicht, ein Programmablaufdiagramm zu erstellen, indem er vordefinierte Funktionen aus einer ToolBox auswählt (die als kleine grafische Elemente angezeigt werden). Mit anderen Worten, der Entwickler wählt eine oder mehrere vordefinierte Funktionen (grafische Elemente) aus der ToolBox und Drag-Drop auf dem Hauptarbeitsbereich aus. Die Anwendung wird dann basierend auf dem Fluss der ausgewählten Funktionen automatisch kompilierbereiten Code erzeugen.Kann GraphViz für eine grafische Bearbeitungsoberfläche verwendet werden?

Ich sah eine GraphViz, aber bin mir nicht sicher, ob es verwendet werden kann, um eine GUI-IDE zum Bearbeiten von grafischen Elementen zu erstellen. Ich suche nach einer ähnlichen Funktionalität wie Microsoft Visio, wo Benutzer verschiedene Formen hinzufügen/entfernen/ziehen/ziehen können, um ein Diagramm zu erstellen.

Passt GraphViz hier rein? Wenn ja, können Sie mich auf einige Beispiele verweisen, die zeigen, wie es geht? Wenn GraphViz nicht verwendet werden kann, welche anderen Open Source/Free-Komponenten sind verfügbar?

Ich beabsichtige, die endgültige Anwendung in .Net zu bauen.

+0

In welcher Sprache möchten Sie die GUI implementieren? Welche Plattform? –

+0

Ich beabsichtige VB.net zu verwenden (VS 2008 Express Edition) –

Antwort

0

Ja, graphviz ist definitiv dafür geeignet. Es kommt mit Kairobindungen, die eine einfache Integration in GUI's ermöglichen. Sie könnten auch mehr nackt in den Linien von dotty oder lefty, einfache Wrapper gehen, die mit Graphviz kommen.

+0

Was sind cairo Bindungen? – macleojw

+0

Hallo, Ich sah mich nach Kairo und es sagt, es ist eine Grafik-Rendering-Engine. Wir können verschiedene Sprachen (durch Bindungen) verwenden, um verschiedene Formen zu erstellen. Kannst du mich verstehen lassen, wie das mit GraphViz passt? Wie funktioniert die DOT-Sprache von Graphviz und Cario? Verwendet Graphviz Cairo intern, um den DOT-Sprachencode als Diagramme anzuzeigen? Muss ich den DOT-Code parsen (ich denke nicht) und die entsprechende Cairo-API aufrufen, um das endgültige Diagramm zu erstellen? Es tut mir leid für so viele Fragen, aber es ist sehr wichtig für mich zu verstehen, wie all diese zusammen passen. Vielen Dank für Ihre Hilfe! -Devang –

3

Während Graphviz könnte für eine solche interaktive Grafikumgebung verwendet werden, bin ich mir nicht sicher, es wäre das beste Werkzeug dafür. Die Stärke von Graphviz besteht meines Erachtens darin, verschiedene Formen existierender Daten relativ einfach grafisch darzustellen.

Wenn Sie planen, Ihre GUI in einem Browser zu haben, dann würde ich entweder Raphael oder Jit empfehlen. Beide sind Javascript-basiert und geben Ihnen leichter Kontrolle. Raphael ist gut, wenn Sie dem Benutzer die totale Kontrolle darüber geben wollen, wie die Dinge angelegt sind (example). Der JIT ist gut, wenn Sie Knoten hinzufügen und entfernen möchten, aber das Framework das Layout für Sie ausführen lässt (example).

+0

Danke Mark für die Zeiger. Aber ich suche nach etwas, das zur Desktop-Anwendung passt. Kennen Sie solche lib/Module, die für .NET/Java-Desktop-Anwendungen verwendet werden können? –

+0

Danke für das JIT! Ich habe gerade eine Demo angepasst und ich denke, ich kann eine kleine Web-App erstellen, die genau das tut, was ich gesucht habe (siehe meine Version: http://www.martin-thoma.de/uni/graph.html) –

Verwandte Themen