ProductsServicesDownloadsNewsCompanyContact

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.Table provides 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 the yWorks.yFiles.UI.Drawing.ITableNodeStyle interface.
    [To the corresponding section in the yFiles for Silverlight Developer's Guide...]
  • New dedicated InputMode yWorks.yFiles.UI.Input.TableEditorInputMode which can be used either standalone or as a child mode of yWorks.yFiles.UI.Input.GraphEditorInputMode and 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 TableLayoutConfigurator can automatically create a suitable partition grid setup from existing table structures in a graph. Also, LayoutExecutor has 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.TableEditor demo demonstrates the capabilities of table visualization editing, as well as automatic layout of swimlane diagrams.

Visual enhancements

  • Added new edge label models RotatedSliderEdgeLabelModel and RotatedSideSliderEdgeLabelModel which 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 RotatedSliderEdgeLabelModel or RotatedSideSliderEdgeLabelModel) in the yFiles generic labeling algorithms.

Minor Features Added

  • CanvasControl now offers a method that yields the Visual for a given ICanvasObject. This can be leveraged by UI testing tools.
  • New class NodeStylePortStyleAdapter can be used to reuse existing INodeStyle implementations for port visualization.

Improvements

  • License failures in the algorithms assembly are reported more prominently when used through LayoutExecutor and related convenience methods.
  • WaitInputMode is automatically enabled while file I/O commands are executed.
  • GraphEditorInputMode.DeleteSelection now doesn't create an empty Undo edit if nothing would be deleted at all.
  • CreateEdgeInputMode: UpdateEdgeStyle is now called after the source port candidate has been determined.
  • Mouse2DEventTypes now 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.MixedLayout demo that shows how to recursively apply different layout algorithms to the contents of group nodes.
  • Added new Demo.yFiles.Layout.PartialLayout demo that presents specific setup of the new partial layout support in conjunction with Circular, Hierarchic, Organic, and Orthogonal Layout.
  • The new Demo.yFiles.Layout.LayerConstraints demo shows how to use layer constraints with the IncrementalHierarchicLayouter to restrict the node layering.
  • The new Demo.yFiles.Layout.SequenceConstraints demo shows how to use sequence constraints with the IncrementalHierarchicLayouter to restrict the node sequencing.
  • The new Demo.yFiles.Layout.PortCandidate demo 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.LogicGate demo 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.GenericTree demo 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.EdgeLabeling demo shows how to configure different edge label models as well as how to apply the generic edge labeling algorithm.
  • The new Demo.yFiles.Layout.NodeLabeling demo shows how to use the node label models in conjunction with the yFiles generic labeling algorithms.
  • Added new Demo.yFiles.Graph.BusinessProcessDiagram demo 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.BusRouterDemo shows how to use the orthogonal bus-style edge router.

Bugfixes

  • Setting the CanvasControl.MaximumZoom property resulted in NotImplementedException being 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 UseCurrentItemForCommand property was being used.
  • NavigationInputMode.ExitGroup raised the GroupEntered event instead of the GroupExited event.
  • CreateEdgeInputMode started 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 ICanvasObjectGroup returned a broken enumerator for the IListEnumerable interface.
  • A memory leak in CreateEdgeInputMode made cleaning up a GraphControl impossible after an edge had been created interactively using that mode with snapping disabled.
  • CreateEdgeInputMode's GetSourcePortCandidate method was sometimes invoked with the wrong location.
  • MouseHoverInputMode now reacts during mouse drags, too and method Show respects 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.ValidHitTestable was not always queried in certain double click configurations.
  • Minimum node size was not automatically provided to the algorithms library by LayoutGraphAdapter.
  • The GraphClipboard did not always copy all state of items that were invisible in a folded graph view.
  • Fixed a bug that caused the GraphCommands.CollapseGroupCommand and GraphCommands.ToggleGroupStateCommand to fail in case of certain multi-node selections.
  • ControlStyleBase.StyleTag was not excluded from obfuscation.