What's new in MindFusion.Diagramming for WinForms 6.8.6

Apr 27, 2023
  • New features:
  • DiagramItem.Opacity property
  • CopySelection list overload
  • Fast grid drawing at low zoom
  • Item modification effects
  • SvgContent FromFile / FromStream
  • ValidateLinkCrossing event

New in MindFusion.Diagramming for WinForms 6.8.4 (Oct 25, 2022)

  • Create route patterns from strings
  • SVG rendering improvements
  • Layout parallelism in CoreCLR
  • JSON preserves primitive Id/Tag types
  • Excel, SVG, WMF export to stream
  • 'fractional position' attach type

New in MindFusion.Diagramming for WinForms 6.8.3 (Jun 14, 2022)

  • The new features are:
  • Multiple labels per node
  • Move item labels interactively
  • Link label improvements
  • ExcelExporter improvements

New in MindFusion.Diagramming for WinForms 6.8.2 (Mar 21, 2022)

  • NET 6 assemblies
  • ArrangeAsync in CoreCLR assemblies
  • PathFinder.EnumAllPaths
  • MouseWheelAction zoom/scroll
  • TableNode.Image in JSON
  • SetZoomFactor zooms at point

New in MindFusion.Diagramming for WinForms 6.8 (Nov 1, 2021)

  • The new features are:
  • spatial indexing
  • PatternRouter link router
  • CompositeRouter link router
  • fixed cosmetic pens after KB5006670 Windows Update

New in MindFusion.Diagramming for WinForms 6.7 (Jul 15, 2021)

  • The new features are:
  • scrollable containers
  • improved ContainerNode API
  • lasso zoom tool
  • new scroll and zoom methods
  • InitializeLasso event
  • container.ResizeToFitChildren

New in MindFusion.Diagramming for WinForms 6.6.2 (Apr 3, 2021)

  • New features:
  • .NET 5 assemblies
  • TreeViewItem links layout
  • NodeListView tooltips
  • ContextMenuStrip in Ruler
  • new ImageAlign modes

New in MindFusion.Diagramming for WinForms 6.6.1 (Oct 26, 2020)

  • scrollbars in TableNodes
  • FreeFormNode now applies glass effects
  • TreeViewItem.Brush property
  • PdfExporter supports page hyperlinks
  • TreeViewNode.ShowLines property

New in MindFusion.Diagramming for WinForms 6.6 (Nov 5, 2019)

  • .NET Core assemblies (beta)
  • item animations
  • ContainerNode.Arrange method
  • animated layouts
  • customizable font in ZoomControl
  • JSON Serialization

New in MindFusion.Diagramming for WinForms 6.5.1 (Oct 23, 2017)

  • Export Excel files
  • RightToLeft mode improvements
  • Visio2013Exporter improvements
  • Export link text and arrowheads
  • Export ShapeNode.Image
  • Preserve diagram Z order

New in MindFusion.Diagramming for WinForms 6.5 (Sep 6, 2017)

  • non-blocking layout methods
  • LayeredLayout.LinkPadding property
  • ImagePadding property
  • branch indicator custom drawing
  • link merge indicators
  • TabbedDiagramView.PageAdding event
  • PDF and Visio export to streams

New in MindFusion.Diagramming for WinForms 6.4.2 (Dec 13, 2016)

  • FLUENT API:
  • Extension methods in MindFusion.Diagramming.Fluent and MindFusion.Diagramming.Layout.Fluent namespaces add support for fluent programming style
  • 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
  • MISCELLANEOUS:
  • the ModifierKeyAction.ExtendSelection mode selects items within the lasso without deselecting old ones.
  • the Visio Stencils import API provides access to BeginArrow and EndArrow values.
  • The Visio Stencils import API provides access to Connection elements defined for a shape.
  • It is now enough to set EnableStyledText to enable styled-text mode without having to also enable PolygonalTextLayout.
  • Fixed bug where ItemAdded event wasn't raised for interactively drawn items.
  • Miscellaneous UI control assemblies (NodeListView, LayerListView, Ruler, etc) have been merged into a single MindFusion.Diagramming.WinForms.Controls.dll.

