Hi,
I'm evaluating a component for automatic generation and also custom editing organization charts. Therefore I'm playing around with the OrgChart example program in LayoutManagers section [Build 6.3.0.30].
To have edged connectors I've modified the ConnectNodes method for creating orthogonal connectors instead line connectors:
private void ConnectNodes( Node parentNode, Node childNode, Color connectionColor ) {
if ( parentNode != null && childNode != null )
{
//LineConnector lConnector = new LineConnector( PointF.Empty, new PointF( 0, 1 ) );
OrthogonalConnector lConnector = new OrthogonalConnector(PointF.Empty, new PointF(0, 1));
lConnector.HeadDecorator.DecoratorShape = DecoratorShape.Filled45Arrow;
lConnector.LineStyle.LineColor = connectionColor;
lConnector.CentralPort.ConnectionsLimit = 10000;
parentNode.CentralPort.TryConnect( lConnector.TailEndPoint );
childNode.CentralPort.TryConnect( lConnector.HeadEndPoint );
this.diagram.Model.AppendChild( lConnector );
this.diagram.Model.SendToBack( lConnector );
}
}
Additionally I've changed the Layoutmanager to an OrgChartLayoutManager instance:
private void MainForm_Load( object sender, System.EventArgs e ) {
PopulateNodes( );
//this.diagram.LayoutManager = new DirectedTreeLayoutManager( this.diagram.Model, 0, 60, 80 );
this.diagram.LayoutManager = new OrgChartLayoutManager(this.diagram.Model, 0, 60, 80);
this.diagram.LayoutManager.UpdateLayout( null );
}
The result looks pretty good...
I deleted the connection between two nodes (e.g. 'David Jones' and 'Sue Davis') and recreated it using the 'Draw Link' tool from toolbar.
- The resulting diagram has now a connector in front of 'Bob Smith' which is ignored by Layoutmanager ('Update Layout' had no effect) [Image 1]
-> Trying to move the line into the right position resulted in a line having several 'useless' points [Image 2]
I was only able to remove these points even with moving the 'Sue Davis'-Node around and pressing the 'Update Layout'-Button. The result was still not what I expected [Image 3]
Is this the normal behavior in OrgChart diagrams or have I something made wrong?
Is it possible to reroute single connections using LayoutManager ?
Regards,
Marco Birbaumer
Images_785c694a.zip