2010-05-10 58 views
9

我正在創建一個應用程序,它允許開發人員通過從ToolBox(將顯示爲小圖形元素)中選擇預定義的函數來創建程序流程圖。換句話說,開發人員將從工具箱中選擇一個或多個預定義的功能(圖形元素)並拖放到主工作區。然後,應用程序將根據所選功能的流程自動生成準備編譯代碼。GraphViz可以用於圖形編輯GUI嗎?

我看了一個GraphViz,但不確定它是否可以用來創建GUI IDE來編輯圖形元素。我正在尋找與Microsoft Visio相似的功能,用戶可以在其中添加/刪除/拖放/各種形狀來創建圖表。

GraphViz適合在這裏嗎?如果是的話,你能指導一些例子說明如何去做嗎?如果GraphViz無法使用,那麼其他開源/免費組件有哪些?

我打算在.Net中構建最終的應用程序。

+0

你打算用什麼語言來實現GUI?什麼平臺? – 2010-05-10 15:48:45

+0

我打算使用VB.net(VS 2008速成版) – 2010-05-11 10:18:58

回答

0

是的,graphviz絕對可用於此。它配備了cairo綁定,可以輕鬆集成到GUI中。你也可以沿着dottylefty的線條走更多的簡單的包裝,這些簡單的包裝與graphviz一起提供。

+0

什麼是cairo綁定? – macleojw 2010-05-10 14:23:42

+0

嗨, 我環顧四周開羅,它說它是一個圖形渲染引擎。我們可以使用各種語言(通過綁定)來創建各種形狀。你能否讓我明白這將如何契合GraphViz? Graphviz和Cario的DOT語言如何協同工作?Graphviz是否在內部使用Cairo來將DOT語言代碼顯示爲圖表?我需要解析(我不這麼認爲)DOT代碼並調用適當的Cairo API來創建最終圖嗎? 我很抱歉有這麼多的問題,但對於我來說非常重要的是要了解所有這些如何融合在一起。 非常感謝您的幫助! -Devang – 2010-05-10 15:04:09

3

雖然Graphviz 可能被用於這樣一個交互式圖形環境,我不知道它會是最好的工具。在我看來,Graphviz的優勢在於可以很容易地將各種形式的現有數據可視化爲圖形形式。

如果您打算在瀏覽器中使用您的GUI,那麼我會推薦使用RaphaelJit。兩者都基於JavaScript,更容易讓你控制。如果你想讓用戶完全控制事物的佈局,Raphael是很好的選擇(example)。如果你想添加和刪除節點,但是讓框架爲你做佈局(example),JIT是很好的。

+0

感謝馬克的指針。但我正在尋找適合桌面應用的東西。你知道任何可以用於.Net/Java桌面應用程序的lib /模塊嗎? – 2010-05-26 08:41:24

+0

感謝JIT!我只是調整了一個演示,我想我可以創建一個小的web應用程序,它完全符合我搜索的內容(請參閱我的版本:http://www.martin-thoma.de/uni/graph.html) – 2011-12-02 20:51:44