New in MindFusion.Diagramming for WinForms 6.3 (Aug 8, 2014)

  • Tree map layout:
  • Tree maps represent hierarchies by nesting child nodes within their parents, where the areas of leaf nodes are proportional to their Weight values. Unlike other layout algorithms, TreeMapLayout expects hierarchies to be defined via grouping or containment (see AttachTo method and ContainerNode class), and will ignore any links in the diagram. The diagram area covered by the topmost nodes in a hierarchy is specified via the LayoutArea property. By default, the layout tries to keep the ratio of node sides as close as possible to one. However this could make it hard to distinguish separate levels of the hierarchy. To alleviate that, set Squarify to false, and child nodes will be arranged either as a row or a column inside their parent node, alternating directions for each level. The drawback is that when Weight ratios differ greatly or nodes contain many children, some nodes could end up with very narrow rectangles.
  • Decision flowchart layout:
  • DecisionLayout arranges simple flowcharts consisting of decision boxes with up to three outgoing links per node and activity boxes with a single outgoing link per node. The nodes are arranged in columns and rows, whose distance depends on the HorizontalPadding and VerticalPadding property values. When links share the same row or column, they are placed at a distance specified via LinkPadding. The layout arranges nodes recursively starting from StartNode. If StartNode is not specified, the algorithm selects the root of the deepest branch of the graph's spanning tree as start node.
  • Miscellaneous:
  • Layout algorithms now automatically resize diagram's Bounds if it's not large enough to fit the arranged content. To revert to old behavior and keep fixed Bounds size, set GrowToFit to false.

New in MindFusion.Diagramming for WinForms 6.1.3 (May 27, 2014)

  • Export Visio 2013 files:
  • The Visio2013Exporter class can export the content of Diagram and DiagramDocument objects to Visio 2013 VSDX files. In order to use it, add a reference to the MindFusion.Diagramming.Export.Visio.dll assembly. Similarly to the VDX format exporter, Visio2013Exporter relies on a template file, called Visio2013.vxt, containing some boilerplate Visio XML code. The template must be either located in same folder as the application assemblies, or its path must be specified via the TemplatePath property. At this time the exporter supports shapes from Visio basic stencil. Support for more shapes will be added upon request.
  • Visio2013Importer improvements:
  • The importer now supports Visio group shapes. Child shapes in groups are no longer lost when importing, and their corresponding diagram nodes are attached to the corresponding group node.
  • Visio NURBS curves are now imported as Bezier-style links.
  • Fix for importing connectors with applied rotation transform.
  • Shapes with a ‘hidden’ attribute in master definition are now imported as invisible items.
  • Headers and footers in PDF:
  • PdfExporter can now add headers and footers to exported pages. To specify their contents and font, set the HeaderFormat, HeaderFont, FooterFormat and FooterFont properties. Adding a %P placeholder to HeaderFormat or FooterFormat will render the current page number at its position.

