On 5 Feb, Lars R. Clausen wrote:
>
> 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>.
Looks pretty nice.
> 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...
This seems like a nice way. They you could have an arrow-style
selection widget that all objects could use.
> 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.
Yes, this would be nice. In fact i often fet this suggestion. It's not
as easy as it seems though. The exact semantics of placing a
connectionpoint and then resizing or otherwise changing the objects
are quite complex to specify.
> 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.
This should be easy to fix. There is also some problems with keyboard
shortcuts. Sometimes they just don't work.
> 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?
Thats the way it works. Aligning horizontally at the top means
aligning the top of the objects to a horizontal line. I haven't
checked out how other programs work.
> A polygon object would be nice, especially with a possibility of aligning
> handles. The ALU unit is drawn with a polyline. "Handcrufted with love":)
It's now (after the object-menu changes) a small matter of programming
to add a polygon object really.
> There should be a dotted line style. Easy to add.
Yes,and you did. Thanks.
> 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.
The font-size selection is based on the internal size, which is in cm.
It would be easy to change the font selection dialog to use points
instead. 1 point is 1/72 inches. The only reason this is not done is
lazyness.
> 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.
Yes. It might be hard to use them too...
> Boxes with rounded corners would be nice.
Yepp.
> The dots in slash-dotted lines are very small in postscript output.
Hmmm. I'll look into that some day.
> Another useful arrowhead style is circle (or square, I guess).
Yes. There are a lot of nice arrow styles that could be added.
> 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.
That's nice. I don't really use it right now as i don't do so much
documentation. We might be using it at work soon though...
> 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...
In fact, natural size means nothing if the image format doesn't have a
'real' size data field.
/ Alex