[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: Plans for the port of KPresenter to the new QRT stuff
From: David Faure <david () mandrakesoft ! com>
Date: 2001-07-01 17:43:17
[Download RAW message or body]
> Hmm, I think I'll start creating a base class
> out of KWTextFrameSet (and KWTextFrameSetEdit), for sharing this with KPresenter.
> It would be stupid to reimplement all this again, or duplicate it.
Ok, here's the plan, about how I suggest to do this:
- KoZoomHandler (kword's KWZoomHandler, untouched)
- KoTextParag (everything except custom items and styles,
kword derives KWTextParag from it for those 2 things).
This means, kpresenter paragraphs will get linespacing, counters,
margins (the 5 of them, including first-line margin), borders and
tabulators (and all this with undo/redo and zoom support).
If we want, it can even get the "formatting characters" feature.
[I assume we don't want paragraph styles in kpresenter, correct?]
- This includes sharing Counter and KoParagLayout (we may have to leave the
KWStyle *, and the page-breaking flags in it, unused in kpr, in order to share the same
undo/redo info structure & code. A bit dirty but I see no other simple way.
If we derive from those two, with a virtual method ("factory method") to build them,
then we can't have a non-pointer member var anymore. Doable, but I want
to make sure this is worth the change.)
Also, I guess loading and saving are going to remain different in
both apps (for compat) - or do we break kpr's format completely ?
- KoTextDocument (associates to zoomhandler, creates kotextparags,
kword derives KWTextDocument from it for association with frameset)
- KoTextFormat: if we want StrikeOut support in kpresenter.
(but this would also help using the same format class in KoTextObject)
and the big one: KoTextObject, most code coming from the current
KWTextFrameSet (with associated KoTextObjectEdit for editing
in a given view, code coming from KWTextFrameSetEdit).
KWTextFrameSet will have a KoTextObject member var (and will have
to forward the calls to it), because it needs to still inherit
KWFrameSet - and to add all the page-breaking stuff etc.
Maybe KoTextObject doesn't need the formatting-in-the-background stuff,
kpr text object are usually quite small.
I suggest to put all those classes, together with the QRT classes,
into a new koffice library called libkofficetext or something like that.
Oh, and if we make a KoViewMode from KWViewMode, it would help factorizing more
code and having support for multiple viewmodes in kpr later.
Well, I have started splitting the basic classes (still in kword/ currently to avoid
merging problems, but I'll create the kofficetext lib soon, moving that stuff into it),
but I don't want to break KWord before 1.1, so touching kwtextframeset is for later.
(the difference is that for that one it's not just about splitting, it needs to actually
use a member textobject - unless someone has a better idea ;-)
Comments are more than welcome ;)
--
David FAURE, david@mandrakesoft.com, faure@kde.org
http://perso.mandrakesoft.com/~david/, http://www.konqueror.org/
KDE, Making The Future of Computing Available Today
_______________________________________________
Koffice-devel mailing list
Koffice-devel@master.kde.org
http://master.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