Re: dot-oaf style questions



Mark McLoughlin wrote:
> 
> Hi Maciej,
> 
> On Wed, 28 Nov 2001, Maciej Stachowiak wrote:
> 
> > > You seem pretty sure of the semantics here. But I'm not. Exposing
> > > Bonobo/Control, which derives from Bonobo/Unknown, does seem like it exposes
> > > Bonobo/Unknown. But this is all beside the point for the current uses of
> > > repo_ids anyway, so it's probably not worth debating.
> >
> > The list of repo_ids is the list of interfaces you can queryInterface
> > for successfully. When you QI for Bonobo/Unknown on something that
> > provides Bonobo/Control, it will succeed because of the
> > inheritance. (Microsoft COM works the same way).
> >
> > So I think it is correct to list inherited interfaces in the repo_id
> > field.
> 
>         This is what I presumed the semantics to be when I as working
> on the applets. It was actually extremely useful .. Every applet has
> the following repo_ids attribute
> 
>         <oaf_attribute name="repo_ids" type="stringv">
>                 <item value="IDL:GNOME/PanelAppletShell:1.0"/>
>                 <item value="IDL:Bonobo/Control:1.0"/>
>                 <item value="IDL:Bonobo/Unknown:1.0"/>
>         </oaf_attribute>

Do you have to specify Bonobo/Unknown and Control in this case ? - I
thought the other interfaces derived from it, and that one needn't
explicitly list derived interfaces in oaf attributes.  Am I wrong?

Thanks

Bill

>         and then to build the applets menu I use the following query
> 
> has_all (repo_ids, ['IDL:Bonobo/Control:1.0', 'IDL:GNOME/PanelAppletShell:1.0']) &&
>         defined (panel:icon) && defined (panel:category)
> 
>         sorting by category, then name ...
> 
>         There's some *serious* power in bonobo-activation :-)
> 
> Good Luck,
> Mark.



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