[Uml-devel] Bugfix for reload of diagram options _and_ running version for linewidth setting

Oliver Kellogg Oliver.Kellogg at t-online.de
Thu Apr 8 14:32:04 UTC 2004


Hi Achim,

Wow :) Thanks alot for your work!
I am applying your patches and looking into following
your further suggestions.

Bye,
 Oliver


"Achim Spangler" <Achim.Spangler at mnet-online.de> wrote:
> Hi,
> I found during my implementation of the linewidth setting, that 
> UMLDoc::loadDiagramsFromXMI() sets the default values for OptionState _AFTER_ 
> the call of UMLView::loadFromXMI(). 
> Thereby the load of a diagram works with completely undefined default values 
> in OptionState.
> --> each setting which isn't set in the XMI file gets undefined values.
> 
> This caused umbrello to overwrite diagram specific settings by the default 
> settings.
> 
> I detected this bug, as umbrello crashed with my implementation of line width 
> setting on each load of a large project. This was caused by accidentally 
> large ( > 1000 ) line width values
> -> this caused some lowlevel Qt errors during the first creation of
>      arrows in the canvas
> 
> I have seperated the change in a single diff.
> 
> 
> ################
> My first try for setting the line width - as requested by bugzilla.
> 
> This implementation allows to set a default line width ( global settings 
> dialog, umbrellorc ) and a diagram line width.
> 
> It works well with my big project ( 2MByte, VirtRam 123m, ResRam 46m, ShrRam 
> 68m during running the project ).
> 
> I adopted the dialog for the diagram settings. But I'm not familiar with 
> Qt-Designer -> please improve the dialog.
> 
> I didn't implement a seperate line width for print. If a special diagram is 
> such bug, that the printout is scaled to small, the line width for this 
> diagram can be changed.
> 
> ################
> Question:
> Whats so bad with uni-associations, that causes all these warnings during 
> load?
> 
> Uni-Associations are fine in UML, if both connected elements can access the 
> other side. My project has a lot of classes which can access each other in 
> both directions ( via Singleton ).
> 
> Please deactivate this warning.
> 
> ################
> Invisible FloatingText instances of associations are very often placed quite 
> badly - that means values of <0 and >10000 . I'm not shure if they can still 
> cause problems on the Canvas or scaling algorithms.
> I shielded all "undefined" co-ordinates based on some personally selected 
> constants - attached as a seperate diff.
> 
> Please:
> Add some smart verification in the positioning of FloatingText. It should deny 
> settings which are  more than some - confgurable - space away from the 
> bounding box of the corresponding line.
> 
> Maybe simply set the invisible FloatingText instances to a constant and 
> unmoveable <0/0> Point - or delete them completely from XMI format.
> 
> Also empty visible labels could be constantly placed at a default position.
> 
> #################
> The connection line between a note and an UMLWidget instance was wrongly 
> imported by some previous XMI format changes as normal association line with 
> two visible "+" at the ends.
> The diagram layout of my project is often disturbed by accidentally positioned 
> "+" of these note-line-associations. These "+" have very often co-ordinates 
> of <0 and >10000 .
> This causes then often the accidental move of all diagram elements - only the 
> line path points stay fixed in this case.
> 
> Freshly generated lines between notes and UMLWidgets are handled correct. So 
> this is only a backwards compatibility problem.
> -> so I must replace the lines where they disturb the layout
> 
> ################
> I found a small bug in my first and quite simple approach for scaling of 
> printout. I fixed this -> see _seperate_ diff in the attachement.
> 
> 
> Bye,
> Achim
> 
> 





More information about the umbrello-devel mailing list