Re: Generic Embeddable plugins.

From: <msevior_at_physics.unimelb.edu.au>
Date: Fri Jan 14 2005 - 14:20:56 CET

>
>
> msevior@physics.unimelb.edu.au wrote:
>>
>> 5. We can either shoe-horn the netscape API directly into AbiWord and
>> then
>> shoehorn the MathML plugin (and other non-netscape plugins) into that.
>> Or
>> we can write an API that comfortablly fits with AbiWord and then
>> shoehorn
>> the netscape API into that.
>
> I am not sure how would you shoe-horn the more generic Netscape API into
> AW, I can see it working the other way around.
>
> Another possibility would to two have API's; one homegrown and suitable
> for plugins that are meant for AW only and want to make use of our APIs
> for everything, and another one, we borrow from somewhere that will be
> more generic. I am not sure this would be wise at all, but I do include
> it for completeness.
>
> Reading through the various posts, I increasingly share Dom's concerns.
> The pluggin architecture and API needs to be as generic and flexible as
> possible and it should not assume that pluggin will want to make any use
> of AW internal APIs at all. Furthermore, using an API that is well known
> and not tied to AW opens a world of possibilities for us that a
> homegrown API will never give us; this alone is an argument that I find
> very persuasive.
>

Well think of it this way. Sooner or later the plugin has to draw into our
graphics class. It also has to write a preview of itself into our
piecetable. We also have to tell the plugin that something about the
embedded object has changed. Maybe the user has changed it's size, or the
font has been changed to bold or the colour is now blue, or the thing has
been selected.

We have to transmit that information to the plugin and the plugin has to
write to our piecetable with it's preview.

I submit that it much easier for us to have nice, clean XP AbiWord code
inside the src/text/* and src/af/xap/xap_App.* code and that all the
netscape header files lie inside some glue code in an external plugin.

More-over we actually have a volenteer, Jean, who is familiar with both
the netscape plugin API and bonobo interface who is keen to write such
interfacing code.

Thus I get a nice interface into abiword for the MathML plugin. The rest
of the world gets the netscape API and bonobo for a start.

It seems like a good deal to me :-)

cheers

Martin
Received on Fri Jan 14 14:22:06 2005

This archive was generated by hypermail 2.1.8 : Fri Jan 14 2005 - 14:22:06 CET