Re: Dia Automatic Layouting



On Mon, Aug 4, 2008 at 10:19 PM, Hans Breuer <hans breuer org> wrote:
Am 04.08.2008 01:08, Fred Morcos schrieb:

Dear All,

Here [1] is a screencast of the work I've been doing.

I would love to see this but it does not work for me neither on win32 (XP)
nor on Linux(Ubuntu 8.04). Is this just me or may the files be broken?


I couldn't get to convert the videos to either mpeg or divx without
ending up with a 40MB file. The latest Videolan supports OGG Theora.

I will have a
patch ready soon (still some rough edges to be polished). Two problems
remains though, the first is "Differentiating between normal objects
and connectors", it only works with the "Standard - *" because I'm
still stuck with string comparison.

Rather than trying to explain just once more I'll try to provide a patch to
your patch then ;-)


That would be cool ;)

The other problem is that I can't
figure out a way for the "Undo" feature to revert "all" of the changes
made by the algorithm in one step.

If you have partial undo working maybe there is just an
undo_set_transactionpoint() missing?


Well, I tried with undo_move_objects, but I can't really figure out
what Point *orig_pos and Point *dest_pos are for. Also,
undo_set_transactionpoint(diagram->undo) won't do it either.

Basically, what I want to happen when the user chooses to undo, is not
to undo each step made by the algorithm, but to undo all what the
algorithm changed (to revert back to what the user had before he ran
automatic layouting).

I guess it would be something like:

1. save current state of diagram into stack
2. make changes to the graph (aka run the algorithm on the graph)
3. save new state of diagram into stack

basically, I guess it would be 1 OR 3 to exist, as other functions
will either save the current state and run, or just run based on that
the last state was saved from another function, then save the state
after running.

We can discuss these problems in detail when I send out the patch.

Yes, show us the source ;)


I just have some minor things to finish. Actually now it is way way
way faster than what is shown in the videos, it now takes less than a
breeze ;) to get to the final layout (from the same graph shown in the
videos).

One (the only?) thing is that I want to write a small UI with two
sliders, one for the distance between "connected/related" objects and
one for the spacing between non-connected objects. As these two slides
move, the diagram reflects the changes on the fly.

I'm pretty familiar with Gtk+, but one question. Where should the UI
code go? In commands.c? Or is there another place for that? And what
about the callback functions from this UI? should they go into
commands.c even if the UI code is elsewhere?

I am devoted to maintaining and developing this feature until it is
perfected.

I would like to deeply thank all of the people on the mailing list who
helped me out with Dia and thus achieving my bachelor thesis.

Congratulations ;-)
       Hans


Thanks :)

-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert
_______________________________________________
Dia-list mailing list
Dia-list gnome org
http://mail.gnome.org/mailman/listinfo/dia-list
FAQ at http://live.gnome.org/Dia/Faq
Main page at http://live.gnome.org/Dia





-- 
Fred Morcos
http://fredmorcos.blogspot.com/
http://fredmorcos.googlecode.com/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]