Flow charts

Richard Gaskin ambassador at fourthworld.com
Thu Jul 25 05:53:01 EDT 2002


Tim writes:
 
>>> Does anyone know of any stacks, tutorials for creating dynamic flow charts
>>> in Hyper, Super, Meta-Card or Rev? Any info would be much appreciated.
>> 
>> I don't have any examples that can be readily shared (mostly client stuff),
>> but I've buil a few flowchart and concept map tools, so I might be able to
>> provide some pointers on what I've learned.
>> 
>> What sort of flowcharting are you looking to facilitate?
>> 
>> And by "dynamic", do you mean simpky having connecting lines move as boxes
>> are dragged, or are you looking at something deeper like having those boxes
>> represent process elements in an active system model?
> 
> I'm thinking of building an engine that would take a nested text outline
> (delimited by returns and tabs) and create a visual flow chart which would
> be text fields connected by vector lines. I know there's a program called
> Inspiration that can already do that, but I only need some functionality it
> has not all of it. The trickiest part is making sure that no items overlap
> one another.  If you have any ideas, I would be very thankful.

Most of it is just parsing the text and creating objects.  The tricky part
is creating a link between boxes.  There may be a faster method, but I
usually just store the IDs of the objects being linked in a custom propery
of the line object I use for the link.  Then I trap the moveControl message
which triggers a handler that walks through each of the line graphics, gets
those IDs, and sets the points of the lines to the points of the node
objects (I tend to use buttons so  can have either text, graphis, or both in
nodes without having to alter code).

If nature of your user's interactions allow it, using the pointer tool in
your flowchart window will save you a lot of code over mocking up
pointer-tool-like behaviors with the browse tool.

If you use the pointer tool and you want to prevent the user from being ble
to select line graphics, remember that you can set the cantSelect of any
object to true and it will not be selectable by the pointer tool.

Hope that helps at least get you started...

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Custom Software and Web Development for All Major Platforms
 Developer of WebMerge 2.0: Publish any Database on Any Site
 ___________________________________________________________
 Ambassador at FourthWorld.com       http://www.FourthWorld.com
 Tel: 323-225-3717                       AIM: FourthWorldInc




More information about the Use-livecode mailing list