New in MindFusion.Diagramming for WinForms 6.1.2 (Mar 26, 2014)

  • Resize multiple nodes:
  • Now it is possible to resize multiple selected nodes simultaneously. To enable that, set the AllowMultipleResize property to true. When enabled, dragging a corner or side adjustment handle of any node resizes all nodes in the selection. The operation will be cancelled for all nodes if any of them does not accept its new size, e.g. if it's smaller than MinimumNodeSize value.
  • Visio2013Importer improvements:
  • The Item argument of ImportItem event handlers is now pre-set to a DiagramItem instance created for the imported Visio shape, letting you avoid parsing some standard data such as Bounds or Text. You can either modify this item's properties, or replace it with a new instance of a different type.
  • Fixed a crash when a shape master does not have a name attribute (this happens with custom stencils)
  • Fixed a crash when theme1.xml is missing from the imported vsdx archive (this happens with files converted from old Visio versions to 2013 format)
  • Fixed a parse exception for some non-English locales.
  • Fixed a bug where one-segment connectors were imported at wrong positions.
  • Miscellaneous:
  • LinkLabels are now copied by DiagramLink copy constructor and clipboard methods.
  • Fixed LinkLabel positioning along Bezier links.
  • DiagramView.ZoomFactor setter no longer automatically aligns its value to ZoomControl zoom steps. This avoids imprecise ZoomToFit results.
  • API changes:
  • The SelectionMoved event has been renamed to SelectionModified, and is also raised if nodes are resized when AllowMultipleResize is enabled. Event handlers now receive SelectionEventArgs parameter instead of EventArgs.
  • The SelectionMoving event has been renamed to SelectionModifying, and is also raised if nodes are resized when AllowMultipleResize is enabled. Event handlers now receive SelectionValidationEventArgs parameter instead of ValidationEventArgs.

New in MindFusion.Diagramming for WinForms 6.1.1 (Jan 30, 2014)

  • Import Visio 2013 files:
  • The Visio2013Importer class can import .vsdx files created by Visio 2013. In order to use it, you must add a reference to the MindFusion.Diagramming.Import.Visio.dll assembly. Various overloads of the Import method can be used to import the file into a DiagramDocument whose pages correspond to the Visio drawing pages, or into a single Diagram whose content is merged from all imported pages. At this time Visio2013Importer supports the basic flowchart and data flow Visio stencils. For each node shape from the .vsdx file, the importer creates a ShapeNode object whose Shape, Text, Brush and Pen properties are set to values corresponding to the imported Visio shape. For each connector shape, the importer creates a DiagramLink object whose Origin and Destination are set to the corresponding imported nodes, and whose ControlPoints reflect the geometry of the connector.
  • Zoom control:
  • The ZoomControl class lets user change interactively the current zoom level and scroll position of a DiagramView. To set it up, add a ZoomControl to the form, place it anywhere over a DiagramView, and set the control's Target property to that view. Set the ZoomStep and ScrollStep properties to specify the amount added to view's zoom level or scroll position by ZoomControl's buttons. You can customize the control's appearance by setting properties such as Fill, BorderColor, CornerRadius and TickPosition.
  • Miscellaneous:
  • The arrow buttons in a TabbedDiagramView control now also change the active page.
  • DiagramPage titles can be renamed interactively by clicking the active tab in a TabbedDiagramView.
  • Several new shapes added for better compatibility with Visio 2013 basic stencil: RightTriangle, Decagon, Trapezoid, Star4Pointed, Star5Pointed, Star6Pointed, Star7Pointed, Star16Pointed, Star24Pointed, Star32Pointed, Donut, Plaque.
  • Support for Visual Studio 2013

New in MindFusion.Diagramming for WinForms 6.1 (Oct 22, 2013)

  • support for the Mono runtime
  • shape control points
  • support for custom measure units

