NetDiagram version 5.7 contains the following new features and improvements -
Fluent APIExtension methods in MindFusion.Diagramming.Fluent and MindFusion.Diagramming.Layout.Fluent namespaces add support for fluent programming style:
using MindFusion.Diagramming.Fluent;
using MindFusion.Diagramming.Layout.Fluent;
//...
diagram.Factory
.CreateShapeNode(10, 10, 20, 20)
.Brush(Color.LightGray)
.Font("Arial", 12)
.EnableStyledText(true)
.Text("Task <i>1</i>")
.ToolTip("This is the task");
new TreeLayout()
.LevelDistance(20)
.NodeDistance(20)
.LinkStyle(TreeLayoutLinkType.Cascading3)
.Arrange(diagram);
DiagramLink improvements~ the component no longer keeps a separate segmentCount field, removing a common source of errors. The SegmentCount property now calculates its value from ControlPoints elements. The UpdateFromPoints(updateGroups, updateSegments) overload has been removed too;
~ SegmentCount setter no longer refuses changing number of segments if auto-routing is enabled or the link is a self-loop;
~ the new Spline element of LinkShape enumeration draws links as interpolating splines that pass through all of their control points:
Canvas mode improvements~ DiagramLink.HeadPen property now works in Canvas mode. Its corresponding methods in JavaScript API are setHeadStroke, setHeadStrokeThickness and setHeadStrokeDashStyle;
~ CaptionFormat properties of TableNode and ContainerNode are now supported in Canvas mode. Corresponding methods in JavaScript API are setTextAlignment and setLineAlignment;
~ the AllowResizeHeaders property of swimlanes Grid now supported in Canvas mode. The control raises HeaderStartResizingScript validation event when the user tries to resize, and HeaderResizedScript when the operation completes.
~ NodeSize and DefaultNodeSize properties of NodeListView can be set to SizeF.Empty, in which case the control will use the sizes stored in node.Bounds;
~ the control now supports cyclic attachment created using DiagramNode.attachTo method, where moving any of the attached nodes will move all other nodes in the cycle;
~ Shape.RoundRect corner arcs keep constant radius and no longer deform when the node size changes to non-rectangular;
~ ItemAddedScript and ItemRemovedScript events raised when an item is added or removed, either from code or interactively;
~ DiagramView.CustomLinkType property now supported in Canvas mode;
~ Diagram.AllowSelfLoops property now supported in Canvas mode;
If anyone is interested in trying the beta version, please download this archive containing the updated assemblies and script files:
https://mindfusion.eu/_beta/netdiag57.zipAny comments, questions and general feedback are welcome.