GoDiagram 2.3.0 beta 2

We are pleased to announce the public availability of the next beta release of GoDiagram version 2.3. [EDIT: beta kits are now obsolete.]

From the release notes:

Summary of Significant New Features since 2.2<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

The complete list of changes and new features is included later in this document.

· added GoView.BackgroundLayer property, behind all document layers

· added GoView properties: TopBar, RightBar, BottomBar, LeftBar, TopLeftCorner, TopRightCorner, BottomRightCorner, BottomLeftCorner

· added GoView.OnObjectEnterLeave event (with corresponding methods and delegate), GoView.DoObjectEnterLeave, and GoObject.OnEnterLeave method; to simplify implementing mouse-over behaviors when entering and leaving document objects

· added GoView.NewLinkPrototype property, subsuming the GoView.NewLinkClass property

· added GoView.NewGoLink and NewGoLabeledLink properties as type-specific values for NewLinkPrototype, to simplify initializing new links without defining a GoView.LinkCreated event handler

· added GoView.ScriptFile property, to support external script files; the default (an empty string) continues to produce the standard function definitions inline; these definitions are also available in the GoWeb.js file in the Samples directory [GoDiagram Web]


added GoView.CursorName property, for setting GoView.Cursor using a cursor name rather than a WinForms Cursor

· added PickObjectsInRectangle method in GoView, GoDocument, and GoLayer, now called by GoView.SelectInRectangle

· GoDocument.StartTransaction, FinishTransaction, AbortTransaction, Undo, and Redo now raise Changed events with corresponding hints, to make updating UI easier using event handlers instead of overriding methods, and to support saving changes to a database as each undo or redo occurs (if not using batch-style save and load)

· added GoObject.GetCursorName method, to specify a cursor for an object, for WebForms and for SVG, not just for WinForms

· added mapping names to GoGroup children: ChildName, FindChild, AddChildName, RemoveChildName, String indexer, ChildNames; this allows you to refer to particular child objects without having to refer to them by their position in the IList/GoGroup and without adding fields in a subclass to refer to them.

· added GoGroup.PickableBackground property (actually promoted up from GoSubGraph), so that a user's mouse event in the whole rectangular area of a group can cause the group to be picked, even if there are no child objects at that mouse point

· many changes to GoSubGraph, mostly involving removing the restriction that the Bounds of the subgraph be the same as where the border is drawn

· added support for interactive reanchoring of GoBalloons

· added GoToolCreating tool, to let users create objects by background-dragging their bounds, given a prototype object

· Generated SVG now supports limited interaction: tooltips, cursors, custom panning/zooming, HREF links, selection by clicking or by rubber-band dragging

· GoXmlWriter methods have been generalized to either write XML to a Stream or produce an XmlDocument

· many other improvements to GoXml

· examples of customizing SVG generation in Demo1

· example reading/writing GraphML in OrgCharter

· added several example node classes displaying much textual information in different arrangements--see the InfoNode* examples in Demo1

· added example CollapsibleListGroup class in Demo1, that uses GoCollapsibleHandle to show one of two GoListGroups

· added example BarNode class in Demo1, as a wide bar with a single port (a BarPort) with links only coming in or leaving from the top or the bottom

· added example AdjustableConnectionBoxPort and AdjustableConnectionLink classes in Demo1, to demonstrate how a port can dynamically adjust the link point at a port for a link as the user drags the end point of the link

· added example timeline class using a GraduatedScaleLinear in InstrumentDemo

These new features look very nice… are there any new features to autolayout in the near future?

I think layered-digraph autolayout has improved support for Orthogonal or Bezier-Style links.

Is there support for Firefox in this version?

Yes. It should work with all of the recent Mozilla/Netscape/Firefox browsers, but not Netscape 4 or 6. We have also dropped support for IE 4. However, it’s a lot easier to customize than it was before, because you can just specify the GoView.ScriptFile. It defaults to no URL, causing the generation of the script inline (just as in previous versions). The standard JavaScript is also provided as GoWeb.js, which is common for all browsers. Previous versions of GoView would generate different JavaScript depending on the indicated browser type. That produced smaller and simpler code, but made it harder to modify to support newer capabilities, such as new browsers.
So if you really need support for Netscape 4 or 6 or IE 4, you can implement it yourself by modifying the script file and setting GoView.ScriptFile. Or you can override GoView.RenderScript, as you have always been able to do.