Re: popping up a menu from a bonobo object
- From: Michael Meeks <michael ximian com>
- To: Jaka Mocnik <jaka activetools si>
- Cc: Desktop Devel List <desktop-devel-list gnome org>
- Subject: Re: popping up a menu from a bonobo object
- Date: 25 Mar 2002 16:02:46 +0000
Hi Jaca,
On Sun, 2002-03-24 at 16:00, Jaka Mocnik wrote:
> how can I do this, if at all? note that I do not have a BonoboControl
> interface at this point and of course, there is no BonoboWindow around ,
> so I cannot use bonobo_control_do_popup() or bonobo_window_add_popup().
Well; the question is much like "how can I popup a menu from a GObject"
- the answer is typically that it isn't very easy ;-) you'll need a
custom interface etc.
> furthermore, I would like the control that will wrap this object to add
> some of its items to that very same popup menu (using a different xml UI
> file) and when the control gets embedded in a shell, the shell would add
> some more items to that popup menu. is this feasible or is it an
> overkill for our ape-API?
It's quite possible.
> but as I see it, the control has to use a
> special UIContainer for the popup stuff, which is not what I want
> because then, the shell will not be able to add its own items to that
> popup menu.
Well - you have to have a pointer to the UIContainer at both ends -
ultimately - or you can't do a thing. If you want to essentially connect
one UIContainer's chunk of XML tree to another UIContainer you're out of
luck.
The way the Control popup stuff works is that the shell gets a pointer
to the control's UIContainer and merges items into it.
The issue is - that if you have a complex situation - then you're going
to produce something that creates a tight contract between the shell and
the component that is not standard and thus not interesting.
I still don't quite understand what you want to do; but it is quite
possible to share the Control side popup UIContainer for your own ends
via bonobo_control_get_popup_ui_container. But again, if you're going to
do something extremely whacked out with this you're creating a tight
contract that no-one else will know about.
If you can explain what you want to do, and it's useful for people to
do a lot, then we could come up with a standard useful interface for
doing it, that everyone can use.
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]