New in MindFusion.Diagramming for WinForms 6.0.4 (Aug 22, 2013)

  • Import OpenOffice Draw files:
  • The DrawImporter class can import .odg files, created by the OpenOffice Draw vector graphics editor. In order to use it, you must add a reference to the MindFusion.Diagramming.Import.Draw.dll assembly. DrawImporter supports shapes from the General and Flowchart shape palettes in Draw. Various overloads of the Import method can be used to import the OpenOffice drawing into a DiagramDocument whose pages correspond to the Draw pages, or into a single Diagram whose content is merged from all imported pages. For each node shape from the .odg file, the importer creates a ShapeNode object whose Shape, Text, Brush and Pen properties are set to values corresponding to the imported OpenOffice shape. For each connector shape, the importer creates a DiagramLink object whose Origin and Destination are set to the corresponding imported nodes, and whose ControlPoints reflect the geometry of the connector.
  • Miscellaneous:
  • The XUnit and YUnit properties allow specifying the coordinates of an AnchorPoint as a fixed offset from the node's top-left corner rather than in percentage, so that the point position does not change when the node is resized.
  • The RotationHandleBrush property of HandlesVisualStyle can be used to set the brush of rotation handles.
  • New RoundAndSquare and RoundAndSquare2 handle styles can be set as the HandlesStyle of nodes.
  • Styles can now specify stroke dash styles via the StrokeDashStyle property of DiagramItemStyle and HeadStrokeDashStyle property of DiagramLinkStyle.
  • Improved placement of AutoArrange link labels along shorter link segments.
  • The ArrangeLinkLabels method rearranges link labels whose AutoArr

New in MindFusion.Diagramming for WinForms 6.0.3 (Jun 12, 2013)

  • local Z order in containers; improved interaction with containers in multiple selection;
  • clip child items to their container's borders;
  • support for multiple-color gradients in PdfExporter;
  • more precise character widths set by PdfExporter;
  • NegatedX and NegatedY properties added to Ruler control;

New in MindFusion.Diagramming for WinForms 6.0.2 (Mar 20, 2013)

  • preserve order in tree layout;
  • apply Glass and Aero effects to CompositeNodes; select-only behavior;
  • properties to control adding/removing container items;
  • ScrollZoneSize specifies size of auto-scroll area;

New in MindFusion.Diagramming for WinForms 5.8 (Mar 21, 2012)

  • Node effects:
  • Two new visual effects can be applied to nodes - Glass and Aero. In addition, the existing Emboss and Smooth Shadow effects are now applied to all node types, not just ShapeNode.
  • A new API is provided to facilitate effects usage. To apply an effect, create an instance of one of the effect classes, set up its properties, then add the instance to the Diagram.NodeEffects collection. Currently, there are four effect types available - EmbossEffect, SmoothShadowEffect, GlassEffect, and AeroEffect. Effects can be added, removed or modified at any time and this will immediately reflect on the diagram. Effects of different types can be applied simultaneously. It is also possible to apply more than one effect of the same type.
  • The old EnableEmbossEffects and EnableShadowEffects properties are reworked internally to use the new effect pipeline. Turning these properties on will automatically add an instance of the appropriate class to the NodeEffects collection. Therefore clearing the NodeEffects collection will turn these properties off if they were previously enabled. Keep in mind that the Diagram.EffectsProvider property is still required in order to enable the Emboss and Smooth Shadow effects.
  • Composite layout improvements:
  • The CompositeLayout exposes several new properties. The UseAdditionalPartitioning property can be set to true in order to enable additional partitioning pass after the default partition. This is especially useful when the initial partitioning produces a graph with nodes with many leaf children.
  • SolarLayout tree layout algorithm:
  • This variation of the fractal layout places child nodes around their parents, in such way, that the child nodes do not overlap. This algorithm takes into consideration the size of the nodes and tries to minimize the occupied space. The layout can optionally prevent links from crossing nodes by bending them.

New in MindFusion.Diagramming for WinForms 5.7 (Sep 30, 2011)

  • FractalLayout tree layout algorithm;
  • specify start and end nodes for LayeredLayout;
  • interactive node alignment via alignment guides;
  • slider and spinner components for CompositeNodes;
  • UndoManager supports custom add/remove commands;
  • DiagramView can use third-party scrollbars;

