[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice
Subject: Re: RFC: Optimizing the Filter API
From: David Faure <faure () kde ! org>
Date: 2000-02-24 22:59:59
[Download RAW message or body]
On Thu, Feb 24, 2000 at 10:05:43PM +0100, Werner Trobin wrote:
> Hi!
>
> As Matthias Elter asked for a filter which is efficient enough
> to handle large amounts of data (TIFF images and so on) I
> thought about changing the API and streamlining the process of
> converting.
>
> Therefore I suggest the following changes:
>
> 1) Change the KoFilter class (and due to that all the filters)
> to write (file import) or read (file export) a QDomDocument
> (and not a file as it is now). This QDomDocument is passed
> to the filter in the filter() Method. This is no problem
> since all (non trivial) filters but one (KWord's HTML filter)
> write/read QDomDocuments. For the import filters which use plain
> QStrings I suggest using the setContent() method of
> QDomDocument. This is a small performance hit for that filter
> (KWord HTML filter), but it should increase the general
> performance. Export filters can also easily be rewritten that
> we can use QDomDocument from now on.
>
> 2) We have to add a pointer-to-QDomDocument-paramenter with 0L
> as default value to KoFilterManager::import() and
> KoFilterManager::prepareExport(). This QDomDocument is the
> one which is passed on to the filter in case it is available.
> The filter writes/reads this file and we don't have to write
> it to a file/read it from a file.
> It there is no QDomDocument (e.g. KWord will surely not use
> QDom in the next time), KoFilterManager creates its own
> QDomDocument and passes that one to the filters. In this case
> it converts the QDomDocument to a file after filtering. This
> solution guarantees compatibility with the KOML-using-stuff.
>
> 3) We have to add a method to KoDocument which provides such a
> empty QDomDocument for loading/saving. The default
> implementation returns 0L (i.e. old technology) and if you
> want to use a streamlined filter you have to reimplement that
> method.
> Another possibility would be to do it the other way (i.e. the
> default impl. returns a QDomDocument), but I'm not sure about
> that.
>
>
> I think this is not the silver bullet(tm), but as some parts are
> using the KOML library and some are using QDom we have to support
> both possibilities...
>
> Please tell me what you think of it - I'll implement it ASAP :)
Looks great !
--
David FAURE
david@mandrakesoft.com, faure@kde.org
http://home.clara.net/faure/
KDE, Making The Future of Computing Available Today
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic