Re: accel group internal functions



Havoc Pennington <hp redhat com> writes:

> Hi,
> 
> After looking at it, I think some of the funcitons labeled internal
> are required to do anything useful with accel groups:
> 
>  void           gtk_accel_group_attach          (GtkAccelGroup
> *accel_group,
>                                                  GObject
> *object);
> void            gtk_accel_group_detach          (GtkAccelGroup
> *accel_group,
>                                                  GObject
> *object);
> void            gtk_accel_group_add             (GtkAccelGroup
> *accel_group,
>                                                  guint
> accel_key,
>                                                  GdkModifierType
> accel_mods,
>                                                  GtkAccelFlags
> accel_flags,
>                                                  GObject
> *object,
>                                                  const gchar
> *accel_signal);
> void            gtk_accel_group_remove          (GtkAccelGroup
> *accel_group,
>                                                  guint
> accel_key,
>                                                  GdkModifierType
> accel_mods,
>                                                  GObject
> *object);

The corresponding public functions are supposed to be:

void       gtk_window_add_accel_group          (GtkWindow           *window,
						GtkAccelGroup	    *accel_group);
void       gtk_window_remove_accel_group       (GtkWindow           *window,
						GtkAccelGroup	    *accel_group);

void	   gtk_widget_add_accelerator	  (GtkWidget           *widget,
					   const gchar         *accel_signal,
					   GtkAccelGroup       *accel_group,
					   guint                accel_key,
					   guint                accel_mods,
					   GtkAccelFlags        accel_flags);
void	   gtk_widget_remove_accelerator  (GtkWidget           *widget,
					   GtkAccelGroup       *accel_group,
					   guint                accel_key,
					   guint                accel_mods);

Now of course:

 - You'd expect to find the functions in GtkAccelGroup

 - Everybody did find the functions in GtkAccelGroup, and got
   yelled at for doing so :-)

 - The public functions currently just call the GtkAccelGroup
   functions.

 - Since we now have GObjects addition to GtkAccelGroup, the last two
   functions no longer work as the only public API.

I think if we make any of this quartet public (and the later
two are good candidates), then we need to deprecate the 
corresponding current public APIs. Having two ways to do things
doesn't make sense.

Regards,
                                        Owen




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