Index: Glib/GType.xs =================================================================== RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Glib/GType.xs,v retrieving revision 1.18 diff -u -r1.18 GType.xs --- Glib/GType.xs 12 Oct 2003 17:57:09 -0000 1.18 +++ Glib/GType.xs 16 Oct 2003 00:20:46 -0000 @@ -911,8 +911,16 @@ } -static void -add_signals (GType instance_type, HV * signals) +=item void gperl_type_add_signals (GType type, HV * signals) + +Helper that does the real work of adding signals to a new type in +Glib::Type->register(). Use this if and only if you know what you +are doing, which will be customizing the way in which a new GType +is registered with both Glib and the bindings. + +=cut +void +gperl_type_add_signals (GType instance_type, HV * signals) { GObjectClass *oclass; HE * he; @@ -996,8 +1004,16 @@ g_type_class_unref (oclass); } -static void -add_properties (GType instance_type, AV * properties) +=item void gperl_type_add_properties (GType type, AV * properties) + +Helper that does the real work of adding new properties to a new type in +Glib::Type->register(). Use this if and only if you know what you +are doing, which will be customizing the way in which a new GType +is registered with both Glib and the bindings. + +=cut +void +gperl_type_add_properties (GType instance_type, AV * properties) { GObjectClass *oclass; int propid; @@ -1269,13 +1285,13 @@ char * key = SvPV_nolen (ST (i)); if (strEQ (key, "signals")) { if (SvROK (ST (i+1)) && SvTYPE (SvRV (ST (i+1))) == SVt_PVHV) - add_signals (new_type, (HV*)SvRV (ST (i+1))); + gperl_type_add_signals (new_type, (HV*)SvRV (ST (i+1))); else croak ("signals must be a hash of signalname => signalspec pairs"); } if (strEQ (key, "properties")) { if (SvROK (ST (i+1)) && SvTYPE (SvRV (ST (i+1))) == SVt_PVAV) - add_properties (new_type, (AV*)SvRV (ST (i+1))); + gperl_type_add_properties (new_type, (AV*)SvRV (ST (i+1))); else croak ("properties must be an array of GParamSpecs"); } Index: Glib/gperl.h =================================================================== RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Glib/gperl.h,v retrieving revision 1.25 diff -u -r1.25 gperl.h --- Glib/gperl.h 12 Oct 2003 17:57:09 -0000 1.25 +++ Glib/gperl.h 16 Oct 2003 00:20:47 -0000 @@ -113,6 +113,12 @@ SV * newSVGChar (const gchar * str); +/* stuff to use if and only if you really know what you are doing. + * these do some of the real work behing Glib::Type->register; see + * its docs for the formats of the signals hash and properties array. */ +void gperl_type_add_signals (GType type, HV * signals); +void gperl_type_add_properties (GType type, AV * properties); + /* * GValues Index: Gtk2/xs/GtkStyle.xs =================================================================== RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkStyle.xs,v retrieving revision 1.11 diff -u -r1.11 GtkStyle.xs --- Gtk2/xs/GtkStyle.xs 12 Oct 2003 17:57:30 -0000 1.11 +++ Gtk2/xs/GtkStyle.xs 16 Oct 2003 00:20:49 -0000 @@ -317,7 +317,7 @@ GtkStateType state_type GtkShadowType shadow_type GdkRectangle *area - GtkWidget *widget + GtkWidget_ornull *widget const gchar *detail gint x gint y Index: Gtk2/xs/GtkWidget.xs =================================================================== RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkWidget.xs,v retrieving revision 1.31 diff -u -r1.31 GtkWidget.xs --- Gtk2/xs/GtkWidget.xs 12 Oct 2003 17:57:30 -0000 1.31 +++ Gtk2/xs/GtkWidget.xs 16 Oct 2003 00:20:49 -0000 @@ -355,6 +355,15 @@ ## function is only useful for widget implementations ##void gtk_widget_get_child_requisition (GtkWidget *widget, GtkRequisition *requisition); +GtkRequisition_copy* +gtk_widget_get_child_requisition (GtkWidget * widget) + PREINIT: + GtkRequisition req; + CODE: + gtk_widget_get_child_requisition (widget, &req); + RETVAL = &req; + OUTPUT: + RETVAL void gtk_widget_add_accelerator (widget, accel_signal, accel_group, accel_key, accel_mods, flags)