< Calligra‎ | Flow

Calligra/Flow/Constraint Layout Idea

Currently Kivio only has few once-off layout features, which cannot provide intelligent layout management such as keeping alignments and distributions, auto-adjusting stencil positions, and object-avoiding connector routing. I found a group of people from Monash University who invented a set of libraries to handle these brilliant features. The project is named Adaptagrams and written in C++. Adaptagrams Project Home Page

If we take advantage of the Adaptagrams, we can make Kivio an amazing diagramming application with multi-way and automatic layout constraint. In this way, diagramming apps can get better productivity than the old-styled one.

Here is an essay about the one-way layout and multi-way layout. PDF

Dunnart is a demo application made by the Adaptagrams team, most functions are shown there. You can download it from here. It's a close-sourced application, and you can find two demonstrate videos on the page above.

Here is a preliminary analysis about what is already there and what is needed to be done.

Existed layout management in Kivio

connector avoid: none

multi-way alignment: only once-off alignment provided (DefaultToolArrangeWidget)

auto-layout: none

Target feature for Kivio

object-avoiding connector routing using libavoid library

multi-way alignments and distributions through improvements in DefaultToolArrangeWidget

automatic layout support through libcola library

Please leave your comments about the idea. I'll have time to work on it after my college exams.

This page was last edited on 18 December 2010, at 22:49. Content is available under Creative Commons License SA 4.0 unless otherwise noted.