[Uml-devel] Rough Hack for Scaled Print - attached packed diff

Achim Spangler Achim.Spangler at mnet-online.de
Wed Mar 31 08:20:14 UTC 2004

as some of my diagrams don't fit to an A4 page, I implemented a rough hack for 
scaled print for my own usage.

Why "rough hack"?
I simply replaced the previous distribution of one diagram to several pages by 
an unchangeable scaling method ( origrinal version simply deactivated with 
"#if 0" - not erased ).
There are no check-boxes in the printer dialog or whatever for selection of 
the method.

What deliveres my change?
I use the QtPainter logic of a virtual draw area ( setWindow() ), where we can 
simply draw the diagram for print - and the corresponding view port, which 
must reflect the dimensions of the output device ( e.g. printer ).

So I just calculate the current size of the diagram, add some empty space 
beneath and finalize the output with a foot text line ( like before ).

As I had some funny effects on placement of the foot-line and the diagram 
( the foot line was often higher than awaited -> overlap with diagram ), I 
placed some space between diagram and foot line.
If there is anybody out, who know's why my placement was wrong - please 
correct it.
What to do with my change?
I'm not shure!
If the diagram is too big, the scaling would lead to too thin lines, which can 
get quite invisible. So my scaling method is NOT always the best method.
This means, we need a dialog option, where the user can select the suitable 
method. But as I'm not familiar with GUI design, I just did the raw hack for 
my own, and ask anybody interested to optimize it.

This is _NOT_ intended for merge _as_is_ !!

This would only be acceptible, if the main team of umbrello accept to 
deactivate totally the distribution of one diagram to several pages - till a 
suitable GUI dialog option is implemented.

I'd like to change the color of the graphical representations of actor and 
note ( currently only arrow line and background color is changeable ).

Additionally the printed line width is sometimes to small - especially if the 
diagram is scaled for print. So I'd like to set a line width.


( Patch aging created with "cvs diff  -u -d -r1" )

-------------- next part --------------
A non-text attachment was scrubbed...
Name: RoughHackScaledPrint.diff.gz
Type: application/x-gzip
Size: 1442 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/umbrello-devel/attachments/20040331/d9d68082/attachment.gz>

More information about the umbrello-devel mailing list