From 3341e20c13b069d8177492a53bad361c14d38786 Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Mon, 15 Oct 2007 20:25:05 +0000 Subject: [PATCH] 2007-10-15 Mike Kestner * generator/InterfaceGen.cs : gen Handle props as overrides. * glib/GInterfaceAdapter.cs : add abstract Handle prop. * glib/Value.cs: add ctor (GInterfaceAdapter). svn path=/trunk/gtk-sharp/; revision=87532 --- ChangeLog | 6 ++++++ generator/InterfaceGen.cs | 2 +- glib/GInterfaceAdapter.cs | 2 ++ glib/Value.cs | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 731302b20..7792893ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-10-15 Mike Kestner + + * generator/InterfaceGen.cs : gen Handle props as overrides. + * glib/GInterfaceAdapter.cs : add abstract Handle prop. + * glib/Value.cs: add ctor (GInterfaceAdapter). + 2007-10-04 Peter Johanson * gtk/Gtk.metadata: Make the public fields on Gtk.Rcstyle writeable. diff --git a/generator/InterfaceGen.cs b/generator/InterfaceGen.cs index 99171b7e9..9340813e0 100644 --- a/generator/InterfaceGen.cs +++ b/generator/InterfaceGen.cs @@ -177,7 +177,7 @@ namespace GtkSharp.Generation { void GenerateHandleProp (StreamWriter sw) { - sw.WriteLine ("\t\tpublic IntPtr Handle {"); + sw.WriteLine ("\t\tpublic override IntPtr Handle {"); sw.WriteLine ("\t\t\tget {"); sw.WriteLine ("\t\t\t\treturn implementor == null ? IntPtr.Zero : implementor.Handle;"); sw.WriteLine ("\t\t\t}"); diff --git a/glib/GInterfaceAdapter.cs b/glib/GInterfaceAdapter.cs index 91b79b3b5..e44c9401c 100644 --- a/glib/GInterfaceAdapter.cs +++ b/glib/GInterfaceAdapter.cs @@ -52,6 +52,8 @@ namespace GLib { public abstract GType GType { get; } + public abstract IntPtr Handle { get; } + internal GInterfaceInfo Info { get { return info; diff --git a/glib/Value.cs b/glib/Value.cs index 57ad7a058..c21d7624a 100755 --- a/glib/Value.cs +++ b/glib/Value.cs @@ -133,6 +133,10 @@ namespace GLib { g_value_set_object (ref this, val == null ? IntPtr.Zero : val.Handle); } + public Value (GLib.GInterfaceAdapter val) : this (val == null ? GType.Object : val.GType) + { + g_value_set_object (ref this, val == null ? IntPtr.Zero : val.Handle); + } public Value (GLib.Object obj, string prop_name) {