[Gtk-sharp-list] Gtk.RadioMenuItem

John Luke jluke@users.sourceforge.net
Wed, 04 Feb 2004 23:37:59 -0500


--=-b7HsFzUsOoSGMYNQKd3k
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hello,
	Here is a patch for Gtk.RadioMenuItem to make it more like
Gtk.RadioButton. It hides some of the constructors and adds a custom one
to create a RadioMenuItem with its own group. It might also fix
http://bugzilla.ximian.com/show_bug.cgi?id=53688



--=-b7HsFzUsOoSGMYNQKd3k
Content-Disposition: attachment; filename=radiomenuitem.diff
Content-Type: text/x-patch; name=radiomenuitem.diff; charset=
Content-Transfer-Encoding: 7bit

? radiomenuitem.diff
Index: Gtk.metadata
===================================================================
RCS file: /cvs/public/gtk-sharp/gtk/Gtk.metadata,v
retrieving revision 1.29
diff -u -r1.29 Gtk.metadata
--- Gtk.metadata	30 Jan 2004 16:03:47 -0000	1.29
+++ Gtk.metadata	5 Feb 2004 04:08:55 -0000
@@ -143,8 +143,9 @@
   <attr path="/api/namespace/object[@cname='GtkRadioButton']/constructor[@cname='gtk_radio_button_new_with_label']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkRadioButton']/constructor[@cname='gtk_radio_button_new_with_mnemonic']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkRadioButton']/property[@name='Group']" name="hidden">1</attr>
-  <attr path="/api/namespace/object[@cname='GtkRadioMenuItem']/constructor[@cname='gtk_radio_menu_item_new_with_label']/*/*[@type='GSList*']" name="null_ok">1</attr>
-  <attr path="/api/namespace/object[@cname='GtkRadioMenuItem']/constructor[@cname='gtk_radio_menu_item_new_with_mnemonic']" name="preferred">1</attr>
+  <attr path="/api/namespace/object[@cname='GtkRadioMenuItem']/constructor[@cname='gtk_radio_menu_item_new']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@cname='GtkRadioMenuItem']/constructor[@cname='gtk_radio_menu_item_new_with_label']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@cname='GtkRadioMenuItem']/constructor[@cname='gtk_radio_menu_item_new_with_label_from_widget']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkRcStyle']/method[@name='Ref']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkRcStyle']/method[@name='Unref']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkReadyEvent']" name="hidden">1</attr>
Index: RadioMenuItem.custom
===================================================================
RCS file: RadioMenuItem.custom
diff -N RadioMenuItem.custom
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ RadioMenuItem.custom	5 Feb 2004 04:08:55 -0000
@@ -0,0 +1,14 @@
+//
+//  RadioMenuItem.custom
+//
+//	Author:  John Luke  <jluke@cfl.rr.com>
+//
+
+	[DllImport("libgtk-win32-2.0-0.dll")]
+	static extern IntPtr gtk_radio_menu_item_new_with_mnemonic (IntPtr group, string label);
+
+	// creates a new group for this RadioMenuItem
+	public RadioMenuItem (string label)
+	{
+		Raw = gtk_radio_menu_item_new_with_mnemonic (IntPtr.Zero, label);
+	}
Index: gtk-api.xml
===================================================================
RCS file: /cvs/public/gtk-sharp/gtk/gtk-api.xml,v
retrieving revision 1.39
diff -u -r1.39 gtk-api.xml
--- gtk-api.xml	30 Jan 2004 16:03:47 -0000	1.39
+++ gtk-api.xml	5 Feb 2004 04:08:56 -0000
@@ -5451,18 +5451,18 @@
       <method name="GetType" cname="gtk_radio_menu_item_get_type" shared="true">
         <return-type type="GType" />
       </method>
-      <constructor cname="gtk_radio_menu_item_new">
+      <constructor cname="gtk_radio_menu_item_new" hidden="1">
         <parameters>
           <parameter type="GSList*" name="group" />
         </parameters>
       </constructor>
-      <constructor cname="gtk_radio_menu_item_new_with_label">
+      <constructor cname="gtk_radio_menu_item_new_with_label" hidden="1">
         <parameters>
-          <parameter type="GSList*" name="group" null_ok="1" />
+          <parameter type="GSList*" name="group" />
           <parameter type="const-gchar*" name="label" />
         </parameters>
       </constructor>
-      <constructor cname="gtk_radio_menu_item_new_with_mnemonic" preferred="1">
+      <constructor cname="gtk_radio_menu_item_new_with_mnemonic">
         <parameters>
           <parameter type="GSList*" name="group" />
           <parameter type="const-gchar*" name="label" />

--=-b7HsFzUsOoSGMYNQKd3k--