Bug 54391 - Printout does not fit into a page
Summary: Printout does not fit into a page
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 1.1.1
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-10 09:58 UTC by Dmitrij Belogaj
Modified: 2004-11-28 23:42 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Showing the bug in the printout of large classes (39.35 KB, application/x-pdf)
2004-04-05 12:07 UTC, Holger Lehmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitrij Belogaj 2003-02-10 09:58:22 UTC
Version:           1.1.1 (using KDE KDE 3.1)
Installed from:    Compiled From Sources
Compiler:          gcc 2.95.2 
OS:          Linux

The simplest diagram (for example, class diagram) does not fit into a single page during printing. All boxes and fonts are exessively big with stout pixels. The resolution could be higher obviously. Is it possible to implement a button like "Fit to a page" in the print dialog? Or at least to show page borders on diagram layouts.
Comment 1 Holger Lehmann 2004-04-05 12:07:43 UTC
Created attachment 5538 [details]
Showing the bug in the printout of large classes

Even worse, if you have a long class, with a lot of attributes or functions, so
that it streches across multiple pages, the footer overlays the class info.
Even if you select to print a poster it does not get better.
This happened with umbrello 1.2.90 (compiled from kdesdk-040404 snapshot) under
KDE 3.2.1 .
Comment 2 Achim Spangler 2004-04-05 13:57:33 UTC
Hi,
I sent a patch labelled as "rough hack" on the [Uml-devel] list some days ago.
I named my patch as rough hack, as it completely replaces the distribution on 
multiple pages by a rigid scaling onto one page.

I would appreciate someone implementing a printing option, where the user can 
select:
+ distribute on multiple pages
+ scale onto one page

Why is an optional distribution to several pages important?
-> if diagram is too big, the scaling would result in too small text,
     arrows and symbols

But as I'm _not_ familiar with Qt GUI programming, I just implemented the pure 
scaling. I hided the replaced part of the software with "#if 0" from the 
compiler -> an optional execution can be implemented easily based on my 
patch.

Bye,
Achim
Am Montag, 5. April 2004 12:07 schrieb Holger Lehmann:
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
>
> http://bugs.kde.org/show_bug.cgi?id=54391
>
>
>
>
> ------- Additional Comments From holger.lehmann catworkx de  2004-04-05
> 12:07 ------- Created an attachment (id=5538)
>  --> (http://bugs.kde.org/attachment.cgi?id=5538&action=view)
> Showing the bug in the printout of large classes
>
> Even worse, if you have a long class, with a lot of attributes or
> functions, so that it streches across multiple pages, the footer overlays
> the class info. Even if you select to print a poster it does not get
> better.
> This happened with umbrello 1.2.90 (compiled from kdesdk-040404 snapshot)
> under KDE 3.2.1 .
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
> _______________________________________________
> Uml-devel mailing list
> Uml-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/uml-devel

Comment 3 Esben Mose Hansen 2004-04-05 20:24:14 UTC
IMHO, we should do the right thing and complete fill as few pages as possible by defining a lower limit for font sizes. The latter should be configurable.
Comment 4 Achim Spangler 2004-04-06 10:34:45 UTC
Am Montag, 5. April 2004 20:24 schrieb Esben Mose Hansen:
> ------- Additional Comments From esben despammed com  2004-04-05 20:24
> ------- IMHO, we should do the right thing and complete fill as few pages
> as possible by defining a lower limit for font sizes. The latter should be
> configurable.

Basically your idea is fine. 
But how should such a system detect, where the author would like to cut his 
diagram?
Some programs like MS EXCEL provides a method to define ( change, control ) 
the page limits wihin the editing canvas. This allows the author to drag the 
cutting line to a row, where he can accept the page cut.
IMHO, this would help to handle most of the user needs.

But I suspect that this approach is very difficult to implement, if there is 
not already an appropriate helper class in Qt or KDE.

Maybe we could use a three-step approach:
a) get a constant scaling to one page
b) add an option field in the global umbrello and/or the diagram
    options, where the user can define scaling bounds either:
    i) with percent / multiplicating factor   OR
    ii) with font size ( mathematically corresponding to i) based on the
        normal font size )
    ==> the solution which I sent to the list can be extended,
             to use this scaling bounds
c) allow the user to define the page limits within the editing canvas
     
I suggest such small steps, as there was already someone working on a better 
printing method some months ago. But I saw nothing on main CVS.

Comment 5 esigra 2004-11-28 15:02:02 UTC
Dia has solved the scaling problem and it works great. This is a necessary functionality, which means I will use Dia because of this regardless how many other features Umbrello has. Please look how Dia does it. I will explain it short:
1. The diagram can be expanded in any direction. In Umbrello it seems like it can only be expanded right and down.
2. The user selects the paper orientation and the number of pages horizontally and vertically. (Right click on the diagram, select File, Page setup..., Scaling, Fit to <x> by <y>.)
3. Dia scales the diagram to fit on the specified paper layout. The page boundaries are shown as colored lines.
Comment 6 Jonathan Riddell 2004-11-28 23:42:29 UTC
Printing to fit to page is included in Umbrello 1.3.

I'll close this entry and have opened a new one to cover the other areas: 94081.

Unfortunatly the canvas not being able to resize to the top or left seems to be a limitation of QCanvas.  Hopefully Qt 4 will solve this along with adding antialiasing.