GoDiagram視圖是一款用于展示GoDiagram文檔的控件。它支持基于鼠標(biāo)對象的操作,包括選中、調(diào)整大小、移動以及通過拖放對對象進(jìn)行復(fù)制。GoDiagram將輸入操作導(dǎo)入工具,從而修飾、覆蓋重寫或在視圖中添加或刪減。視圖同時(shí)也支持在原處的編輯、打印和網(wǎng)格功能。GoDiagram提供了一系列基本的圖形對象,例如:矩形、橢圓、多邊形、文本、圖像和線條。你可以將這些對象歸總來構(gòu)成更為復(fù)雜的圖形對象。也可以通過設(shè)定特性和重寫方法來自定義外觀和操作。
A GoDiagram view is a control that displays a GoDiagram document. It supports mouse-based object manipulation, including selecting, resizing, moving and copying using drag-and-drop. GoDiagram organizes input behaviors into tools that you can modify, override, or add or remove from a view. The view also supports in-place editing, printing, and grids.GoDiagram provides a variety of basic graphical objects such as rectangles, ellipses, polygons, text, images, and lines. You can group objects together to form more complex objects. You can customize their appearances and behaviors by setting properties and overriding methods.
GoDiagram圖像和繪圖特性
GoDiagram有三種繪制基本GoObject對象的方法:
1. 形狀,例如矩形、橢圓、輪廓和線條。每個(gè)GoShape形狀都可以用筆來勾畫形狀的外部輪廓和用刷子來繪制內(nèi)部。
2. 文本,可以有多種字體、大小和顏色。
3. 圖像,可以有多種格式,例如BMP、ICO、JPG、GIF和PNG。GoImage對象能夠從文件、資源管理和圖片列表中獲取相關(guān)圖像信息。
帶陰影圖案 | 文本加陰影 |

Go六邊形、Go八邊形、 Go立方體、Go圓柱體、Go梯形 |
GoDiagram 節(jié)點(diǎn)類型
GoDiagram提供許多嵌入式的節(jié)點(diǎn)類型和模板節(jié)點(diǎn)類型。
Go基礎(chǔ)節(jié)點(diǎn) | |
GoDiagram 圖像連接特性
接口用節(jié)點(diǎn)來說明終點(diǎn)的連接。它們的外觀可以是任何可繪制的圖像或零尺寸點(diǎn)。如果GoPorts(Go節(jié)點(diǎn))的位置改變,GoLink(Go鏈接)也將作出相應(yīng)改變來連接新的位置。用戶可以畫新的鏈接或重新連接已存在的鏈接,使鏈接與有效接口緊緊咬合。應(yīng)用程序能夠在鏈接操作過程中自定義有效性檢查。
GoDiagram子圖和歸組特性
支持子圖這一功能對于許多不同的圖像應(yīng)用程序來說非常的重要。子圖可以是用戶可拆分的節(jié)點(diǎn),包括圖表、子圖內(nèi)部和貫穿子圖外部的支持性鏈接。這可能像TreeApp一樣,包括擴(kuò)展/ 收縮節(jié)點(diǎn)群的性能:

自動圖形布局
其自動布局方案(作為GoDiagram Professional的一部分出售)將為用戶提供極棒的展示圖表,并與其他產(chǎn)品相比可節(jié)省數(shù)千美元的費(fèi)用。您可以選擇如下3種計(jì)算程序:
1. 樹形布局
2. 力導(dǎo)向布局
3. 分層布局
GoDiagram的工具
對象可以通過自定義和組合來展現(xiàn)多種不同的形態(tài)。在現(xiàn)實(shí)世界中,根據(jù)行業(yè),這些會被稱為測量儀表、標(biāo)度盤、標(biāo)尺和測量儀。因?yàn)榭梢杂羞@么多的自定義,GoInstruments不提供預(yù)編譯工具。但是,InstrumentDemo(工具演示)實(shí)例應(yīng)用程序定義了許多這樣可用于不同目的,有著不同外觀和操作的對象。

GoDiagram Graphics and Drawing Features
GoDiagram have three kinds of drawing primitive GoObjects:
- Shapes, such as rectangles, ellipses, figures, and strokes. Each GoShape instance can have a Pen for drawing the outline of the shape and a Brush for painting the inside of the shape.
- Text, in various fonts, sizes and colors.
- Images, for various kinds of images such as BMP, ICO, JPG, GIF and PNG. GoImage objects can get their image information from files, resource managers, or image lists.

shapes with shadows
|

text with shadow
|

GoHexagon, GoOctagon,
GoCube, GoCylinder, GoTrapezoid |
GoDiagram Node Classes
GoDiagram provides many built-in Node classes as well as several .

GoBasicNode
|
|
GoDiagram Graph Link Features
Ports define the endpoints of links in nodes. They can have any drawable appearance, or they can be zero sized points. If the position of one or both of its GoPorts changes, the GoLink redraws itself to connect the new positions.Users can draw new links and relink existing links, with links "snapping" only to valid ports. Your application can customize the validity checking performed during a linking operation.
GoDiagram Subgraph and Grouping Features
Support for Subgraphs is important to many different graphical applications. Subgraphs are user-collapsible nodes that contain graphs, supporting links within and across the subgraph boundaries.That might include the ability to expand / contract groups of nodes like TreeApp:

Automatic Graph Layout
Our Automatic Layout package (sold as part of GoDiagram Professional) provides well laid out diagrams for thousands of dollars less than other products.You can choose from 3 algorithms:
- Tree Layout
- Force Directed Layout
- Layered Digraph Layout
Instruments for GoDiagram
The objects can be customized and combined to present many different kinds of appearances. In the real world, depending on the industry, such things are called meters, dials, rulers or gauges. Because there is so much customization that can be done, GoInstruments does not provide any prebuilt instruments. The InstrumentDemo sample application, however, does define many such objects for various purposes and with various appearances and behaviors.
