Just to try out a real-world example of Dia use, I made a diagram of a
pipelined processor for a class. It went pretty smoothly, and the result
can be seen at <URL:http://shasta.cs.uiuc.edu/~lrclause/pipeline.dia>.
This small bit of experience tells me a few things:
There should absolutely be scalable arrowheads. The angle is less
important, but scaling matters. I'm considering doing this by having an
ArrowStyle struct that contains style, size and later angle, which would be
basically opaque to the objects. This would be pretty easy to implement,
too, but I got some nagging feeling that there will be a problem with it...
Another very useful thing would be arbitrary addition/deletion of
connection points. The standard connection points are not suitably placed
in about half the cases. Being able to put a connection point on the edge
nearest to where the mouse is clicked (analogous to adding points to
polylines) would be a great help.
Dynamic keyboard shortcuts are really, really nice. But when a text object
is selected, the letter becomes inserted in the text, too, even when
several objects are selected.
I found the horizontal/vertical alignment operations to be confusing, half
the time I picked the wrong one -- I think of horizontal alignment as
placing the objects on a horizontal line. How do other programs do this?
A polygon object would be nice, especially with a possibility of aligning
handles. The ALU unit is drawn with a polyline. "Handcrufted with love":)
There should be a dotted line style. Easy to add.
The font size selection is unusual in that it's not point-based. I am
still not sure if this is good or bad, but it was a bit difficult for me to
find the right size font.
A tricky kind of connection point that would be useful: Floating
connection. If, in the diagram, I want to move the Data memory block up or
down, normal connection points would create slanted lines, where what I
really want is lines that stay horizontal. This is tricky indeed to
implement.
Boxes with rounded corners would be nice.
The dots in slash-dotted lines are very small in postscript output.
Another useful arrowhead style is circle (or square, I guess).
Aside from all these points (of which the arrowhead sizing is the only real
showstopper (mea culpa)), I am very pleased with how smoothly it went.
Dia is absolutely getting useful.
BTW, I am working on adding images with gdk_imlib, and it more or less
works. I would like a resolution in the postscript scaling issue before I
make postscript output, and I haven't got the aspect ratio thingy quite
right yet. Worst problem though is when I load a picture and want to
initialize it to have it's "natural" size, how can I untransform it? On
the other hand, does "natural size" mean anything here? Possibly not,
maybe I should just take the aspect ratio and that's all...
-Lars "Babbling" Clausen
--
Lars R. Clausen ([EMAIL PROTECTED])
A *real* smart bomb would call in sick, perhaps move to another country,
changing its name in the process, open a beach bar maybe and live out its
days in safe anonymity. -- Barry O'Neill in rhod