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