Re: bonoboui toolbar bits ...

Michael Meeks <[email protected]>
Newsgroups gmane.comp.web.galeon.devel
Organization Ximian.
Message-ID <[email protected]>
Hi Ricardo,

On Thu, 2002-10-31 at 14:54, Ricardo Fernández Pascual wrote:
> I think that is working well enough using controls. And I need to use
> controls anyway because I need context menus there.

	Ok - as you see, I just improved the control stuff for you.

>         - context menus: I want to be able to add context menus for
>         menuitems and toolbar buttons. Using gtk+ this is very easy, but
>         using libbonoboui you have to use a control for each toolbar
>         item. And it can't be done for menuitems.

	Yes; it's not clear quite how to do this; we can proxy the button click
event I suppose, and provide you with a fake 'signal' on the
BonoboUIComponent with a fake GdkEvent, it's not _that_ difficult, but
more API.

>         - being able to know what button the user uses to click a
>         menuitem/toolbaritem. In galeon 1, we opened things in new
>         windows/tabs depending of the button used. It added consistency
>         to the interface and was a very useful feature, IMO. I
>         understand that this may not fit very well in the bonoboui
>         design and philosophy... maybe being able to add different verbs
>         depending of the button?

	Ok - that's certainly possible; again it needs a little work, but it's
essentially quite easy to do I think. It'd be great if you could do the
work here; what I think we want is something like:

	verb_[N]="SomeOtherVerb" attributes on the item.

	where the 'N' is mouse-button mask you want to match against; how does
that sound ? should be pretty trivial, also you can add those verbs, and
it'll work nicely in 2.2 and not complain in 2.0.

>         - In general, creating dynamic menus (like bookmarks,
>         history...) using libbonoboui is a pain. Building XML on the fly
>         to immediately parse it looks  wrong to me. I would love to be
>         able to mix bonoboui menus (for general menus of the
>         application) and standard gtk+ menus (for dynamic things). That
>         would solve all my problems with libbonoboui (at least all the
>         important ones ;-) ).

	:-) Ok; so there are a lot of tips here; and some room for improvement.
I believe we currently create all the widgets on the fly whether they
are seen or not, which is rather painful. We can do better than that in
libbonoboui.

	Far more crucially, are you doing a:

	bonobo_ui_component_freeze
	... umpteen operations ...
	bonobo_ui_component_thaw

	If not, I can believe that performance is dire ;-) it's re-building the
GUI after every round-trip.

	Another thing you can do that can markedly improve performance is
building the entire menu, and then merging it all at once; ie. maintain
your client side bookmark menu copy as BonoboUINodes, then merge it all
in 1 shot.

> Thank you for your interest!

	Most interested in helping Galeon improve; I think your problem is
being far too nice ;-) perhaps with a little flaming I could help you
guys much earlier. Looking forward to using Galeon2.

	HTH,

		Michael.

-- 
 [email protected]  <><, Pseudo Engineer, itinerant idiot



-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm 
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.