What's new in MindFusion WinForms Pack 2016.R2

Dec 14, 2016
  • MindFusion.Charting:
  • New data model:
  • Data that should be drawn in charts is read through an interface called Series, whose instances can be assigned to the Series properties of Chart and SeriesRenderer classes. You could implement this interface in your own model classes to avoid duplicating data. Alternatively, if a model class is sealed but provides API to access its data, you could implement the interface in an adapter class. The library includes several pre-defined series classes that let you specify data via IList or array objects. For example, BarSeries lets you specify lists of values, inner labels and top labels, and PointSeries lets you specify data as a list of points. In addition, the DataBoundSeries and XmlSeries implementations can be used to automatically read from a .NET data source or from an XML document. Instances of latter series types are automatically generated when chart's DataSource property is set.
  • New rendering model:
  • Chart graphics are drawn inside Plot components by SeriesRenderer-derived objects. Each plot can contain multiple series renderers from same or different types. For example, you can draw area, line and bar graphics in same plot by adding AreaRenderer, LineRenderer and BarRenderer objects to its SeriesRenderers collection. Chart controls automatically generate a series renderer of appropriate type for their Series.
  • Dashboard:
  • The Dashboard control can contain multiple plots, axes, legends, images, gauges and text blocks arranged in dynamic layout. Individual components can be added to dashboard's default RootPanel or LayoutPanel containers, or for more complex layouts add intermediary panels such as GridPanel and StackPanel to the default ones. To show different types of chart graphics, add Plot2D to draw in 2D Cartesian coordinate system, Plot3D for 3D Cartesian system, and PolarPlot for polar coordinate system. To draw horizontal or vertical axes, add respectively XAxisRenderer and YAxisRenderer objects. To show gauges, add LinearGaugeRenderer or OvalGaugeRenderer, whose Gauge property contains the gauge model definition.
  • Print and export:
  • The Dashboard control and Chart controls that derive from it expose Print and PrintPreview methods for printing on paper. Call the ExportImage and CreateImage methods to generate bitmap image of the dashboard. The ExportPdf method exports the chart to a PDF (Portable Document Format) file. The ExportSvg method exports the chart to an SVG (Scalable Vector Graphics) file.
  • Styling:
  • Values of appearance properties can come from several places in the component hierarchy. SeriesRenderer-derived objects can use attributes from their local SeriesStyle, from plot's SeriesStyle, or from the *Series properties in current Theme. Component classes use either their local properties or ones defined in the theme. By default, appearance properties in SeriesRenderer and Component classes have null values, which makes the drawing code use values from the theme.
  • Miscellaneous:
  • TickLength property added to AxisRenderer. XAxisTickLength and YAxisTickLength properties added to BiaxialChart.
  • LabelAlignment property added to BubbleRenderer and BubbleChart.
  • ShowTitle property added to LegendRenderer, and corresponding ShowLegendTitle property added to Chart.
  • Spacing property added to LegendRenderer, and corresponding LegendSpacing property added to Chart.
  • GridLineColor, GridLineStyle and GridLineThickness properties added to Plot2D and Theme classes.
  • Fixed crash in pie charts for zero values.
  • Bubbles in bubble charts are now properly centered on their values.
  • Fixed YAxisLabel alignment in horizontal bar charts.
  • MindFusion.Diagramming:
  • Free-form nodes:
  • A FreeFormNode collects all points from users' mouse or touch input and displays them as node's outline. To let users draw free-form nodes interactively, set Behavior to DrawFreeForms or LinkFreeForms. Use the Points property of FreeFormNode to get or set outline points programmatically. If the Closed property is set, the node is drawn as a closed shape and its interior filled, or otherwise the node is drawn as a poly-line. If the distance between first and last points drawn by user is shorter than AutoCloseDistance, the node's Closed property is automatically set to true. AutoCloseDistance default value is float.MaxValue, so free-form nodes are always closed.
  • Additional drawing modes, convenient for touch input, convert FreeFormNode objects drawn by user to ShapeNode objects with most similar shape. To enable them, set Behavior to DrawFreeShapes or LinkFreeShapes. The shapes against which the user's input is matched are set via diagram's FreeFormTargets property. By default it contains Rectangle, Decision and Ellipse shapes.
  • LinkLabel edit events:
  • LinkTextEditing and LinkTextEdited events are now raised also when the user edits a LinkLabel. The Label property of the respective event-arguments class identifies the LinkLabel that is being edited. Label is a null reference if the user is editing link's Text value. You can prevent users from editing Text and let them edit only labels by handling LinkTextEditing like this:
  • C# Copy Code
  • void OnLinkTextEditing(object sender, LinkValidationEventArgs e)
  • e.Cancel = e.Label == null;
  • Fixed bugs:
  • The distance required to move mouse pointer in order to resize TableNode columns and rows was dependent on MeasureUnit, making it difficult to start resizing when using large units.
  • Text outside of node boundaries was not repainted correctly after loading custom shape library from XML.
  • Missing collapse / expand icon of expandable ControlNodes.
  • TreeViewNode scrollbar arrow buttons did not scroll correctly in some situations.
  • MindFusion Virtual Keyboard:
  • MindFusion Virtual Keyboard has been initially added to MindFusion Pack for WinForms.
  • MindFusion.Reporting:
  • Improved charts:
  • MindFusion.Reporting now uses the new MindFusion charting engine to display charts in reports. The presentation of the charts has been greatly improved (particularly when resizing the charts).
  • MindFusion.Spreadsheet:
  • New and improved charts:
  • MindFusion.Spreadsheet now uses the new MindFusion charting engine to display charts in worksheets. Along with the improved appearance (particularly when resizing the charts), the following new features have been added:
  • New Candlestick chart type;
  • New BarOverlayed and ColumnOverlayed chart types;
  • Several new legend position types;
  • Zoom:
  • The worksheets can now be zoomed in and out through the new Zoom property.

