We have released MindFusion.WinForms Pack 2022.R2. It adds following new features and improvements:
MindFusion.DiagrammingMultiple labels per nodeThe NodeLabel class allows multiple captions to be displayed for a single DiagramNode of any type. Node labels provide a set of properties allowing full customization of their display and positioning. Label position is defined by specifying a pin point and offset from it, set through SetCornerPosition, SetEdgePosition, SetCenterPosition methods. In addition, the HorizontalAlign and VerticalAlign properties of NodeLabel specify on which side of pin point to draw the label's caption.
For example, following code adds extra labels to top-left and bottom-right corners of a ShapeNode:
var node = diagram.Factory.CreateShapeNode(10, 50, 40, 30);
node.Text = "text"; // centered main text
var lb1 = node.AddLabel("label 1");
lb1.SetCornerPosition(0, 0, 0);
lb1.HorizontalAlign = StringAlignment.Near;
lb1.VerticalAlign = StringAlignment.Near;
lb1.Brush = new SolidBrush(Color.Red);
lb1.TextBrush = new SolidBrush(Color.White);
var lb2 = node.AddLabel("label 2");
lb2.SetCornerPosition(2, 0, 0);
lb2.HorizontalAlign = StringAlignment.Far;
lb2.VerticalAlign = StringAlignment.Far;
lb2.Brush = new SolidBrush(Color.Yellow);
lb2.TextBrush = new SolidBrush(Color.Red);
Miscellaneous- The MoveLabels behavior lets user move link and node labels interactively.
- HorizontalOffset and VerticalOffset now work for link labels positioned using SetLinkLengthPosition method.
- New PatternRouter constructor accepts string definitions of link routes.
- EnableParallelism and MaxDegreeOfParallelism layout properties now available in CoreCLR assemblies (.NET Core 3 and 5+ versions).
- SvgNode now displays bitmaps embedded in SVG content.
- SvgNode now supports dashed lines in SVG content (defined via stroke-dasharray attribute).
- New Export overloads of exporter classes allow writing to System.IO.Stream.
- New grouping type via AttachToFractionalPosition method of Group and respective AttachTo overload.
- JSON serialization / deserialization preserves primitive types of Id and Tag values.
MindFusion.ChartingHeat mapsThe HeatmapChart control and respective HeatmapRenderer can be used to draw heatmaps. A heatmap accumulates intensity values of data points and maps them (scaled to MaxIntensity) to the colors and positions listed in Colors gradient object. This control expects a series of at least three dimensions, where first and second values specify coordinates, and third one specifies intensity. Optional fourth dimension can return radius value per data point; if not provided, the control applies the DefaultRadius property value. The convenience HeatmapSeries class implements such 4-dimensional series by storing values in HeatmapPoint objects.
MiscellaneousFix for alternating grid colors (GridColor1 and GridColor2) exchanging their positions during scroll.
MindFusion.SchedulingReorder resources- Enable the AllowReorderResources property of TimetableSettings to let users reorder resource columns in timetable view when GroupType is set. The ReorderIndicatorColor and ReorderIndicatorWidth properties let you customize the appearance of insertion indicator line.
- Enable the AllowReorderResources property of ResourceViewSettings to let users reorder rows in resource view when GroupType and SecondaryGroupType are set. The ReorderIndicatorColor and ReorderIndicatorWidth properties let you customize the appearance of insertion indicator line.
Miscellaneous- New ItemHeaderText and ItemDescriptionText members of CustomDrawElements let you custom-draw item's text labels.
- Enable the ExtendedCurrentTimeMarker property of TimetableSettings or TimelineSettings to make current-time marker span the full extent of timetable / resource view (instead of only header area).
API changesAllowMoveRowHeaders property of ResourceViewSettings is now considered obsolete and superseded by AllowReorderResources. The latter also allows reordering secondary resources.
MindFusion Virtual Keyboard- CurrentCase property of RegularKey returns the label for current state of modifier keys, such as Shift or Caps-lock.
- Enable PasswordMode to stop highlighting pressed or hovered keys.
- ChangeLanguage overloaded methods let you set current language either by Windows SDK layout identifier or by CultureInfo.
- The control now tracks state of Caps-lock and Shift keys of physical keyboard (if one is attached to the system).
MindFusion.Reporting- PreparePrintSettings event raised before printing a report to let you customize its PrinterSettings.
- PreparePrintDialog events raised before printing a report to let you customize the print dialog.
- The Print method is now virtual, letting you override the functionality of ReportViewer's print button.
Installer for the latest version can be downloaded here, or from the
clients area on our site:
https://mindfusion.eu/WinFormsTrial.zipUpdated assemblies are also available as
https://www.nuget.org/packages/MindFusion.Pack.WinForms/ NuGet package.
Enjoy!