Flow Charts

This article is transcription of article "Diagrams for Scribus 1.5" which can be found in the Shapes for Scribus page.

Although Scribus has some capabilities to create diagrams, current situation doesn't seem effective to me. Scribus should have proper basic diagram tool.

I try to introduce complete solution from my point of view. Implementation of this feature wouldn't be complicated because it contains only features which already exists in Scribus.

First step: Separate flow chart from the rest of the shapes.



Second step: Add more shapes.



Third step: Add additional nodes to the middle of shape side where lines will be connected with.



Fourth step: Create menu with connecting lines.



Fifth step: How is it work?


 * Insert some shapes from Flow Charts.
 * Select two shapes.
 * Icon for inserting shapes changes to lines.
 * Choose type of connection.
 * Connecting line will join two shapes.
 * Arrow will be inserted from first to second selected shape.
 * Ends of lines will be join to nodes.

Additional setting


 * You can change possition of shapes without disconnection.
 * You can change position of polyline or curvature of Connecting line. Pointer will change to two-direction arrow.
 * You can change node the line will be connected to.Nodes will be "magnetic".
 * You can change line and arrow style in properties.
 * You can change fill and line of shape.
 * You can transform shape from Flow Charts to other objects. Nodes will be preserved.
 * You can unify size of shapes via this feature: http://bugs.scribus.net/view.php?id=8392

Sixth step: Solve problems.


 * End of arrow is necessary to be at the edge of shape.
 * Add possibility to change possition of arrow onto the line.

Both problems are simple to resolve: Arrow wouldn't be part of the line directly but with its own very short line. This line would be attached on Connecting line. You could change possition by a selection of arrow and translation along the line. Minimal distance from second shape would equal size of the arrow (preseted manually in Scribus).