New in MindFusion.Diagramming for WinForms 5.6.4 (Aug 16, 2011)

  • Link auto-snapping:
  • Now links can automatically connect to the nearest diagram node without the mouse pointer reaching the node. This is enabled by setting the AutoSnapLinks property. The maximum distance at which auto-snap works can be specified through AutoSnapDistance. The LinksSnapToBorders property, which implemented similar functionality when the mouse is directly over a node, has been removed.
  • Components serialization:
  • CompositeNode components are now automatically serialized when saving in binary or XML format. It is also possible to serialize custom components by deriving the SaveTo, LoadFrom, SaveToXml, LoadFromXml methods of ComponentBase. Saving all components along with their attributes could lead to a lot of wasted space for node types derived from CompositeNode that have the same component hierarchy. In such scenarios, override the SerializeComponents method and return false to stop component serialization, and save only the relevant node properties by overriding the SaveTo, LoadFrom, SaveToXml, LoadFromXml methods of CompositeNode.
  • Miscellaneous:
  • WmfExporter now also renders the LaneGrid in the exported WMF drawing.
  • GetNearestNode returns the node that is closest to the specified point.
  • NodeClicked and LinkClicked are raised for items shown in DiagramView3D.
  • 3D positions of items specified via LayoutTraits[View3D.Position] are now serialized, both in binary and XML format.
  • GetProjectionOrigin method added to DiagramView3D.

New in MindFusion.Diagramming for WinForms 5.6.3 (May 19, 2011)

  • CompositeLayout algorithm:
  • CompositeLayout partitions the diagram into several subgraphs and applies the algorithm specified via the SubgraphLayout property on each part. If the part is a tree, it is arranged using the algorithm specified via the SubtreeLayout property, which is set to a radial TreeLayout instance by default. Finally the algorithm specified via MasterLayout is applied on the graph that represents the overall partition. By running the polynomial-complexity layout algorithms on small subgraphs, CompositeLayout is able to process a large graph much faster than if a layout algorithm is applied on the whole graph.
  • Miscellaneous:
  • ~ If there is only one used execution path after a branching and up to two empty ones, FlowchartLayout will now center the used path under the branching start node.
  • ~ OrthogonalLayout now produces more compact layouts with less link bends if MinimizeLinkBends is enabled.
  • ~ The DisableMirroring constraint prevents users from flipping a node by dragging a handle over the opposite node side.
  • ~ A new sample project called "Scripting" shows how to associate scripts with flowchart nodes to design and run actual algorithms represented by the flowcharts.

New in MindFusion.Diagramming for WinForms 5.6.2 (Apr 13, 2011)

  • Dynamic node shapes:
  • Shape instances can be defined using custom code that takes into consideration the current width and height of nodes. This allows creating shapes whose primitive elements change non-uniformly, e.g. by growing only in width or height when a node is resized. There are two ways to create such shapes. The first one is to use the Shape constructor that takes a CreatePathDelegate parameter, which can be implemented using a .NET function. Another Shape constructor takes a string argument that represents a Visio-like shape formula evaluated in run-time. The latter method enables serializing the shape code in external files, which can be reused by different applications and by MindFusion components for other platforms.
  • SpringLayout improvements:
  • Better handling of large nodes and nodes with non-uniform size.
  • The SpringLayout energy model has been changed to one that leads to better symmetry in the arranged graphs. The old model can still be used by setting LayoutMethod to Classic. This is recommended when using rounded links.
  • The Randomize property allows starting the layout process from random node positions.

New in MindFusion.Diagramming for WinForms 5.6.1 (Mar 5, 2011)

  • the swimlane grid can be exported to Visio;
  • PdfExporter supports radial gradients;
  • VisioImporter can import attributes from shape masters;
  • improved SVG parsing speed;
  • new events for CompositeNode components;

New in MindFusion.Diagramming for WinForms 5.6.0 (Feb 11, 2011)

  • compose nodes from various kinds of components
  • border, text, image and shape widgets
  • button, checkbox and edit input widgets
  • simple, stack and grid panels for component layout
  • SvgNodes support SVG text and marker elements
  • NodePointed or LinkPointed events

