Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Diagramming for Windows Forms, V6.0 (Read 2399 times)
Forum Admin
YaBB Administrator
*****
Offline


Rock and Roll

Posts: 689
Joined: Apr 6th, 2003
Diagramming for Windows Forms, V6.0
Sep 18th, 2012 at 6:00am
Print Post  
We have released version 6.0 of FlowChart.NET. It contains the following new features and improvements:

Styles and themes
The appearance of the items in a diagram can now be modified using styles. The style represents a set of properties, which can be applied to an individual diagram item (by setting it to the DiagramItem.Style property) or to all items of a specific type (by using a Theme). The styles can be easily expanded to include the properties in derived item classes.

The theme represents a collection of styles. Each style in the theme is associated with the diagram items of a specific type and affects all items of this type. Themes can be loaded from XML files. New themes can be created using the Theme Editor tool.

Diagram documents and tabbed views
The DiagramDocument class represents a collection of diagram pages or sheets, represented by DiagramPage objects. DiagramPage is derived from Diagram and only adds a Title property, so any current code that processes Diagram objects will work with DiagramPages too. New pages can be added to the document and existing pages can be removed and reordered via the Pages collection. The diagram document provides higher level of events for the pages contained inside it. The document supports the notion of an active page. The documents can also be exported to PDF and Visio, and imported from Visio using the new overloads available in the PdfExporter, VisioExporter and VisioImporter classes respectively.

The new TabbedDiagramView can be used to display DiagramDocument objects. The view displays tabs for the individual pages in the document. The active page can be changed interactively by activating its associated tab. New pages can be added and removed to/from the document through buttons in the tab tray and the pages can be rearranged by dragging their associated tabs with the mouse.

Rotation improvements
~ All built-in node types except ControlNode can now be rotated by setting their RotationAngle property, or interactively through the rotation handle. To enable interactive rotation, you must set the respective bit in node.EnabledHandles;
~ Attached nodes can rotate together with their master node if the group's FollowMasterRotation property is set to RotateChildren;

Multiple labels per link
The LinkLabel class allows multiple captions to be displayed for a single DiagramLink object. LinkLabels provide a set of properties allowing full customization of their display and positioning. Labels can also be arranged automatically to avoid overlapping nodes and other labels by setting LinkLabel.AutoArrange to true.

Node list control
The NodeListView is a ListBox control that can host and type of DiagramNode objects. Nodes from to the NodeListView control can be drag-and-dropped onto a Diagram, which creates a clone of the dragged node at the drop position.

Layers
Items can now be assigned to layers, and layers can be hidden, locked or moved up/down in the Z order as a group. Set the LayerIndex property of items to associate them with layers in the Diagram.Layers collection. The Layer objects provide Visible, Locked and ZIndex properties, which will affect all items in the respective layer. Layers also expose a Title property shown in the LayerListView control. Newly drawn items are added to the layer specified via Diagram.ActiveLayer.

Layer list control
The LayerListView control provides user interface for working with Layer objects. The control displays a list of the specified Diagram's layers with a title and an overview area, and also allows editing of layer's Visible and Locked properties and choosing the Diagram's currently active layer. New layers can be added to the Diagram by clicking the + button.

One-way layout
The OneWayLayout class ensures that links enter into nodes from the same general direction and exit them from the opposite side. If the graph contains cycles, some links bend around the nodes to keep the enter/exit direction consistent. The algorithm aims to minimize the number of such links.


Parallel layouts
The .NET 4 version of Flowchart.NET takes advantage of the Task Parallel Library (TPL) to enable parallelism on the different layout algorithms. Set the EnableParallelism property on the Layout class to true to enable arranging different subgraphs on different threads to possibly improve performance on multiprocessor systems. In addition, the maximum degree of concurrency can be manipulated through the MaxDegreeOfParallelism property. Note that only independent subgraphs are processed in parallel, so the SplitGraph property of layout classes that provide it must also be set.

Magnifier
The new magnifier tool allows users to interactively zoom in (or out) portions of the diagram by holding down a modifier key or pressing a mouse button. The magnifier's zoom factor and appearance can be customized.

Miscellaneous
~ The swimlanes grid is now rendered in Overview control
~ the value of DiagramItem.ZIndex property is no longer required to be unique and smaller than the number of items;
~ Shape property in ContainerNode and TreeViewNode can be set to Rectangle or RoundRect
~ visual effects can be set on individual nodes via the DiagramNode.Effects property
~ diagram item collection types now implement the generic IList<> interface
~ StartPoint and EndPoint properties added to DiagramLink as shortcuts for accessing the first and last elements of ControlPoints

API changes
~ RotationAngle property moved from ShapeNode to base DiagramNode
~ inherited node classes should now override the DrawLocal method instead of Draw to get built-in support for node rotation. Overriding Draw still works, but any custom drawing code would have to take care of rotation;
~ type of Group.FollowMasterRotation changed from boolean to enum GroupRotation;
~ LinkStyle enum renamed to LinkShape;
~ DiagramLink.Style property renamed to Shape;
~ TableStyle enum renamed to SimpleShape;
~ TableNode.Style property renamed to Shape;
~ the type of TextColor and CaptionColor properties have been changed to Brush; the properties have been renamed to TextBrush and CaptionBrush;
~ the default value of Pen, Brush and Font properties of items is now null to allow for inheritance from DiagramItem.Style or Diagram.Theme. Custom drawing code in inherited classes should use the values returned by EffectivePen, EffectiveBrush or EffectiveFont to get the actual object that should be used when drawing;
~ ZLevelUp, ZLevelDown, ZTop and ZBottom methods now require a boolean argument specifying whether items are allowed to change layers;
~ ZIndex no longer corresponds to the position of items within Diagram.Items collection. Items however still contains the items sorted by Z order, as defined by item's ZIndex and LayerIndex;
~ event handler delegates have been removed; events are now defined as generic EventHandler<> specialized via EventArgs type. For example the type of NodeCreated is now
public event EventHandler<NodeEventArgs> NodeCreated;

Registered customers with an active upgrade subscription can download the licensed version from the clients area on our site.
    
A trial version is available for download here: 
https://www.mindfusion.eu/FCNetDemo.zip

Enjoy!
  
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint