yFiles for Silverlight Release Notes
Version 2.1 is the current major release of yFiles for Silverlight.
The latest release of yFiles for Silverlight is version 2.1.0.2.
Technical Requirements
- A Microsoft Windows operating system that supports the Silverlight platform.
- Visual Studio 2010 or Visual Web Developer 2010 Express with Microsoft Silverlight 4 Tools (or higher) for software development with yFiles for Silverlight.
- Microsoft Silverlight 4 plugin (or higher) and a supported Web browser to execute yFiles for Silverlight-powered programs.
- Visual Studio 2010 or Visual Web Developer 2010 Express to view registered yFiles for Silverlight documentation (such as the Class Reference and the Developer's Guide).
- A browser to view the HTML documentation.
yFiles for Silverlight 2.1 - Changes Since 2.0.0.1
Major Features Added
|
|
|
|
| Extensively enhanced swimlane support |
Layout support for rotated labels |
Many new layout demos |
New Comprehensive Support for Swimlane Diagrams
-
New model class
yWorks.yFiles.UI.Model.Tableprovides extensive support for tabular presentation of subgraphs which is well suited for the visual presentation of swimlane layouts.
Flexible visualization for table elements by means of existing node styles is provided by implementations of theyWorks.yFiles.UI.Drawing.ITableNodeStyleinterface.
[To the corresponding section in the yFiles for Silverlight Developer's Guide...] -
New dedicated InputMode
yWorks.yFiles.UI.Input.TableEditorInputModewhich can be used either standalone or as a child mode ofyWorks.yFiles.UI.Input.GraphEditorInputModeand which provides support for user interaction specific to the tabular data representation of an associated node.
[To the corresponding section in the yFiles for Silverlight Developer's Guide...] -
New support class
TableLayoutConfiguratorcan automatically create a suitable partition grid setup from existing table structures in a graph. Also,LayoutExecutorhas been enhanced to optionally configure table specific layout features. [To the corresponding section in the yFiles for Silverlight Developer's Guide...] -
The
Demo.yFiles.Graph.TableEditordemo demonstrates the capabilities of table visualization editing, as well as automatic layout of swimlane diagrams.
Visual enhancements
-
Added new edge label models
RotatedSliderEdgeLabelModelandRotatedSideSliderEdgeLabelModelwhich allow placement of rotated labels on a continuous set of positions along both sides of an edge or directly on the edge path.
Automatic Layout
-
New support for rotated labels (e.g. using the new
RotatedSliderEdgeLabelModelorRotatedSideSliderEdgeLabelModel) in the yFiles generic labeling algorithms.
Minor Features Added
CanvasControlnow offers a method that yields theVisualfor a givenICanvasObject. This can be leveraged by UI testing tools.- New class
NodeStylePortStyleAdaptercan be used to reuse existingINodeStyleimplementations for port visualization.
Improvements
- License failures in the algorithms assembly are reported more prominently when used through
LayoutExecutorand related convenience methods. WaitInputModeis automatically enabled while file I/O commands are executed.GraphEditorInputMode.DeleteSelectionnow doesn't create an empty Undo edit if nothing would be deleted at all.CreateEdgeInputMode:UpdateEdgeStyleis now called after the source port candidate has been determined.Mouse2DEventTypesnow also includes the case where mouse capture is lost. All existing input modes have been improved to take advantage of this event, where appropriate.
Automatic Layout
-
LayoutExtensions: Added and improved convenience methods that deal with sequence and layer constraints. - Edges that had both source and target group IDs were not grouped at all by EdgeGroupRouterStage.
OrientationLayouter: Node insets as well as port constraints are now also translated correctly for each possible orientation.
Demos
-
Added new
Demo.yFiles.Layout.MixedLayoutdemo that shows how to recursively apply different layout algorithms to the contents of group nodes. -
Added new
Demo.yFiles.Layout.PartialLayoutdemo that presents specific setup of the new partial layout support in conjunction with Circular, Hierarchic, Organic, and Orthogonal Layout. -
The new
Demo.yFiles.Layout.LayerConstraintsdemo shows how to use layer constraints with the IncrementalHierarchicLayouter to restrict the node layering. -
The new
Demo.yFiles.Layout.SequenceConstraintsdemo shows how to use sequence constraints with the IncrementalHierarchicLayouter to restrict the node sequencing. -
The new
Demo.yFiles.Layout.PortCandidatedemo shows how PortCandidateSets can be used with IncrementalHierarchicLayouter to control from what side edges connect to certain node types in the automatic layout process.
It also show-cases a custom node style that displays simple flowchart symbols and integrated port candidate visualization. -
Added new
Demo.yFiles.Layout.LogicGatedemo that shows how to apply fixed PortConstraints to a layout and how to use PortCandidates for interactive edge creation (via IPortCandidateProvider).
It also show-cases a custom node style that displays logic gate symbols. -
Added new
Demo.yFiles.Layout.GenericTreedemo that shows the effects of different NodePlacer implementations on a node and its subtree(s) in a tree layout calculated by GenericTreeLayouter. -
The new
Demo.yFiles.Layout.EdgeLabelingdemo shows how to configure different edge label models as well as how to apply the generic edge labeling algorithm. -
The new
Demo.yFiles.Layout.NodeLabelingdemo shows how to use the node label models in conjunction with the yFiles generic labeling algorithms. -
Added new
Demo.yFiles.Graph.BusinessProcessDiagramdemo that presents bow to create, edit, and lay out business process diagrams that adhere to the Business Process Modeling Notation. -
The new
Demo.yFiles.Layout.BusRouterDemoshows how to use the orthogonal bus-style edge router.
Bugfixes
- Setting the
CanvasControl.MaximumZoomproperty resulted inNotImplementedExceptionbeing thrown. - Resizing nodes interactively did not make use of additional snap lines from the
GraphSnapContext. - The expand and collapse group node commands did not execute in case the
UseCurrentItemForCommandproperty was being used. NavigationInputMode.ExitGroupraised theGroupEnteredevent instead of theGroupExitedevent.CreateEdgeInputModestarted calculation of the target port candidates too early and did not remove the highlighting of the target node if the creation was canceled early during the gesture.- The default implementation of
ICanvasObjectGroupreturned a broken enumerator for theIListEnumerableinterface. - A memory leak in
CreateEdgeInputModemade cleaning up a GraphControl impossible after an edge had been created interactively using that mode with snapping disabled. - CreateEdgeInputMode's
GetSourcePortCandidatemethod was sometimes invoked with the wrong location. - MouseHoverInputMode now reacts during mouse drags, too and method
Showrespects parameter if it differs from the mouse location. - Mouse events were being redispatched, even if the mouse was outside the GraphControl. This resulted in tooltips being displayed and other potential issues when the overview was used to move the viewport.
Animator.Destroy()caused subsequent Animator usages to fail.ClickInputMode.ValidHitTestablewas not always queried in certain double click configurations.- Minimum node size was not automatically provided to the algorithms library by LayoutGraphAdapter.
- The
GraphClipboarddid not always copy all state of items that were invisible in a folded graph view. - Fixed a bug that caused the
GraphCommands.CollapseGroupCommandandGraphCommands.ToggleGroupStateCommandto fail in case of certain multi-node selections. ControlStyleBase.StyleTagwas not excluded from obfuscation.