New in MindFusion.Diagramming for WinForms 5.5.0 (Dec 3, 2010)

  • export diagrams to SWF (Adobe Flash) format;
  • CascadeLayout graph layout algorithm;
  • HierarchicalLayout graph layout algorithm;
  • improved OrthogonalLayout results;
  • TriangularLayout graph layout algorithm;

New in MindFusion.Diagramming for WinForms 5.4.0 (Sep 14, 2010)

  • swimlane layout class;
  • Export diagrams to WMF format;
  • PdfExporter and SvgExporter improvements;
  • text formatting improvements;

New in MindFusion.Diagramming for WinForms 5.3.5 (May 19, 2010)

  • support for Visual Studio 2010 and .NET 4;
  • Toolbox Installer tool;
  • Id property added to DiagramItem;
  • shadows can be painted using any brush type;
  • improved PathGradientBrush support;

New in MindFusion.Diagramming for WinForms 5.3.4 (Apr 15, 2010)

  • support for custom arrowheads
  • intermediate arrowheads for Bezier links
  • distinct arrowhead brushes
  • improved ShapeDesigner

New in MindFusion.Diagramming for WinForms 5.3.3 (Dec 3, 2009)

  • SvgNode improvements; Adjustment handles styling; route links while their incident nodes are being modified;

New in MindFusion.Diagramming for WinForms 5.3.2 (Sep 11, 2009)

  • topological layout algorithm;
  • relationship queries on the graph;
  • PdfExporter multi-language support;

New in MindFusion.Diagramming for WinForms 5.3.1 (Jul 15, 2009)

  • TreeViewNode enhancements;
  • SVG loading speed greatly improved;

New in MindFusion.Diagramming for WinForms 5.3 (Jun 26, 2009)

  • SVG nodes;
  • TreeView nodes;
  • Flowchart graph layout;
  • LayeredLayout enhancements;
  • BPMN shapes;
  • Edit mode in DiagramView3D;
  • Link routing enhancements;

New in MindFusion.Diagramming for WinForms 5.2.1 (Mar 27, 2009)

  • PathFinder improvements;
  • styled text improvements;
  • automatically distribute links among node's anchor points;

New in MindFusion.Diagramming for WinForms 5.2.0 (Feb 11, 2009)

  • Orthogonal graph layout algorithm;
  • Circular graph layout algorithm;
  • lane grid extensions;

New in MindFusion.Diagramming for WinForms 5.1 (Jul 22, 2008)

  • Display graphs in 3D;
  • SpringLayout animation;
  • SpringLayout in 3D;
  • PdfExporter enhancements;

New in MindFusion.Diagramming for WinForms 5.0.1 (Oct 25, 2007)

  • Hyperlink support in SvgExporter and PdfExporter; flowcharts and process diagrams layout algorithm; LayeredLayout can arrange the diagram links orthogonally;
  • the AnnealLayout performance has been improved; VisioExporter now supports containers

New in MindFusion.Diagramming for WinForms 5.0 (Sep 4, 2007)

  • Document/View architecture;
  • Support for custom diagram item types;
  • Containers;
  • Orthogonal graph layout;
  • Now all drawing is done through the IGraphics interface, for which the control provides GdiGrahics, SvgGraphics and PdfGraphics implementations

New in MindFusion.Diagramming for WinForms 4.2.2 (Dec 7, 2006)

  • improved PDF export component; New layout properties; ControlHost improvements; Serialization improvements

New in MindFusion.Diagramming for WinForms 4.2 (Jul 31, 2006)

  • Export diagrams to PDF format;
  • Simulated Annealing graph layout algorithm;
  • New constraint properties added to NodeConstraints

New in MindFusion.Diagramming for WinForms 4.1 (May 10, 2006)

  • Export diagrams to DXF format; Image and ImageRectangle properties added to the ShapeTemplate class; The PathFinder class can ignore the direction of arrows when looking for paths; Now users can change the orientation of cascading arrows interactively