March 21st, 2012Node effects:
· Two new visual effects can be applied to nodes - Glass and Aero. In addition, the existing Emboss and Smooth Shadow effects are now applied to all node types, not just ShapeNode.
· A new API is provided to facilitate effects usage. To apply an effect, create an instance of one of the effect classes, set up its properties, then add the instance to the Diagram.NodeEffects collection. Currently, there are four effect types available - EmbossEffect, SmoothShadowEffect, GlassEffect, and AeroEffect. Effects can be added, removed or modified at any time and this will immediately reflect on the diagram. Effects of different types can be applied simultaneously. It is also possible to apply more than one effect of the same type.
· The old EnableEmbossEffects and EnableShadowEffects properties are reworked internally to use the new effect pipeline. Turning these properties on will automatically add an instance of the appropriate class to the NodeEffects collection. Therefore clearing the NodeEffects collection will turn these properties off if they were previously enabled. Keep in mind that the Diagram.EffectsProvider property is still required in order to enable the Emboss and Smooth Shadow effects.
Composite layout improvements:
· The CompositeLayout exposes several new properties. The UseAdditionalPartitioning property can be set to true in order to enable additional partitioning pass after the default partition. This is especially useful when the initial partitioning produces a graph with nodes with many leaf children.
SolarLayout tree layout algorithm:
· This variation of the fractal layout places child nodes around their parents, in such way, that the child nodes do not overlap. This algorithm takes into consideration the size of the nodes and tries to minimize the occupied space. The layout can optionally prevent links from crossing nodes by bending them.
September 30th, 2011· FractalLayout tree layout algorithm;
· specify start and end nodes for LayeredLayout;
· interactive node alignment via alignment guides;
· slider and spinner components for CompositeNodes;
· UndoManager supports custom add/remove commands;
· DiagramView can use third-party scrollbars;
August 16th, 2011Link auto-snapping:
· Now links can automatically connect to the nearest diagram node without the mouse pointer reaching the node. This is enabled by setting the AutoSnapLinks property. The maximum distance at which auto-snap works can be specified through AutoSnapDistance. The LinksSnapToBorders property, which implemented similar functionality when the mouse is directly over a node, has been removed.
Components serialization:
· CompositeNode components are now automatically serialized when saving in binary or XML format. It is also possible to serialize custom components by deriving the SaveTo, LoadFrom, SaveToXml, LoadFromXml methods of ComponentBase. Saving all components along with their attributes could lead to a lot of wasted space for node types derived from CompositeNode that have the same component hierarchy. In such scenarios, override the SerializeComponents method and return false to stop component serialization, and save only the relevant node properties by overriding the SaveTo, LoadFrom, SaveToXml, LoadFromXml methods of CompositeNode.
Miscellaneous:
· WmfExporter now also renders the LaneGrid in the exported WMF drawing.
· GetNearestNode returns the node that is closest to the specified point.
· NodeClicked and LinkClicked are raised for items shown in DiagramView3D.
· 3D positions of items specified via LayoutTraits[View3D.Position] are now serialized, both in binary and XML format.
· GetProjectionOrigin method added to DiagramView3D.
May 19th, 2011CompositeLayout algorithm:
· CompositeLayout partitions the diagram into several subgraphs and applies the algorithm specified via the SubgraphLayout property on each part. If the part is a tree, it is arranged using the algorithm specified via the SubtreeLayout property, which is set to a radial TreeLayout instance by default. Finally the algorithm specified via MasterLayout is applied on the graph that represents the overall partition. By running the polynomial-complexity layout algorithms on small subgraphs, CompositeLayout is able to process a large graph much faster than if a layout algorithm is applied on the whole graph.
Miscellaneous:
· ~ If there is only one used execution path after a branching and up to two empty ones, FlowchartLayout will now center the used path under the branching start node.
· ~ OrthogonalLayout now produces more compact layouts with less link bends if MinimizeLinkBends is enabled.
· ~ The DisableMirroring constraint prevents users from flipping a node by dragging a handle over the opposite node side.
· ~ A new sample project called "Scripting" shows how to associate scripts with flowchart nodes to design and run actual algorithms represented by the flowcharts.
April 13th, 2011Dynamic node shapes:
· Shape instances can be defined using custom code that takes into consideration the current width and height of nodes. This allows creating shapes whose primitive elements change non-uniformly, e.g. by growing only in width or height when a node is resized. There are two ways to create such shapes. The first one is to use the Shape constructor that takes a CreatePathDelegate parameter, which can be implemented using a .NET function. Another Shape constructor takes a string argument that represents a Visio-like shape formula evaluated in run-time. The latter method enables serializing the shape code in external files, which can be reused by different applications and by MindFusion components for other platforms.
SpringLayout improvements:
· Better handling of large nodes and nodes with non-uniform size.
· The SpringLayout energy model has been changed to one that leads to better symmetry in the arranged graphs. The old model can still be used by setting LayoutMethod to Classic. This is recommended when using rounded links.
· The Randomize property allows starting the layout process from random node positions.
March 5th, 2011· the swimlane grid can be exported to Visio;
· PdfExporter supports radial gradients;
· VisioImporter can import attributes from shape masters;
· improved SVG parsing speed;
· new events for CompositeNode components;
February 11th, 2011· compose nodes from various kinds of components
· border, text, image and shape widgets
· button, checkbox and edit input widgets
· simple, stack and grid panels for component layout
· SvgNodes support SVG text and marker elements
· NodePointed or LinkPointed events
December 3rd, 2010· export diagrams to SWF (Adobe Flash) format;
· CascadeLayout graph layout algorithm;
· HierarchicalLayout graph layout algorithm;
· improved OrthogonalLayout results;
· TriangularLayout graph layout algorithm;
September 14th, 2010· swimlane layout class;
· Export diagrams to WMF format;
· PdfExporter and SvgExporter improvements;
· text formatting improvements;
May 19th, 2010· support for Visual Studio 2010 and .NET 4;
· Toolbox Installer tool;
· Id property added to DiagramItem;
· shadows can be painted using any brush type;
· improved PathGradientBrush support;
April 15th, 2010· support for custom arrowheads
· intermediate arrowheads for Bezier links
· distinct arrowhead brushes
· improved ShapeDesigner
December 3rd, 2009· SvgNode improvements; Adjustment handles styling; route links while their incident nodes are being modified;
September 11th, 2009· topological layout algorithm;
· relationship queries on the graph;
· PdfExporter multi-language support;
July 15th, 2009· TreeViewNode enhancements;
· SVG loading speed greatly improved;
June 26th, 2009· SVG nodes;
· TreeView nodes;
· Flowchart graph layout;
· LayeredLayout enhancements;
· BPMN shapes;
· Edit mode in DiagramView3D;
· Link routing enhancements;
March 27th, 2009· PathFinder improvements;
· styled text improvements;
· automatically distribute links among node's anchor points;
February 11th, 2009· Orthogonal graph layout algorithm;
· Circular graph layout algorithm;
· lane grid extensions;
July 22nd, 2008· Display graphs in 3D;
· SpringLayout animation;
· SpringLayout in 3D;
· PdfExporter enhancements;
October 25th, 2007· Hyperlink support in SvgExporter and PdfExporter; flowcharts and process diagrams layout algorithm; LayeredLayout can arrange the diagram links orthogonally;
· the AnnealLayout performance has been improved; VisioExporter now supports containers
September 4th, 2007· Document/View architecture;
· Support for custom diagram item types;
· Containers;
· Orthogonal graph layout;
· Now all drawing is done through the IGraphics interface, for which the control provides GdiGrahics, SvgGraphics and PdfGraphics implementations
December 7th, 2006· improved PDF export component; New layout properties; ControlHost improvements; Serialization improvements
July 31st, 2006· Export diagrams to PDF format;
· Simulated Annealing graph layout algorithm;
· New constraint properties added to NodeConstraints
May 10th, 2006· Export diagrams to DXF format; Image and ImageRectangle properties added to the ShapeTemplate class; The PathFinder class can ignore the direction of arrows when looking for paths; Now users can change the orientation of cascading arrows interactively