From aee0a1f89494b91875ebb8a5001c82eef6150140 Mon Sep 17 00:00:00 2001 From: Rachel Hestilow Date: Sun, 18 Apr 2004 03:19:15 +0000 Subject: [PATCH] 2004-04-16 Rachel Hestilow * generator/GObjectGen.cs: Added new generatable to handle plain GObjects the same way we do subclasses. * generator/ManualGen.cs: Make FromNative/FromNativeReturn virtual to allow overriding. * generator/SymbolTable.cs: Use GObjectGen instead of ManualGen for GObject. * generator/Makefile.am: Add GObjectGen.cs. svn path=/trunk/gtk-sharp/; revision=25651 --- ChangeLog | 10 ++++++++++ generator/GObjectGen.cs | 22 ++++++++++++++++++++++ generator/Makefile.am | 1 + generator/ManualGen.cs | 4 ++-- generator/SymbolTable.cs | 2 +- 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 generator/GObjectGen.cs diff --git a/ChangeLog b/ChangeLog index 20196e90a..ff61424b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2004-04-16 Rachel Hestilow + + * generator/GObjectGen.cs: Added new generatable to handle + plain GObjects the same way we do subclasses. + * generator/ManualGen.cs: Make FromNative/FromNativeReturn virtual + to allow overriding. + * generator/SymbolTable.cs: Use GObjectGen instead of + ManualGen for GObject. + * generator/Makefile.am: Add GObjectGen.cs. + 2004-04-16 Boyd Timothy * gdk/Global.custom : properties to expose window manager spec diff --git a/generator/GObjectGen.cs b/generator/GObjectGen.cs new file mode 100644 index 000000000..0ebf75833 --- /dev/null +++ b/generator/GObjectGen.cs @@ -0,0 +1,22 @@ +// GtkSharp.Generation.GObjectGen.cs - The GObject generatable +// +// Note: This generatable only handles GObject* values. GObject subclasses +// are handled by ObjectGen. +// +// Author: Rachel Hestilow +// +// (c) 2004 Rachel Hestilow + +namespace GtkSharp.Generation { + + public class GObjectGen : ManualGen { + + public GObjectGen () : base ("GObject", "GLib.Object") {} + + public override string FromNative(string var) + { + return "GLib.Object.GetObject (" + var + ")"; + } + } +} + diff --git a/generator/Makefile.am b/generator/Makefile.am index 46b984b38..75d6d3fcd 100644 --- a/generator/Makefile.am +++ b/generator/Makefile.am @@ -21,6 +21,7 @@ sources = \ Field.cs \ GenBase.cs \ GenerationInfo.cs \ + GObjectGen.cs \ IGeneratable.cs \ ImportSignature.cs \ InterfaceGen.cs \ diff --git a/generator/ManualGen.cs b/generator/ManualGen.cs index 667b7c627..79399ab6e 100644 --- a/generator/ManualGen.cs +++ b/generator/ManualGen.cs @@ -68,12 +68,12 @@ namespace GtkSharp.Generation { return var_name + "." + handle; } - public string FromNative(string var) + public virtual string FromNative(string var) { return "new " + QualifiedName + "(" + var + ")"; } - public string FromNativeReturn(string var) + public virtual string FromNativeReturn(string var) { return FromNative (var); } diff --git a/generator/SymbolTable.cs b/generator/SymbolTable.cs index b9f71fcb2..05bbc15eb 100644 --- a/generator/SymbolTable.cs +++ b/generator/SymbolTable.cs @@ -94,7 +94,7 @@ namespace GtkSharp.Generation { AddType (new ManualGen ("GSList", "GLib.SList")); AddType (new ManualGen ("GList", "GLib.List")); AddType (new ByRefGen ("GValue", "GLib.Value")); - AddType (new ManualGen ("GObject", "GLib.Object")); + AddType (new GObjectGen ()); } public void AddType (IGeneratable gen)