Hi,
Here is a method to allow the shortcuts in Gtk applications.
You also need the code in the GtkExtend/GtkAccelGroup.st in the GtkLauncher
SVN
Cheers,
Gwenael
static void
accel_group_connect (OOP accel_group,
guint accel_key,
GdkModifierType accel_mods,
GtkAccelFlags accel_flags,
OOP receiver,
OOP selector)
{
GtkAccelGroup *cObject = _gst_vm_proxy->OOPToCObject (accel_group);
int n_params;
GClosure *closure;
OOP oop_sel_args;
oop_sel_args = _gst_vm_proxy->strMsgSend (selector, "numArgs", NULL);
if (oop_sel_args == _gst_vm_proxy->nilOOP)
return ; /* Invalid selector */
/* Check the number of arguments in the selector against the number of
arguments in the event callback */
/* We can return fewer arguments than are in the event, if the others aren't
wanted, but we can't return more, and returning nilOOPs instead is not
100% satisfactory, so fail. */
n_params = _gst_vm_proxy->OOPToInt (oop_sel_args);
if (n_params > 4)
return ;
/* Receiver is assumed to be OK, no matter what it is */
/* Parameters OK, so carry on and connect the signal */
accel_group = narrow_oop_for_g_object ( G_OBJECT (cObject), accel_group);
closure = create_smalltalk_closure (receiver, selector, NULL,
accel_group, n_params);
gtk_accel_group_connect (cObject, accel_key, accel_mods, accel_flags,
closure);
}
--
GtkLauncher for GNU Smalltalk : http://gtklauncher.bioskop.fr/
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk