https://bugs.kde.org/show_bug.cgi?id=446020

--- Comment #3 from Robert Hairgrove <c...@roberthairgrove.com> ---
(In reply to Robert Hairgrove from comment #1)
>(...)  However, there is much more "bugginess" about the bird's eye view (and 
>the
> drawing behavior in general) which needs to be looked at. For example, if I
> have added two new classes to an empty class diagram and move one of them,
> the other moves as well but in the opposite direction! There seems to be
> code somewhere causing the scene to always be centered ... is this by
> design? I would probably have to put widgets at the four corners of the
> virtual page to keep things in the middle area from wandering about on the
> screen when one of them is moved or resized. Takes a bit of getting used to.

In the class UMLScene, there is this slot: 
void UMLScene::slotObjectCreated(UMLObject* o)

At the end of the slot's method body, there is a call to the member function
    resizeSceneToItems();
which is implemented thus:

/**
 * Sets the size of the scene to just fit on all the items
 */
void UMLScene::resizeSceneToItems()
{
    // let QGraphicsScene handle scene size by itself
    setSceneRect(itemsBoundingRect());
}

Why is this necessary? It seems to be the cause of the behavior I described in
the above post in this thread. One would think that the scene should begin with
a default size (user-configurable, of course) which can expand if moving an
object would cross one of the boundaries, but certainly not shrink if it is
larger.

What happens is that on creation of the first widget in the scene, the bird's
eye view will fill up its available display area with a huge rendition of the
widget (much larger than 100%).

Try this:
Open a new class diagram, if one isn't already there;
Create a new class and give it a very short name (such as "A").
The bird's eye will remain blank until the main window is resized or the
splitter handle is dragged. Do that.
Observe the resulting display in the bird's eye view.

Is this intentional?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to