diff --git a/ChangeLog b/ChangeLog index dee6468c4..db1ec7dc4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-10-07 Mike Kestner + + * api/gtk-api.xml : regenerated + * generator/Method.cs : gen new_flag automatically if set + * sources/Gtk.metadata : mark new_flag on Gtk.Bin.GetChild + 2003-10-07 Mike Kestner * generator/ObjectGen.cs (Generate): check sigs.Count in addition diff --git a/api/gtk-api.xml b/api/gtk-api.xml index e87b6af0b..71e1c5882 100644 --- a/api/gtk-api.xml +++ b/api/gtk-api.xml @@ -1513,7 +1513,7 @@ - + diff --git a/generator/Method.cs b/generator/Method.cs index eb4d9944d..a72cca093 100644 --- a/generator/Method.cs +++ b/generator/Method.cs @@ -168,7 +168,7 @@ namespace GtkSharp.Generation { else safety = ""; - is_get = ((parms != null && ((parms.IsAccessor && s_ret == "void") || (parms.Count == 0 && s_ret != "void")) || (parms == null && s_ret != "void")) && Name.Length > 3 && Name.Substring(0, 3) == "Get"); + is_get = (((parms != null && ((parms.IsAccessor && s_ret == "void") || (parms.Count == 0 && s_ret != "void"))) || (parms == null && s_ret != "void")) && Name.Length > 3 && Name.Substring(0, 3) == "Get"); is_set = ((parms != null && (parms.IsAccessor || (parms.Count == 1 && s_ret == "void"))) && (Name.Length > 3 && Name.Substring(0, 3) == "Set")); if (parms != null) { @@ -224,7 +224,7 @@ namespace GtkSharp.Generation { else if (elem.HasAttribute("new_flag") || (container_type != null && (dup = container_type.GetMethodRecursively (Name)) != null) || (implementor != null && (dup = implementor.GetMethodRecursively (Name)) != null)) { if (dup != null && dup.parms != null) dup.parms.CreateSignature (false); - if (dup != null && ((dup.parms != null && dup.parms.Signature == parms.Signature) || (dup.parms == null && parms == null))) + if (elem.HasAttribute("new_flag") || (dup != null && ((dup.parms != null && dup.parms.Signature == parms.Signature) || (dup.parms == null && parms == null)))) sw.Write("new "); } @@ -297,7 +297,7 @@ namespace GtkSharp.Generation { /* we are generated by the get Method, if there is one */ if (is_set || is_get) { - if (container_type.GetPropertyRecursively (Name.Substring (3)) != null) + if (!elem.HasAttribute("new_flag") && container_type.GetPropertyRecursively (Name.Substring (3)) != null) return; comp = GetComplement (); if (comp != null && comp.Validate () && is_set && parms.AccessorReturnType == comp.s_ret) diff --git a/sources/Gtk.metadata b/sources/Gtk.metadata index 2f155826a..57766384b 100644 --- a/sources/Gtk.metadata +++ b/sources/Gtk.metadata @@ -1692,6 +1692,9 @@ + + GetChild + SetScreen