Author: mkestner
Date: 2007-02-16 13:28:37 -0500 (Fri, 16 Feb 2007)
New Revision: 73037

Added:
   trunk/gtk-sharp/gtk/CellRendererAccel.custom
   trunk/gtk-sharp/gtk/CellRendererCombo.custom
   trunk/gtk-sharp/gtk/CellRendererPixbuf.custom
   trunk/gtk-sharp/gtk/CellRendererProgress.custom
   trunk/gtk-sharp/gtk/CellRendererSpin.custom
   trunk/gtk-sharp/gtk/CellRendererText.custom
   trunk/gtk-sharp/gtk/CellRendererToggle.custom
Modified:
   trunk/gtk-sharp/ChangeLog
   trunk/gtk-sharp/gtk/CellRenderer.custom
   trunk/gtk-sharp/gtk/Makefile.am
   trunk/gtk-sharp/gtk/glue/cellrenderer.c
Log:

2007-02-16  Peter Johanson  <[EMAIL PROTECTED]>

        * gtk/CellRenderer*.custom: new custom overrides for VMs.
        * gtk/glue/cellrenderer.c: add GType parameters to the invoke methods
        so we can identify the correct vtable to invoke from.


Modified: trunk/gtk-sharp/ChangeLog
===================================================================
--- trunk/gtk-sharp/ChangeLog   2007-02-16 18:20:07 UTC (rev 73036)
+++ trunk/gtk-sharp/ChangeLog   2007-02-16 18:28:37 UTC (rev 73037)
@@ -1,3 +1,9 @@
+2007-02-16  Peter Johanson  <[EMAIL PROTECTED]>
+
+       * gtk/CellRenderer*.custom: new custom overrides for VMs.
+       * gtk/glue/cellrenderer.c: add GType parameters to the invoke methods
+       so we can identify the correct vtable to invoke from.
+
 2007-02-16  Mike Kestner  <[EMAIL PROTECTED]>
 
        * glib/Object.cs : switch to ToggleRefs for all items created with

Modified: trunk/gtk-sharp/gtk/CellRenderer.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRenderer.custom     2007-02-16 18:20:07 UTC (rev 
73036)
+++ trunk/gtk-sharp/gtk/CellRenderer.custom     2007-02-16 18:28:37 UTC (rev 
73037)
@@ -1,9 +1,11 @@
 //
 // CellRenderer.custom - Gtk CellRenderer class customizations
 //
-// Author: Todd Berman <[EMAIL PROTECTED]>
+// Author: Todd Berman <[EMAIL PROTECTED]>,
+//         Peter Johanson <[EMAIL PROTECTED]>
 //
 // Copyright (C) 2004 Todd Berman
+// Copyright (C) 2007 Peter Johanson
 //
 // This code is inserted after the automatically generated code.
 //
@@ -60,11 +62,19 @@
                }
                
                [GLib.DefaultSignalHandler (Type=typeof(Gtk.CellRenderer), 
ConnectionMethod="OverrideGetSize")] 
-               public virtual void GetSize(Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) {
+               public virtual void GetSize(Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
                        gtksharp_cellrenderer_base_get_size(Handle, 
widget.Handle, ref cell_area, out x_offset, out y_offset, out width, out 
height);
                }
 
+               [DllImport("gtksharpglue-2")]
+               static extern void gtksharp_cellrenderer_invoke_get_size 
(IntPtr gtype, IntPtr handle, IntPtr widget, ref Gdk.Rectangle cell_area, out 
int x_offset, out int y_offset, out int width, out int height);
 
+               internal static void InternalGetSize (GLib.GType gtype, 
Gtk.CellRenderer cell, Gtk.Widget widget, ref Gdk.Rectangle cell_area, out int 
x_offset, out int y_offset, out int width, out int height) 
+               {
+                       gtksharp_cellrenderer_invoke_get_size (gtype.Val, 
cell.Handle, widget.Handle, ref cell_area, out x_offset, out y_offset, out 
width, out height);
+               }
+
                [DllImport("gtksharpglue-2")]
                static extern void gtksharp_cellrenderer_base_render (IntPtr 
handle, IntPtr window, IntPtr widget, Gdk.Rectangle background_area, 
Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState 
flags);
 
@@ -98,6 +108,14 @@
                }
 
                [DllImport("gtksharpglue-2")]
+               static extern void gtksharp_cellrenderer_invoke_render (IntPtr 
gtype, IntPtr handle, IntPtr window, IntPtr widget, Gdk.Rectangle 
background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, 
Gtk.CellRendererState flags);
+
+               internal static void InternalRender (GLib.GType gtype, 
Gtk.CellRenderer cell, Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle 
background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, 
Gtk.CellRendererState flags)
+               {
+                       gtksharp_cellrenderer_invoke_render (gtype.Val, 
cell.Handle, window.Handle, widget.Handle, background_area, cell_area, 
expose_area, flags);
+               }
+
+               [DllImport("gtksharpglue-2")]
                static extern void gtksharp_cellrenderer_override_start_editing 
(GLib.GType gtype, StartEditingDelegate cb);
 
                [GLib.CDeclCallback]
@@ -134,3 +152,15 @@
                        Gtk.CellEditable ret = (Gtk.CellEditable) 
GLib.Object.GetObject(raw_ret);
                        return ret;
                }
+
+               [DllImport("gtksharpglue-2")]
+               static extern IntPtr 
gtksharp_cellrenderer_invoke_start_editing(IntPtr gtype, IntPtr raw, IntPtr 
evnt, IntPtr widget, IntPtr path, ref Gdk.Rectangle background_area, ref 
Gdk.Rectangle cell_area, int flags);
+
+               internal static Gtk.CellEditable 
InternalStartEditing(GLib.GType gtype, Gtk.CellRenderer cell, Gdk.Event evnt, 
Gtk.Widget widget, string path, ref Gdk.Rectangle background_area, ref 
Gdk.Rectangle cell_area, Gtk.CellRendererState flags) 
+               {
+                       IntPtr native = GLib.Marshaller.StringToPtrGStrdup 
(path);
+                       IntPtr raw_ret = 
gtksharp_cellrenderer_invoke_start_editing(gtype.Val, cell.Handle, evnt.Handle, 
widget.Handle, native, ref background_area, ref cell_area, (int) flags);
+                       GLib.Marshaller.Free (native);
+                       Gtk.CellEditable ret = GLib.Object.GetObject(raw_ret) 
as Gtk.CellEditable;
+                       return ret;
+               }

Added: trunk/gtk-sharp/gtk/CellRendererAccel.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererAccel.custom        2007-02-16 18:20:07 UTC 
(rev 73036)
+++ trunk/gtk-sharp/gtk/CellRendererAccel.custom        2007-02-16 18:28:37 UTC 
(rev 73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererAccel.custom - Gtk CellRendererAccel class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererAccel.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererAccel.GType, this, window, widget, background_area, cell_area, 
expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererAccel.GType, this, evnt, widget, path, ref background_area, 
ref cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererCombo.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererCombo.custom        2007-02-16 18:20:07 UTC 
(rev 73036)
+++ trunk/gtk-sharp/gtk/CellRendererCombo.custom        2007-02-16 18:28:37 UTC 
(rev 73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererCombo.custom - Gtk CellRendererCombo class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererCombo.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererCombo.GType, this, window, widget, background_area, cell_area, 
expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererCombo.GType, this, evnt, widget, path, ref background_area, 
ref cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererPixbuf.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererPixbuf.custom       2007-02-16 18:20:07 UTC 
(rev 73036)
+++ trunk/gtk-sharp/gtk/CellRendererPixbuf.custom       2007-02-16 18:28:37 UTC 
(rev 73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererPixbuf.custom - Gtk CellRendererPixbuf class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererPixbuf.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererPixbuf.GType, this, window, widget, background_area, 
cell_area, expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererPixbuf.GType, this, evnt, widget, path, ref background_area, 
ref cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererProgress.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererProgress.custom     2007-02-16 18:20:07 UTC 
(rev 73036)
+++ trunk/gtk-sharp/gtk/CellRendererProgress.custom     2007-02-16 18:28:37 UTC 
(rev 73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererProgress.custom - Gtk CellRendererProgress class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererProgress.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererProgress.GType, this, window, widget, background_area, 
cell_area, expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererProgress.GType, this, evnt, widget, path, ref background_area, 
ref cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererSpin.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererSpin.custom 2007-02-16 18:20:07 UTC (rev 
73036)
+++ trunk/gtk-sharp/gtk/CellRendererSpin.custom 2007-02-16 18:28:37 UTC (rev 
73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererSpin.custom - Gtk CellRendererSpin class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererSpin.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererSpin.GType, this, window, widget, background_area, cell_area, 
expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererSpin.GType, this, evnt, widget, path, ref background_area, ref 
cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererText.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererText.custom 2007-02-16 18:20:07 UTC (rev 
73036)
+++ trunk/gtk-sharp/gtk/CellRendererText.custom 2007-02-16 18:28:37 UTC (rev 
73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererText.custom - Gtk CellRendererText class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererText.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererText.GType, this, window, widget, background_area, cell_area, 
expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererText.GType, this, evnt, widget, path, ref background_area, ref 
cell_area, flags);
+               }

Added: trunk/gtk-sharp/gtk/CellRendererToggle.custom
===================================================================
--- trunk/gtk-sharp/gtk/CellRendererToggle.custom       2007-02-16 18:20:07 UTC 
(rev 73036)
+++ trunk/gtk-sharp/gtk/CellRendererToggle.custom       2007-02-16 18:28:37 UTC 
(rev 73037)
@@ -0,0 +1,38 @@
+//
+// CellRendererToggle.custom - Gtk CellRendererToggle class customizations
+//
+// Author: Peter Johanson <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2007 Peter Johanson
+//
+// This code is inserted after the automatically generated code.
+//
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General 
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+               public override void GetSize (Gtk.Widget widget, ref 
Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out 
int height) 
+               {
+                       CellRenderer.InternalGetSize 
(Gtk.CellRendererToggle.GType, this, widget, ref cell_area, out x_offset, out 
y_offset, out width, out height);
+               }
+
+               protected override void Render (Gdk.Drawable window, Gtk.Widget 
widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle 
expose_area, Gtk.CellRendererState flags)
+               {
+                       CellRenderer.InternalRender 
(Gtk.CellRendererToggle.GType, this, window, widget, background_area, 
cell_area, expose_area, flags);
+               }
+
+               public override Gtk.CellEditable StartEditing(Gdk.Event evnt, 
Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags) 
+               {
+                       return Gtk.CellRenderer.InternalStartEditing 
(Gtk.CellRendererToggle.GType, this, evnt, widget, path, ref background_area, 
ref cell_area, flags);
+               }

Modified: trunk/gtk-sharp/gtk/Makefile.am
===================================================================
--- trunk/gtk-sharp/gtk/Makefile.am     2007-02-16 18:20:07 UTC (rev 73036)
+++ trunk/gtk-sharp/gtk/Makefile.am     2007-02-16 18:28:37 UTC (rev 73037)
@@ -40,6 +40,13 @@
        Button.custom                   \
        Calendar.custom                 \
        CellRenderer.custom             \
+       CellRendererAccel.custom        \
+       CellRendererCombo.custom        \
+       CellRendererPixbuf.custom       \
+       CellRendererProgress.custom     \
+       CellRendererSpin.custom         \
+       CellRendererText.custom         \
+       CellRendererToggle.custom       \
        CellLayout.custom               \
        CellView.custom                 \
        CheckMenuItem.custom            \

Modified: trunk/gtk-sharp/gtk/glue/cellrenderer.c
===================================================================
--- trunk/gtk-sharp/gtk/glue/cellrenderer.c     2007-02-16 18:20:07 UTC (rev 
73036)
+++ trunk/gtk-sharp/gtk/glue/cellrenderer.c     2007-02-16 18:28:37 UTC (rev 
73037)
@@ -1,8 +1,10 @@
 /* cellrenderer.c : Glue for overriding pieces of GtkCellRenderer
  *
- * Author: Todd Berman ([EMAIL PROTECTED])
+ * Author: Todd Berman ([EMAIL PROTECTED]),
+ *         Peter Johanson ([EMAIL PROTECTED])
  * 
  * Copyright (C) 2004 Todd Berman
+ * Copyright (C) 2007 Peter Johanson
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 2 of the Lesser GNU General 
@@ -21,14 +23,22 @@
 
 #include <gtk/gtkcellrenderer.h>
 
+void gtksharp_cellrenderer_invoke_get_size (GType gtype, GtkCellRenderer 
*cell, GtkWidget *widget, GdkRectangle *cell_area, gint *x_offset, gint 
*y_offset, gint *width, gint *height);
+
+void
+gtksharp_cellrenderer_invoke_get_size (GType type, GtkCellRenderer *cell, 
GtkWidget *widget, GdkRectangle *cell_area, gint *x_offset, gint *y_offset, 
gint *width, gint *height)
+{
+       GtkCellRendererClass *klass = g_type_class_peek (type);
+       klass->get_size (cell, widget, cell_area, x_offset, y_offset, width, 
height);
+}
+
 void gtksharp_cellrenderer_base_get_size (GtkCellRenderer *cell, GtkWidget 
*widget, GdkRectangle *cell_area, gint *x_offset, gint *y_offset, gint *width, 
gint *height);
 
 void
 gtksharp_cellrenderer_base_get_size (GtkCellRenderer *cell, GtkWidget *widget, 
GdkRectangle *cell_area, gint *x_offset, gint *y_offset, gint *width, gint 
*height)
 {
-       GtkCellRendererClass *parent = g_type_class_peek_parent 
(G_OBJECT_GET_CLASS (cell));
-       if (parent->get_size)
-               (*parent->get_size) (cell, widget, cell_area, x_offset, 
y_offset, width, height);
+       if (GTK_CELL_RENDERER_GET_CLASS (cell)->get_size)
+               GTK_CELL_RENDERER_GET_CLASS (cell)->get_size (cell, widget, 
cell_area, x_offset, y_offset, width, height);
 }
 
 void gtksharp_cellrenderer_override_get_size (GType gtype, gpointer cb);
@@ -42,14 +52,22 @@
        ((GtkCellRendererClass *) klass)->get_size = cb;
 }
 
+void gtksharp_cellrenderer_invoke_render (GType type, GtkCellRenderer *cell, 
GdkDrawable *window, GtkWidget *widget, GdkRectangle *background_area, 
GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags);
+
+void
+gtksharp_cellrenderer_invoke_render (GType type, GtkCellRenderer *cell, 
GdkDrawable *window, GtkWidget *widget, GdkRectangle *background_area, 
GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags)
+{
+       GtkCellRendererClass *klass = g_type_class_peek (type);
+       klass->render (cell, window, widget, background_area, cell_area, 
expose_area, flags);
+}
+
 void gtksharp_cellrenderer_base_render (GtkCellRenderer *cell, GdkDrawable 
*window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle 
*cell_area, GdkRectangle *expose_area, GtkCellRendererState flags);
 
 void
 gtksharp_cellrenderer_base_render (GtkCellRenderer *cell, GdkDrawable *window, 
GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, 
GdkRectangle *expose_area, GtkCellRendererState flags)
 {
-       GtkCellRendererClass *parent = g_type_class_peek_parent 
(G_OBJECT_GET_CLASS (cell));
-       if (parent->render)
-               (*parent->render) (cell, window, widget, background_area, 
cell_area, expose_area, flags);
+       if (GTK_CELL_RENDERER_GET_CLASS (cell)->render)
+               GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, window, 
widget, background_area, cell_area, expose_area, flags);
 }
 
 void gtksharp_cellrenderer_override_render (GType gtype, gpointer cb);
@@ -63,14 +81,22 @@
        ((GtkCellRendererClass *) klass)->render = cb;
 }
 
+GtkCellEditable * gtksharp_cellrenderer_invoke_start_editing (GType type, 
GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path, 
GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState 
flags);
+
+GtkCellEditable *
+gtksharp_cellrenderer_invoke_start_editing (GType type, GtkCellRenderer *cell, 
GdkEvent *event, GtkWidget *widget, const gchar *path, GdkRectangle 
*background_area, GdkRectangle *cell_area, GtkCellRendererState flags)
+{
+       GtkCellRendererClass *klass = g_type_class_peek (type);
+       klass->start_editing (cell, event, widget, path, background_area, 
cell_area, flags);
+}
+
 GtkCellEditable * gtksharp_cellrenderer_base_start_editing (GtkCellRenderer 
*cell, GdkEvent *event, GtkWidget *widget, const gchar *path, GdkRectangle 
*background_area, GdkRectangle *cell_area, GtkCellRendererState flags);
 
 GtkCellEditable *
 gtksharp_cellrenderer_base_start_editing (GtkCellRenderer *cell, GdkEvent 
*event, GtkWidget *widget, const gchar *path, GdkRectangle *background_area, 
GdkRectangle *cell_area, GtkCellRendererState flags)
 {
-        GtkCellRendererClass *parent = g_type_class_peek_parent 
(G_OBJECT_GET_CLASS (cell));
-        if (parent->start_editing)
-               return (*parent->start_editing) (cell, event, widget, path, 
background_area, cell_area, flags);
+       if (GTK_CELL_RENDERER_GET_CLASS (cell)->start_editing)
+               return GTK_CELL_RENDERER_GET_CLASS (cell)->start_editing (cell, 
event, widget, path, background_area, cell_area, flags);
        return NULL;    
 }
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to