[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Flake design
From:       Thomas Zander <zander () kde ! org>
Date:       2006-04-18 7:10:47
Message-ID: 200604180910.54420.zander () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Tuesday 18 April 2006 08:21, Thorsten Zachmann wrote:
> We have only one object manager per view. As Peter allready mentioned
> is that the object manager gets an update when the page changes.
> In kpresenter this would be handled like to following. We have a
> document. The document has pages. Each page has a list of object on the
> page. So if the page is changed the objects manager will get the new
> list of objects of that page ( See method void
> KoObjectManager::setObjects( QLinkedList<KoGraphicBase *> &objects ) ).
> For other applications this can be different and therefore this should
> not be done in flake.

I guess that when you say "page" you mean an object that is part of the 
document and not an object that has an instance per view?

If so, this strategy will get you in trouble for a couple of points;

a) registering flake objects in the page makes the view objects (including 
the selected boolean) per page and not per view, which means that showing 
a new window of the same page will select the same objects in all windows 
at the same time.
For example in dual-monitor setups (usefull while presenting) where you 
have a editing and a slideshow view at the same time, thats not nice.
Plus that any caching done in flake objects for zooming becomes impossible 
if you want to allow different zoom levels per view.

b) painting thumbnails of different pages needs to paint the flake objects 
and thus needs to access them.  So if you don't store them in an object 
manager you need to manage them from somewhere else. This means you end 
up with object management methods in your page objects.

c) printing so called cover sheets where there are 6 kpresenter pages 
printed on one paper-page becomes awkward ;)

I'm willing to let this issue be and maybe revisit it when we actually 
have some implementation.
I just feel uncomfortable to store the flake objects in lots of places 
instead of letting the object manager hold all of them. Due to OO design 
principles and due to expected code duplication.

-- 
Thomas Zander

[Attachment #5 (application/pgp-signature)]

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic