yFiles FLEX Client Layout Extension Versionsinformationen
Version 1.2.0.1 der yFiles FLEX Client Layout Extension ist das aktuelle Release.
Technische Voraussetzungen
- Die yFiles FLEX Client Layout Extension benötigt yFiles FLEX 1.6-er Versionsserie. Sie kann nicht ohne die yFiles FLEX Bibliothek kompiliert oder benutzt werden.
- Client Anwendungen, die die yFiles FLEX Client Layout Extension benutzen benötigen Adobe® Flash® Player Version 10.
- AIR Desktop Anwendungen, die die yFiles FLEX Client Layout Extension benutzen benötigen Adobe Integrated Runtime (AIR) Version 1.5.
- Zum Kompilieren von Client Anwendungen und AIR Desktop Anwendungen, die die yFiles FLEX Client Layout Extension benutzen, wird das Flex 3.2 SDK oder höher benötigt.
yFiles FLEX Client Layout Extension 1.2.0.1 - Änderungen zu Version 1.2 (englisch)
Bugfixes
- Fixed a bug which could break routing with the
com.yworks.yfiles.layout.router.BusRouter.
yFiles FLEX Client Layout Extension 1.2 - Änderungen zu Version 1.1 (englisch)
General
- Minimum required yFiles FLEX version is now 1.6.
Major Features Added
Automatic Layout
-
New support for rotated labels (e.g. using the
com.yworks.graph.model.RotatedSliderEdgeLabelModelor thecom.yworks.graph.model.RotatedSideSliderEdgeLabelModelintroduced in yFiles FLEX 1.6) in the generic labeling algorithms. -
com.yworks.yfiles.layout.partial.PartialLayouter: A new layout algorithm for partial layouts. This layout algorithm changes the coordinates for a given set of graph elements (called partial elements). The location or size of the remaining elements (called fixed elements) is not allowed to change. The layout algorithm aims to place the partial elements such that the resulting drawing (including the fixed elements) has a good quality with respect to common graph drawing aesthetics. -
com.yworks.yfiles.layout.router.BusRouter: A new orthogonal bus-style edge routing algorithm. This algorithm combines the large number of edges of complete subgraphs in a concise, tree-like structure that consists only of vertical and horizontal line segments. The positions of the nodes in a graph are not altered by this algorithm. -
com.yworks.yfiles.layout.router.OrthogonalEdgeRouter: Added support for monotonic path restrictions. Such restrictions specify that edges should be routed monotonically in vertical and/or horizontal direction. The restrictions can be set with propertymonotonicPathRestriction. -
com.yworks.yfiles.layout.hierarchic.IncrementalHierarchicLayouter: Added DataProvider keyCRITICAL_EDGE_DPKEYthat allows to specify a priority value for edges that are part of critical paths. The layouter tries to vertically align each node pair that is connected by such a "critical" edge (an edge that has a non-zero, positive priority value). Conflicts between different critical edges are resolved in favor of the higher priority. -
com.yworks.yfiles.layout.hierarchic.incremental.SimplexNodePlacer: Added optionstraightenEdgeswhich allows to specify whether or not a postprocessing step should be applied that tries to remove some bends. Enabling this option may violate some minimum distances specified by the user. -
com.yworks.yfiles.layout.router.OrthogonalEdgeRouter: Added support for PortCandidateSets that allow to specify the available port candidates at a node.
Minor Features Added
Automatic Layout
-
New layout stage class
com.yworks.yfiles.layout.router.PartitionGridRouterStageenablescom.yworks.yfiles.layout.router.OrthogonalEdgeRouterto properly route edges within a partition grid. -
com.yworks.yfiles.layout.grouping.RecursiveGroupLayouter: Added DataProvider keyGROUP_NODE_LAYOUTER_DPKEYthat allows an easier way to specify the layout algorithm used for recursive group nodes. Furthermore, it allows to specify non-recursive group nodes, i.e., group nodes whose contents are laid out using the Layouter instance specified by the nearest predecessor of the group node (with respect to the grouping hierarchy) which is associated with a layouter. -
com.yworks.yfiles.layout.tree.TreeLayouter: Added new support for child placement policies that can be used to achieve more compact tree layouts: propertychildPlacementPolicy. -
com.yworks.yfiles.layout.tree.TreeLayouter: Added new global layering option that ensures that large nodes never span more than their layer: propertyenforceGlobalLayering. -
com.yworks.yfiles.layout.router.OrthogonalEdgeRouter: Added support for considering node labels, propertyconsiderNodeLabels. -
com.yworks.yfiles.layout.circular.CircularLayouter: Added DataProvider keyCIRCLE_ID_HOLDER_DPKEYthat allows to obtain a mapping between nodes and the corresponding circle IDs. -
com.yworks.yfiles.layout.router.OrthogonalEdgeRouter: Added new routing styleSTYLE_BALANCEDwhich is based on the existingSTYLE_PREFERMIDDLEbut draws segments between bends of the same direction (U-style turns) the short way.
Graph Model
- Added the concept of label candidate descriptors which provide additional properties for label candidates and are used by some automatic labeling algorithms.
Improvements
- New utility class
com.yworks.graph.model.LayoutCompatadded that facilitates layout specific tasks like creating layer or sequence constraints. - Utility methods
flashOrientedRectangleToYOrientedRectangle()andyOrientedRectangleToFlashOrientedRectangle()have been added tocom.yworks.geom.util.GeomConvert. - Class
com.yworks.graph.model.LayoutGraphAdapternow automatically provides the node and edge id provider registered on the originalIGraphwith the keyscom.yworks.graph.model.DefaultGraph.MAPPER_KEY_NODE_2_IDandcom.yworks.graph.model.DefaultGraph.MAPPER_KEY_NODE_2_IDasDataProviderwith the keyscom.yworks.yfiles.layout.LayouterKeys.NODE_ID_DPKEYandcom.yworks.yfiles.layout.LayouterKeys.EDGE_ID_DPKEY. This allows to use the default ids when configuring layouters, e.g. using layer or sequence constraints. - The new utility class
com.yworks.graph.model.NodeHierarchyallows comfortable access to and manipulation from the graph hierarchy of acom.yworks.yfiles.layout.LayoutGraph, e.g. when using a customcom.yworks.yfiles.layout.LayoutStage. - The methods
getInt,getDoubleandgetBoolofcom.yworks.graph.model.DataProviderAdapterare now more tolerant with the mapped values and convert the looked up value to the corresponding type instead of simply casting them to the type. This way e.g.getIntfor a mappedStringvalue"2"will return2instead of0. - The new class
com.yworks.graph.model.ConstantMapperis a simplecom.yworks.support.IMapperimplementation that provides a single value for all keys. - In
com.yworks.yfiles.layout.router.BusRepresentationsthe methods to transform from and to hub representation can now copy data which is attached to an original edge using specific data provider keys to the corresponding edge in the transformed graph.
Demos
- The default font family for most of the demos has been changed to
Verdana. - The new
BusinessProcessDiagramDemoshowcases how to customize diverse editing features to create a BPMN editor that is based on an according business model. The pools and swim lanes can be laid out using thecom.yworks.yfiles.layout.hierarchic.IncrementalHierarchicLayouterin combination with acom.yworks.yfiles.layout.hierarchic.incremental.PartitionGrid. - The new
EdgeLabelingDemoshows how to configure different edge label models as well as how to apply the generic edge labeling algorithm. - New
LayerConstraintsDemoand newSequenceConstraintsDemoshow how to apply layer constraints and sequence constraints to thecom.yworks.yfiles.layout.hierarchic.IncrementalHierarchicLayouter. - The new
LayoutModuleDemoallows to quickly test the different settings for the most important layout algorithms. - The new
PortCandidateDemoshows how to use port candidates to restrict the positions of the ports (connection points). The newLogicGateDemodemonstrates the use of port candidates to keep the locations of the current ports. - The new
SimpleIncrementalHierarchicLayouterDemodemonstrates how to incrementally layout parts of a graph using incremental hints. - The new
SwimlaneDemoshows how to configure and visualize swim lanes. - The new
PartialLayoutDemoshows how to use thecom.yworks.yfiles.layout.PartitionLayouterto embed new graph elements into an existing layout. Different scenarios for hierarchic, orthogonal, organic and circular use cases demonstrate suitable settings for these layout styles. - The new
MixedLayoutDemoshows how to use the recursive group layouter to apply different layouts to the contents of group nodes. - The new
TemplateStyleDemoshows how to use the template styles with so-called "user tags" in order to create custom data visualizations. In addition, the demo shows how the custom data objects can be serialized with the GraphML I/O framework. - The
OrgChartdemo now uses a bigger graph and the local view mode on startup. - The new
NavigationDemoshows how to display the neighborhood of a selected node in a complex graph. - The new
GenericTreeLayouterDemoshows the different NodePlacer implementations for thecom.yworks.yfiles.layout.tree.GenericTreeLayouter. A NodePlacer can be assigned to a node and determines how the node and its sub trees shall be arranged by the layouter. - The
demo.components.IconButtoncan now be used with scalable icons like SVG.
Bugfixes
- Fixed a bug in
com.yworks.graph.anim.LayoutMorpherWrapperwhich caused ports to change their location model if more than one edge connected to them. com.yworks.yfiles.layout.ComponentLayouter: Fixed bug that caused a wrong component assignment if customized component IDs are used.- Fixed a bug in
com.yworks.yfiles.layout.hierarchic.IncrementalHierarchicLayouterthat caused unnecessary crossings when using node grouping. - Fixed a bug in
com.yworks.yfiles.layout.hierarchic.IncrementalHierarchicLayouterthat sometimes caused an assignment of infinite coordinates to group nodes as well as to points of edges incident to group nodes. - Fixed a bug in
com.yworks.yfiles.algo.NetworkFlowsthat caused wrong calculation of the cut set returned by methodcalcMaxFlowMinCut(). - Added missing parent node information when copying grouped graphs with
com.yworks.yfiles.layout.LayoutGraphCopyFactory. - Fixed a NullPointerException in
com.yworks.yfiles.layout.planar.DrawingEmbeddercaused by nodes having the same center.









