The list below describes recent changes and additions to MindFusion.Diagramming:
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.