MvcDiagram version 2.8 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;
~ DiagramLink.HeadPen property lets you customize arrowhead strokes independently of line segments strokes;
~ the new Spline element of LinkShape enumeration draws links as interpolating splines that pass through all of their control points:
Miscellaneous~ CaptionFormat properties of TableNode and ContainerNode let you set alignment for table and container captions;
~ enable the AllowResizeHeaders property of swimlanes Grid to let users resize grid rows and columns interactively. The control raises HeaderStartResizingScript validation event when the user tries to resize, and HeaderResizedScript event 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;
If anyone is interested in trying the beta version, please download this archive containing the updated assemblies and script files:
https://mindfusion.eu/_beta/mvcdiag28.zipAny comments, questions and general feedback are welcome.