ProductsServicesDownloadsNewsCompanyContact

yFiles FLEX Release Notes

yFiles FLEX version 1.4 is the newest major release available. The latest release is version 1.4.0.2.

Technical Requirements

  • Flex 3 SDK for software development of yFiles FLEX-powered web applications for Adobe Flash Player 9 (or higher).
  • Adobe Flash Player 9 (or higher) on the client to execute yFiles FLEX-powered web applications.
  • For automatic graph layout on the server, either yFiles for Java Complete (2.6 series, at least 2.6.1) or yFiles.NET Complete (3.2 series, at least 3.2.1.2).
  • A servlet container (for example, Apache Tomcat) is required, if yFiles FLEX is combined with yFiles for Java.
  • Sun Microsystems J2RE 1.4 (or higher) on the server, if the yFiles for Java library is used.
  • Visual Studio is recommended as IDE, if yFiles FLEX is combined with yFiles.NET.

yFiles FLEX 1.4 Changes Since 1.3.2

Major New Features

Client-side
folding support
Bridges in
edge paths
Interactive
magnifying glass tool

Support for folding operations in hierarchically grouped graphs

  • Class com.yworks.graph.model.FoldingManager can be used to establish a model-view setup where so-called managed views provide support for folding operations in a hierarchically grouped graph.
  • Interface com.yworks.graph.model.IFoldedGraph defines the contract for working with the folding-enabled graph in a managed view. It enables collapsing of group nodes and expanding of previously collapsed group nodes.
  • The various IInputMode implementations fully support working with folding-enabled graphs. Both collapsing and expanding group nodes and also navigating into and out of group nodes is covered.
  • The clipboard facility and undo engine fully support folding operations transparently.
  • A new node style decorator, com.yworks.graph.drawing.ICollapsibleNodeStyleDecorator, has been added. It is specifically designed to support the user interaction part of folding operations with group nodes by means of a collapse/expand "handle."
  • Class HierarchyTreeView provides additional folding-related support for displaying the hierarchy of a folding-enabled graph in a Tree control.

Visual Enhancements

  • Class com.yworks.canvas.model.BridgeManager provides support for so-called bridges in edge paths that resolve the visual ambiguity induced by edge crossings.

Enhanced User Interaction Support

  • A new interactive magnifying glass "tool" enables local zooming in the canvas.
  • A new navigation input mode enables users to conveniently select nodes using the cursor keys.
Client-side
folding support
Bridges in
edge paths
Interactive
magnifying glass tool

General

  • Distributed as bundle with a yFiles for Java or yFiles .NET server component.
  • New demo applications: FoldingDemo, BridgeDemo, LookupDecoratorDemo, JavaExportDemo.
  • Improved Getting Started tutorial.
  • The GraphML library shipped with yFiles FLEX was upgraded to version 3.1.1.

Improvements

Client

  • Port location models allow flexible handling of port locations upon node resizing.
  • Improved customizability of com.yworks.canvas.input.NodeEffectInputMode. Support for any model item kind.
  • Event com.yworks.graph.input.GraphEditorEvent reports user interaction such as creating or removing items. It also reports mouse clicks on items.
  • com.yworks.graph.model.FilteredGraphWrapper now supports grouped graphs.
  • Improved performance for node relocation in complex grouped graphs.
  • Class com.yworks.graph.model.GraphDecorator simplifies modifcations of the lookup mechanism, thus allowing convenient customization of user interaction.
  • Improved morphing between different zoom levels.
  • Bends on self loop edges are now selected when a node is selected

Server (Java)

  • Class com.yworks.yfiles.server.graphml.flexio.data.StyledLayoutGraph allows conveniently managing styles, labels and graph hierarchies at server side.
  • Class com.yworks.yfiles.server.graphml.folding.FoldedLayoutGraph allows conveniently managing graph hierarchies as expanding and collapsing group nodes at the server side.
  • IncrementalHierarchicGroupDemo does not depend any more on Graph2D.

Demos

  • Flex Builder project files allow easy import of demos into Flex Builder.
  • demo.DemoConfigTool allows flexible configuration of the web application root.
  • The IncrementalHierarchicGroupDemo works with a .NET server backend.

Bugfixes

Client

  • com.yworks.io.graphml.JavaCompatGraphMLIOHandler and com.yworks.io.graphml.DotnetCompatGraphMLIOHandler now read and write the node and edge ids (node-2-id, edge-2-id) by default.
  • Bends can now be selected with mouse clicks.
  • Java compatibility mode: embedded image resources can now be read on server side.
  • Edge creation: highlight is removed when a drag is cancelled over the source node.
  • com.yworks.io.graphml.reader.ObjectMapperAttributeInputHandler can now handle shared references.
  • Fixed dragging behavior of bends on self loop edges.
  • Fixed incorrect bend relocation when moving nodes together with bends is aborted.
  • Fixed memory leak in the graph implementation.
  • The com.yworks.graph.input.CreateEdgeInputMode resets the cursor after edge creation.
  • Fixed the viewpoint calculation for animated layouts of folded graphs

Server (.NET)

  • GraphRoundtripSupport.AttributeMapperInputHandler can now read attributes with scope graph.

Incompatible Changes

Client

  • AbstractInputMode's method install() is final now. All subclassing input modes have to refactor overriding methods public override function install( context:IInputModeContext ) to protected override function installCore(context:IInputModeContext) and calls inside this method to the super implementation to super.installCore()
  • com.yworks.canvas.input.MainInputMode or com.yworks.graph.input.GraphEditorInputMode: the graphCanvas, selectionModel and collectionModel are not set at the time installing is dispatched. When initializing the input modes move all code which accesses these properties to a handler for the installed event. Note: any other customizations must still be carried out in the installing event handler.
  • Interface com.yworks.graph.model.IPortCandidate's property get location():IPoint was replaced by get locationModelParameter():IPortLocationModelParameter. Implement get locationModelParameter():IPortLocationModelParameter. To preserve the current functionality, a IPortLocationModelParameter instance can be generated from a given location by new NodeScaledPortLocationModel().createAbsoluteParameter(location.x, location.y).
  • IPortCandidate's default implementation, com.yworks.graph.model.DefaultPortCandidate, has a changed constructor signature: public function DefaultPortCandidate( owner:IPortOwner, location:IPoint=null ) was changed to public function DefaultPortCandidate( owner:IPortOwner, locationModelParameter:IPortLocationModelParameter=null ).
  • Method addPortWithParameter( portOwner:IPortOwner, modelParameter:IPortLocationModelParameter ):IPort and the defaultNodePortModelParameter property have been added to the com.yworks.graph.model.IGraph interface.
  • JavaCompatGraphMLIOHandler and DotnetCompatGraphMLIOHandler now read and write the node and edge ids (node-2-id, edge-2-id) by default. Developers who have registered node and edge attributes for these ids have to remove them.
  • GraphMoveInputMode now takes the movable items from the parent input mode if the movableItems property is set to null.
  • The interface com.yworks.support.IServiceProvider has been removed. Occurrences of this interface have been replaced by com.yworks.support.ILookup, which provides the same functionality.
  • The default value of com.yworks.canvas.CanvasComponent#mouseWheelZoom has been changed from 1.2 to 1.02.
  • The mappers which keep the node and edge IDs now use "weak" references on nodes and edges: Node and edge instances are eligible for garbage collection after they are removed from the graph and if no other reference to the instance is kept elsewhere.

Server (Java)

  • The default value of the com.yworks.yfiles.server.graphml.flexio.data.TemplateStyle's dataPropertyName has been changed to "dataObject" in order to match the corresponding default value of the client-side template style implementation.