Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Version 6 beta (Read 6494 times)
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Version 6 beta
Aug 7th, 2012 at 1:13pm
Print Post  
We are soon releasing version 6 of FlowChart.NET. It contains the following new features and API changes:

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;

If anyone is interested in trying this preview version, please download this archive containing .NET 2 and 4 builds of the control assemblies:
https://mindfusion.eu/_beta/fcnet6.zip

Any comments, questions and general feedback are welcome.
« Last Edit: Sep 4th, 2012 at 5:13pm by Stoyo »  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Version 6 preview
Reply #1 - Aug 24th, 2012 at 3:02pm
Print Post  
We have uploaded a new build of the assemblies that fixes several rotation related problems in export libraries, and adds the OneWayLayout class shown above. The archive now also contains several theme files, an updated help file and new sample projects.

https://mindfusion.eu/_beta/fcnet6.zip
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Version 6 beta
Reply #2 - Sep 4th, 2012 at 5:12pm
Print Post  
An MSI setup package for version 6 is now available here:
https://mindfusion.eu/_beta/FCNet6Beta.zip

The setup includes what should be the final version of assemblies, help file and sample projects.

The installer now supports automatic integration of the control into the Visual Studio toolbox for VS versions 2008 and 2010. The old ToolboxInstaller tool is still available and can be used to add the control to the VS2005 toolbox.
  
Back to top
 
IP Logged
 
GoldyWang
YaBB Newbies
*
Offline


I Love MindFusion!

Posts: 34
Joined: May 7th, 2012
Re: Version 6 beta
Reply #3 - Sep 10th, 2012 at 6:46am
Print Post  
Can the V6 properly run in VS2012 ?
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Version 6 beta
Reply #4 - Sep 10th, 2012 at 5:26pm
Print Post  
I have just installed VS2012; the basic Diagram / DiagramView setup seems to work fine (I have tried this with the .NET 4 diagramming.dll build and .NET 4.5 target framework). We'll support it officially with the 6.0.1 release though.

« Last Edit: Sep 10th, 2012 at 7:39pm by Stoyo »  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Version 6 beta
Reply #5 - Sep 10th, 2012 at 7:58pm
Print Post  
Oh man, why would anyone want all-caps menus. The registry hack shown here returns them to mixed case, in case someone else wants it back:
http://blogs.msdn.com/b/zainnab/archive/2012/06/14/turn-off-the-uppercase-menu-i...
  
Back to top
 
IP Logged
 
jf2020
Junior Member
**
Offline


I love FlowChart!

Posts: 63
Joined: Feb 23rd, 2006
Re: Version 6 beta
Reply #6 - Sep 11th, 2012 at 8:57am
Print Post  
Quote:
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.


We have actually implemented this in our application using the code snippet provieded in a thread in this forum. However we foud that the circular shape for the magnifier was not the best one and we end up using a rounded rectangle instead. This provides a much better overview to the user due to the fact that the shapes that we have on our diagrams have links and that showing a rectangular area allows to include a relevant subset. I looked at your proposed implementation and it looks like that we can only choose the radius of the circle but not change the shape used.

PS: The analogy is with a reading magnifier. Most of them are rectangular shaped, not circles.

  

reading_magnifier.jpg (Attachment deleted)
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Version 6 beta
Reply #7 - Sep 11th, 2012 at 10:27am
Print Post  
We could add a Magnifier.Shape property for the next release then. I think now it's circular as per the initial user request (can't remember if it was yours?).
  
Back to top
 
IP Logged
 
jf2020
Junior Member
**
Offline


I love FlowChart!

Posts: 63
Joined: Feb 23rd, 2006
Re: Version 6 beta
Reply #8 - Sep 16th, 2012 at 12:25pm
Print Post  
No it wasn't me  Smiley  I just saw it in the forum and it was matching one of our users' requests so I implemented it. 

Thanks for including this option in the next release!
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint