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