New in MindFusion WinForms Pack 2014.R3 (Jun 5, 2014)

  • MindFusion.Diagramming:
  • Export Visio 2013 files:
  • The Visio2013Exporter class can export the contents of Diagram and DiagramDocument objects to Visio 2013 VSDX files. In order to use it, add a reference to the MindFusion.Diagramming.Export.Visio.dll assembly. Similarly to the VDX format exporter, Visio2013Exporter relies on a template file, called Visio2013.vxt, containing some boilerplate Visio XML code. The template must be either located in same folder as the application assemblies, or its path must be specified via the TemplatePath property. At this time the exporter supports shapes from Visio basic and flowchart stencils.
  • Visio2013Importer improvements:
  • The importer now supports Visio group shapes. Child shapes in groups are no longer lost when importing, and their corresponding diagram nodes are attached to the corresponding group node.
  • Visio NURBS curves are now imported as Bezier-style links.
  • Fix for importing connectors with applied rotation transform.
  • Shapes with a ‘hidden’ attribute in master definition are now imported as invisible items.
  • Headers and footers in PDF:
  • PdfExporter can now add headers and footers to exported pages. To specify their contents and font, set the HeaderFormat, HeaderFont, FooterFormat and FooterFont properties. Adding a %P placeholder to HeaderFormat or FooterFormat will render the current page number at its position.
  • Miscellaneous:
  • SVG renderer now honors the SmoothingMode property value and anti-aliasing in SVG drawings can be disabled.
  • MindFusion.Scheduling:
  • New Holiday providers:
  • Four new holiday providers have been added to the MindFusion.HolidayProviders.dll assembly, namely FranceHolidayProvider, GermanyHolidayProvider, RussiaHolidayProvider, and UKHolidayProvider.
  • Miscellaneous:
  • New Drawing event which enables custom drawing of calendar element before their default rendering.
  • Improved support for partial databinding.
  • MindFusion.Spreadsheet:
  • Export to XLSX (Office Open XML) format:
  • The new ExcelExporter class can be used to export MindFusion.Spreadsheet Workbook objects to Excel. To export a workbook to XLSX, create an instance of the ExcelExporter class and call its Export method, passing the Workbook object as parameter.
  • Export to ODS (OpenDocument Spreadsheet) format:
  • The new CalcExporter class can be used to export MindFusion.Spreadsheet Workbook objects to the OpenDocument format. To export a workbook, create an instance of the CalcExporter class and call its Export method, passing the Workbook object as parameter.
  • Export to XHTML and MHTML format:
  • The new HtmlExporter and MhtmlExporter classes can be used to export MindFusion.Spreadsheet Workbook objects to (X)HTML and MHTML files. To export a workbook, create an instance of the respective exporter class and call its Export method, passing the Workbook object as parameter.
  • Moving cell ranges:
  • Cells and cell ranges can be moved programmatically and interactively. To move a cell range programmatically, call one of the MoveTo overloads of a CellRange object representing the range and specify the destination. To move a range interactively, select the range, click near the the end of the selection rectangle and drag the rectangle to the desired location. The interactive movement can be disabled through the AllowMoveCells property of the WorkbookView class.
  • Moving rows and column:
  • Columns and rows can be moved programmatically and interactively. To move a column/row programmatically, call one of the Move overloads of the ColumnCollection or RowCollection classes respectively, and specify the column/row to move and the desired location. To move columns or rows interactively, select the columns or rows entirely, click on any of the selected column or row headers and drag. The interactive movement can be disabled through the AllowMoveHeaders property of the WorkbookView class. Note that more than one column or row can be moved at a time.
  • Find and replace:
  • The workbook provides a set of methods for searching and replacing of texts. To search texts, use the Find and FindAll methods. The former searches for the first cell containing a given text, the later returns all cells matching the criteria. To replace texts, use the Replace and ReplaceAll methods. The new FindReplaceForm class (contained in the MindFusion.Spreadsheet.WinForms.StandardForms.dll assembly) can be used to facilitate search and replace operations inside a workbook.
  • Improved in-place editing:
  • In-place formula editing has been extended with automatic literal, string, cell and cell range coloring and context-sensitive tooltip information for functions. The information for custom functions can be provided through the new ExtendedInformationProvider property of the Workbook class. The image below illustrates the new in-place edit box.
  • Miscellaneous:
  • The parameters of the Export methods of some exporters have been reordered to improve consistency. Now the Worksheet/Workbook being exported is always the first argument.
  • The HyperlinkForm constructors now require an addition argument of type Workbook.
  • New PageOrientation property added to the PdfExporter class.
  • MindFusion.UI:
  • DockControl:
  • Layout serialization has been added to the DockControl.

