Search
What's New in this Release

The list below describes recent changes and additions to MindFusion.Diagramming:

New in version 7.0.5

Customize node action icons

The Renderers class lets you customize the appearance of nodes' fold, scroll and collapse icons, by providing GDI+ drawing callbacks, bitmap images or SVG drawings:

New in version 7.0.4

  • FreeFormNode objects now support rotation.
  • Minimum required .NET Framework version lowered from 4.7.2 to 4.6.2.

New in version 7.0.3

New mouse events

  • NodePointed event has been replaced by a set of more specific events: NodePointerEnter and NodePointerLeave are raised when the mouse pointer respectively enters or leaves the boundaries of a node. NodeHovered fires if the pointer rests over a node for HoverDelay milliseconds.
  • LinkPointed event has been replaced by a set of more specific events: LinkPointerEnter and LinkPointerLeave are raised when the mouse pointer respectively enters or leaves the boundaries of a link. LinkHovered fires if the pointer rests over a link for HoverDelay milliseconds.

Miscellaneous

  • Set the AutoDeleteLinks property to false to prevent deleting links along with a node they connect, and disconnect the links instead.
  • DividerPen property added to ContainerNode, TableNode and TreeViewNode classes. It lets you customize the appearance of the divider line drawn between a node's caption bar and content area.
  • Fix for custom DoDragDrop calls not working if allowedEffects argument is set to Move.
  • Fixed label placement when SetLinkLengthPosition is called with 1 as argument value.
  • Fix for ExteriorBrush not used when drawing to interaction back buffer.

API changes

New in version 7.0.2

New in version 7.0.1

Drag-and-drop improvements

Miscellaneous

  • Fixed in-place edit for NodeLabels outside of node's boundaries.
  • Fixed repaint glitches of NodeLabels outside of node's boundaries.

New in version 7

Multi-touch support

Diagram views now handle Windows touch messages and implement multitouch gestures that can be controlled via following properties:

  • If MultiTouchZoom property is enabled (default), the view can be zoomed or panned using two-touch pinch / flick gestures.
  • If MultiTouchModify property is enabled (default), diagram nodes can be moved, scaled and rotated using two-touch pinch / flick gestures.
  • If MultiTouchZoom property is disabled, each touch draws diagram items corresponding to current behavior.
  • If MultiTouchModify property is disabled, each touch started from a node draws a diagram link.
  • Latter modes can be used for collaborative whiteboarding / classroom scenarios.
  • Setting MultiTouchDraw to false lets you prevent drawing multiple items simultaneously, while keeping other multitouch gestures enabled.
  • If MultiTouchDraw is enabled (default), a second touch will still cancel first-touch drawing if added within TouchGestureInterval time and TouchGestureDistance distance, and start a multi-touch gesture.
  • Additional Diagram.TouchHitDistance property makes it easier to grab adjustment handles on touch screens, without increasing the AdjustmentHandlesSize value.

Animations

The library now includes several standard animation classes and methods.

The Animate method of DiagramItem can run following animations:

Following animations can be applied to DiagramNodes:

The Animate method of DiagramView can run following animations:

Async serialization

Files can now be saved and loaded asynchronously. Async methods create a copy of the diagram to process it in a worker thread, and custom item classes must implement Clone method or copy constructor in order to serialize them as expected.

Paged view

PagedDiagramView offers an alternative way to display DiagramDocument objects (along with TabbedDiagramView). The diagram pages are arranged vertically in a shared scrollable range. The distance between pages can be set via PageSpacing property. If pages are of differing widths, you can align them horizontally using the PageAlignment property. Apart from using scrollbars, users can also change pages by clicking navigation buttons at the bottom of the view. The navigation bar can optionally display buttons for adding and removing pages, as specified by ShowAddButton and ShowRemoveButton properties. The control raises PageAdding and PageRemoving validation events to confirm the operations. If validated, there are PageAdded and PageRemoved events raised. If the AllowRenamePages property is enabled, users can edit the Title of a DiagramPage by double clicking the label in navigation bar. The PageRenamed event is raised to notify the application when page is renamed.

Offscreen printing

Diagrams can be printed without showing them in diagram views on forms, or opening forms altogether, by means of DiagramPrinter and DiagramDocumentPrinter. The former lets you print a diagram assigned to the Diagram property, while the latter prints a DiagramDocument assigned to its Document property.

Miscellaneous

  • Enable the AllowZoom property of Overview control to let users zoom the diagram view by resizing overview's viewport tracker rectangle.
  • BorderColor and BorderWidth properties added to DiagramView.
  • SvgNode parser now supports multiple class names in the "class" attribute of SVG elements.
  • DiagramDocument JSON serialization methods.
  • Clone methods of Diagram and DiagramDocument return a copy of the diagram / document and its items.