Re: scripting with bonobo
- From: James Vandenberg <james vandenberg dropbear id au>
- To: Michael Meeks <mmeeks gnu org>
- Cc: gnome-components-list gnome org
- Subject: Re: scripting with bonobo
- Date: Tue, 27 Jun 2000 00:44:18 EST
On Mon, 26 Jun 2000, Michael Meeks wrote:
> Date: Mon, 26 Jun 2000 09:40:41 -0400 (EDT)
> To: James Vandenberg <james@vandenberg.dropbear.id.au>
> From: Michael Meeks <michael@helixcode.com>
> Reply-To: Michael Meeks <mmeeks@gnu.org>
> Subject: Re: scripting with bonobo
>
>
> Hello James,
>
> On Mon, 26 Jun 2000, James Vandenberg wrote:
> > It is solved o&o agian because each application is developed
> > independently. Their is no major incentive to make the scripting
> > interface common. (That I know of, in my limited experience.)
>
> There is in the GNOME project; we want nice, sweet integration
> between components, at the moment I havn't had time to get to scripting,
> furthermore there are a number of 'interesting' issues that I need to
> consider such as: security, DSI/DII or idl parsing or a new 'type
> library'
> concept, object namespaces etc.
>
> > It would be even better if there was a Bonobo::Data module, with some
> > general purpose data structures. While we're at it, how about we make
> > them the primary means of inter object communication.
>
> [ ... huge block of text ... ]
>
> > between it and it's view. Calling functions would be easy too:
> >
> > interface ScriptEngine {
> >
> > Data::Script compile (in string script);
> > Data::Unknown run (in Data::Script program, in string function,
> > Data::List parameters);
> >
> > };
> >
> > I think Bonobo should move in this direction.
>
> James, my friend. If you want bonobo to go in this direction, and
> indeed it sounds like a most excellent direction to go in then you must:
>
> a) Produce a sample implementation using Bonobo
> b) Produce a small demo app to show everone how amazing it is
> c) Post it to the list
> d) Sit back and watch the plaudits roll in.
>
> There may be idle manpower lurking here willing to help you, but
> concrete code bears more weight than 10 tonns of E-mail.
What do you think I've been doing between emails :-)
I've actually got some simple interfaces worked out, but I've
been having trouble with some idl. How do you say you want to
inherit from a particular interface, without having the skels and stubs in
the
generated code?
I've tried #pragma inhibit push/pop, but that causes more problems with
undefined types. eek.
I thought I'd have a simple text widgety thing this week, having thought
out the
problems. If I could get the idl past gcc, then I could get you a sample
impl. BTW, you want the IDL I've done so far.
Don't worry, I know that proof of concept is a lot better than concept
alone.
> > I don't think it will, because,
> > as far as I can see, It's trying to be GNU OLE. While OLE has it's good
>
> > points, It has some points, that while not particularly dangerous in
> the
> > Windows world, are not good in a free software world.
>
> It would seem to me that all of your ideas so far can be
> implemented easily within the base bonobo architecture, they could
> similarly be implemented using OLE2.
You could be right. I have only limited experience of OLE, but it seemed to
be creating Megawidgets from what I saw of it. I could be wrong though.
> > The cheif problem
> > I see is the assumption about the underlying widget set, that means
> that
> > the container can just pass a handle to the window, and let the
> > containee scribble to it's heart's content.
>
> We assume no widget set in our interfaces, nor do we assume a
> windowing system. As long as one app can describe where the other should
> render in an arbitrary string, there is no problem.
True. libglade is a good example. When I've done a sample of my ideas, you
want a Bonobo::Glade? :-) I was talking about MS OLE. I just worry Bonobo
might fall into the same trap.
> > I feel this goes against the UNIX
> > philosophy. I feel that having a TextViewer item, that is _obsessed_
> with
> > displaying text, coupled with a TextEditor which is obsessed with
> changing
> > text in response to events, is cleaner than a single component that
> deals
> > with both editing and displaying the text. Maybe it would mean that the
>
> > editor couldn't care less about fonts, but the viewer wouldn't care
> what
> > cut copy paste meant.
>
> There is ongoing work in gnumeric to make it MVC, perhaps you
> would like to help with that, as a precursor to the abstraction you
> suggest.
MVC? Never heard that TLA. I'll help out with Gnumeric tho. Probably should
have a look at how Gnumeric works, given that it appears to be the flagship
app and component testbed :-)
> > Why is this good for scripting? If you know that your data is coming in
> a
> > certain format, then you can make optimizations. If you know that a
> > TableView has an interface suited for displaying two dimensional
> arrays,
> > then you could perhaps 'hijack' it to display and enter convolution
> > matrices
> > for an image processor component. (while you can do this with OLE it
> > does bring with it considerable overhead. (ie _all_ of Excel or Word
> gets
> > loaded up))
>
> Grief; I am all in favour of small components, perhaps again you
> can help here with gnumeric to move more of the code to dynamicaly
> loadable modules ?
I'll do my best. I'm sorry if it sounds as if I'm "mothering" this idea,
It's just I'm used to having my ideas blasted (usually by clueless jerks).
Sorry. You're obviously not a clueless jerk.
> > I apologise for this rant, but I want to see Bonobo be hailed as
> > application components done right.
>
> Fret not; it will be, we are very committed to doing it right.
That's very reassuring.
> > PS: can somone clarify this for me.
> [ snip rhetorical questions ].
>
> Accurate but waffle. Have you any specific criticisms of
> non-transparency ?
Yes. It slows you down. If you have to start another app to edit a picture
and then work out how to embed it, a train of though is derailed. (ie, how
to get the letterhead "just right")
> Regards,
>
> Michael.
>
> --
> mmeeks@gnu.org <><, Pseudo Engineer, itinerant idiot
It's way past my bedtime, and I have a Maths 3 class tommorow morning,
so I'm going to sleep!
Seeya
JamesV
----
This .sig kindly provided by /dev/random.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]