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.FoldingManagercan 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.IFoldedGraphdefines 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.BridgeManagerprovides 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.GraphEditorEventreports user interaction such as creating or removing items. It also reports mouse clicks on items. com.yworks.graph.model.FilteredGraphWrappernow supports grouped graphs.- Improved performance for node relocation in complex grouped graphs.
- Class
com.yworks.graph.model.GraphDecoratorsimplifies 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.StyledLayoutGraphallows conveniently managing styles, labels and graph hierarchies at server side. - Class
com.yworks.yfiles.server.graphml.folding.FoldedLayoutGraphallows 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.DemoConfigToolallows flexible configuration of the web application root.- The IncrementalHierarchicGroupDemo works with a .NET server backend.
Bugfixes
Client
com.yworks.io.graphml.JavaCompatGraphMLIOHandlerandcom.yworks.io.graphml.DotnetCompatGraphMLIOHandlernow 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.ObjectMapperAttributeInputHandlercan 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.CreateEdgeInputModeresets the cursor after edge creation. - Fixed the viewpoint calculation for animated layouts of folded graphs
Server (.NET)
GraphRoundtripSupport.AttributeMapperInputHandlercan now read attributes with scope graph.
Incompatible Changes
Client
-
AbstractInputMode's methodinstall()is final now. All subclassing input modes have to refactor overriding methodspublic override function install( context:IInputModeContext )toprotected override function installCore(context:IInputModeContext)and calls inside this method to the super implementation tosuper.installCore() -
com.yworks.canvas.input.MainInputModeorcom.yworks.graph.input.GraphEditorInputMode: thegraphCanvas,selectionModelandcollectionModelare not set at the timeinstallingis dispatched. When initializing the input modes move all code which accesses these properties to a handler for theinstalledevent. Note: any other customizations must still be carried out in theinstallingevent handler. -
Interface
com.yworks.graph.model.IPortCandidate's propertyget location():IPointwas replaced byget locationModelParameter():IPortLocationModelParameter. Implementget locationModelParameter():IPortLocationModelParameter. To preserve the current functionality, aIPortLocationModelParameterinstance can be generated from a given location bynew 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 topublic function DefaultPortCandidate( owner:IPortOwner, locationModelParameter:IPortLocationModelParameter=null ). -
Method
addPortWithParameter( portOwner:IPortOwner, modelParameter:IPortLocationModelParameter ):IPortand thedefaultNodePortModelParameterproperty have been added to thecom.yworks.graph.model.IGraphinterface. JavaCompatGraphMLIOHandlerandDotnetCompatGraphMLIOHandlernow 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.GraphMoveInputModenow takes the movable items from the parent input mode if themovableItemsproperty is set tonull.- The interface
com.yworks.support.IServiceProviderhas been removed. Occurrences of this interface have been replaced bycom.yworks.support.ILookup, which provides the same functionality. - The default value of
com.yworks.canvas.CanvasComponent#mouseWheelZoomhas been changed from1.2to1.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'sdataPropertyNamehas been changed to "dataObject" in order to match the corresponding default value of the client-side template style implementation.









