Re: Integrating EggMenu code into GTK+



On 30/07/2003 12:42 AM, Owen Taylor wrote:

On Tue, 2003-07-29 at 11:39, Jody Goldberg wrote:
On Tue, Jul 29, 2003 at 10:31:23AM -0400, Owen Taylor wrote:
We need a volunteer to work on integrating the new menu
system from Egg into GTK+; I think the subtasks are:

- Do the sed-job and GTK+ Makefile.am changes to
  move the code into GTK+

- Write API docs, including documentation of the
  EggMenuMerge XML format.

- Show off the new API in gtk-demo

These don't all have to be done in one go; the code
can first be added to GTK+, then API docs written,
and then gtk-demo enhanced.

Other notes:

- James points out that egg-markup.[ch] should not
  be included; they have been replaced by
  egg-menu-merge.[ch]
I'd really like to see the addition/restoration of accelerator only
actions before the api is frozen into Gtk.  James mentioned that
this once existed but was removed due to complications with the
implementation and glib.

I'm sure whoever will be working on GTK+ integration would appreciate a
patch, or detailed instructions.

I think the issue here is whether the target closures for accelerators
target the EggAction object or one of the widgets that point to that
EggAction; we made some changes in GTK+-2.2 (or was it 2.0?) to allow targeting non-widgets for accelerators, but James didn't end up
using that feature.

The feature was there in 2.0.


I forget what the reasoning was.
These messages in the archives discuss the problems I was having before I stopped using accelerator closures:

http://mail.gnome.org/archives/gtk-devel-list/2001-December/msg00017.html
http://mail.gnome.org/archives/gtk-devel-list/2001-December/msg00036.html (plus the rest of this thread)

I changed over to only setting the accelerators on the proxy widgets after discussing things with Tim, who said that is how the accel group code was supposed to work.

Given that old style dynamic accel changing doesn't seem to be that fashionalble these days, it might be worth revisiting things. An accelerator customisation dialog, like the one in libegg/libegg/menu/egg-accel-dialog.[ch] (which probably shouldn't be imported), should work fine with accel closures.

James.

--
Email: james daa com au
WWW:   http://www.daa.com.au/~james/






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