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