Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Version 4.3 beta (Read 2788 times)
Slavcho
YaBB Moderator
*****
Offline


tech.support

Posts: 3147
Joined: Oct 19th, 2005
Version 4.3 beta
Sep 29th, 2016 at 4:30pm
Print Post  
JDiagram version 4.3 contains the following new features and fixes:

Fluent API
Builder classes in com.mindfusion.diagramming.builders package add support for fluent programming style. Static with() and instance init() methods in DiagramItem, DiagramItemStyle and Layout -derived classes return a builder instance that can be used to set-up respective new or existing objects -

Code
Select All
diagram.getNodes().add(
	ShapeNode.with()
		.brush(Color.LIGHT_GRAY)
		.font("Arial", 4)
		.enableStyledText(true)
		.text("Task <i>1</i>")
		.toolTip("This is the task")
		.create());

diagram.getFactory()
	.createShapeNode(20, 20, 20, 20).init()
		.brush(Color.LIGHT_GRAY)
		.font("Arial", 4)
		.enableStyledText(true)
		.text("Task <i>2</i>")
		.toolTip("This is the second task");

TreeLayout.with()
	.levelDistance(20)
	.nodeDistance(20)
	.linkStyle(TreeLayoutLinkType.Cascading3)
	.create()
	.arrange(diagram); 



DiagramLink improvements
~ the component no longer keeps a separate segmentCount field, removing a common source of errors. The SegmentCount property now calculates its value from ControlPoints elements. The updateFromPoints(updateGroups, updateSegments) overload has been removed too;
~ SegmentCount setter no longer refuses changing number of segments if auto-routing is enabled or the link is a self-loop;
~ the new Spline element of LinkShape enumeration draws links as interpolating splines that pass through all of their control points:


Enum types
Old-style enumeration classes with static finals have been replaced by enum types, improving type checking and auto-completion support. This change will not affect your code if only passing enum members to methods from the API. If storing them in fields on the other hand, you must change the field type from int to respective enum type.

The types changed to enum are - Action, Align, Anchoring, AttachToLink, AttachToNode, AutoResize, Behavior, CellFrameStyle, ColumnStyle, CustomDraw, DelKeyAction, DirectionConstraint, EffectPhase, ExpandButtonAction, ExpandButtonPosition, GlassEffectType, Granularity, GraphicsUnit, GridStyle, GroupRotation, HandlesStyle, HatchStyle, HitTestPriority, HyperLinkStyle, ImageAlign, LayeredLayoutLinkType, LinkCrossings, LinkShape, LinkTextStyle, MarkStyle, ModificationStart, MouseInputMode, MultipleGraphsPlacement, NodeHandleType, Orientation, Relationship, RelativeToLink, RerouteLinks, RestrictToBounds, SaveToStringFormat, SelectionStyle, ShadowsStyle, ShowAnchors, SimpleShape, SnapToAnchor, TableConnectionStyle, TickPosition, TreeLayoutBalance, TreeLayoutDirection, TreeLayoutLinkType, TreeLayoutType, TreeViewConnectionStyle.

Type of EnabledHandles and TriggerRerouting properties has been changed to EnumSet.

Fixes
~ fixed a problem where setLicenseKey did not work on non-Oracle implementations of the Java runtime;
~ fixed SvgExporter bug where incorrect offset would be applied to nodes' Image bitmaps;

If anyone is interested in trying the beta version, please download this archive containing updated JAR file:
https://mindfusion.eu/_beta/JDiagram43.zip

Any comments, questions and general feedback are welcome.
« Last Edit: Oct 10th, 2016 at 8:20pm by Slavcho »  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint