New component system.



Hi,

As I sent this messages to the three mailing lists most of you will get
it several times. I apologize for the inconvenience (and that's why the
tarballs are not included herein).

I have devised a new component system for Gnome Office. I made two
tarballs for evaluation. One contains the files to add to the goffice
cvs tree and a patch, the second contains a plugin (AbiGOffice) for
abiword which obsoletes the AbiGOChart plugin (do not install both).
The tarballs are available at:
http://jean.brefort.free.fr/go-components.tar.bz2
http://jean.brefort.free.fr/abigoffice.tar.bz2

On startup, it works like all goffice plugins. The plugin.xml file is
parsed and supported mime types are retrieved. Here is the relevant part
of the plugin.xml file I wrote to embed GChemPaint files:

<service type="component_type" id="GOGChemPaintComponent">
    <mime_type name="application/x-gchempaint" priority="native"/>
    <information>
        <_description>2D chemical structures types</_description>
    </information>
</service>

The goffice patch contains a plugin designed to embed mozilla plugins.
For this one, we cannot know in advance which mime types are required,
so the plugin must be preloaded and it parses ~/.mozilla/pluginreg.dat.
Note that this plugin is quite incomplete at the moment. Most functions
are not implemented yet. I could just display svg files using the
librsvg mozilla plugin and some bonobo controls with the help of
mozilla-bonobo. This plugin has no printing support. I do not know if it
is possible to implement it with the current gnome-print api. Mozilla
provides a File* object to the plugin which must write their ps code to
it.
This plugin does not support windowless mozilla plugins at the moment (I
have not anyone to test).

It should be easy to implement these components in gnumeric too with aa
appropriate ShhetObject derived class.

Waiting for your comments and/or questions.

Best regards,
Jean
-- 
Jean Bréfort <jean brefort normalesup org>





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]