New in MindFusion WinForms Pack 2013.R1 (Mar 15, 2013)

  • preserve order in tree layout; improved speed of PDF generation;
  • apply Glass and Aero effects to CompositeNodes;
  • export calendars to PDF;
  • new calendar events.

New in MindFusion WinForms Pack 2012.R3 (Sep 25, 2012)

  • styles and themes in diagram control
  • multi-page diagram documents and tabbed views
  • all node types support rotation
  • multiple labels per link
  • layers and layer list-view control
  • one-way graph layout algorithm
  • parallelization of layout algorithms
  • magnifier tool
  • side-by-side containers in reporting control

New in MindFusion WinForms Pack 2012.R1 (Jan 24, 2012)

  • interactive node alignment
  • FractalLayout tree layout algorithm
  • slider and spinner components
  • DiagramView can use third-party scrollbars
  • Map control added to the suite

New in MindFusion WinForms Pack 2011.Q4 (Aug 25, 2011)

  • snap links to nodes from a distance;
  • serialization of CompositeNode components;
  • DiagramView3D improvements;
  • export reports and calendars to Excel;
  • calendar print preview can be customized;

New in MindFusion WinForms Pack 2011.Q3 (May 25, 2011)

  • MindFusion.Charting:
  • Zoom:
  • Line and bar charts support now zooming with the Zoom method. Use ZoomOut to get one step back or ResetZoom to return the chart to its initial state.
  • XML Save / Load:
  • Any type of chart can be saved as an XML file and subsequently loaded. The methods for that are SaveToXml and LoadFromXml.
  • Miscellaneous:
  • The StartDataIndex and EndDataIndex properties enable showing only a portion of the data in a line and bar chart.
  • In multi-series line and bar charts the labels at the axis can be taken from a single series only when SingleSeriesLabels is set to true. LabelSeriesIndex sets the index of the series that provides the labels.
  • Ticks at chart axis can be drawn uniformly no matter the LabelType when DrawTicksUniformly is set to true.
  • MindFusion.Diagramming:
  • CompositeLayout algorithm :
  • The new CompositeLayout algorithm can be used to quickly arrange very large diagrams. The layout 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.
  • Dynamic 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.
  • Export/Import improvements:
  • The swimlane grid can be exported to Visio by setting the ExportLanes property of VisioExporter.
  • PdfExporter supports radial gradients.
  • VisioImporter can import attributes from shape masters.
  • Improved support for importing Visio groups.
  • CompositeNode improvements:
  • The FocusedComponent property specifies which component has the keyboard focus.
  • Components now raise MouseMove, GotFocus and LostFocus events.
  • Convert point coordinates between the diagram and component coordinate systems by calling ToDocument or ToLocal methods.
  • The Draw method of components now receives a RenderOptions parameter.
  • An advanced CompositeNode -derived sample class in included in the Demo project.
  • Miscellaneous:
  • Fixed an issue where DiagramView and Ruler appeared in the components tray instead on the form surface if the respective design.dll assemblies could not be loaded.
  • 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.

New in MindFusion WinForms Pack 2011.Q2 (Mar 8, 2011)

  • create composite nodes from various kinds of components;
  • SvgNodes now support SVG text and marker elements;
  • the swimlane grid can be exported to Visio;
  • PdfExporter supports radial gradients;
  • VisioImporter can import attributes from shape masters;

New in MindFusion WinForms Pack 2011.Q1 (Dec 10, 2010)

  • Linear and radial gauge controls added;
  • Export diagrams to Adobe Flash format;
  • New automatic graph layout algorithms;
  • Undo/redo support in scheduling controls;
  • Holiday providers in scheduling controls;

New in MindFusion WinForms Pack 2010.Q1 (Mar 13, 2010)

  • SvgNode improvements; Adjustment handles styling; Chart themes;

New in MindFusion WinForms Pack 2009.Q3 (Aug 3, 2009)

  • support for SVG
  • TreeViewNode type in MindFusion.Diagramming
  • Edit graphs in 3D
  • Flowchart graph layout