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) {