2004-01-25 Mike Kestner <mkestner@ximian.com>

* gdk/gdk-api.xml : regen
	* gnome/gnome-api.xml : regen
	* gtk/gtk-api.xml : regen
	* parser/gapi2xml.pl : handle typedef struct {...} Foo;
	[Fixes #53312]

svn path=/trunk/gtk-sharp/; revision=22486
This commit is contained in:
Mike Kestner 2004-01-26 04:10:32 +00:00
parent 64e7ad9f30
commit 336bb6a786
5 changed files with 45 additions and 19 deletions

View file

@ -1,3 +1,11 @@
2004-01-25 Mike Kestner <mkestner@ximian.com>
* gdk/gdk-api.xml : regen
* gnome/gnome-api.xml : regen
* gtk/gtk-api.xml : regen
* parser/gapi2.xml.pl : handle typedef struct {...} Foo;
[Fixes #53312]
2004-01-22 Martin Willemoes Hansen <mwh@sysrq.dk>
* generator/Ctor.cs: Warnings was output like "ctor" fixed to

View file

@ -2155,6 +2155,7 @@
<field cname="ymin" type="int" />
<field cname="scanlines" type="ScanLineList" />
</struct>
<struct name="EdgeTableEntry" cname="EdgeTableEntry" opaque="true" />
<object name="Bitmap" cname="GdkBitmap" parent="GdkDrawable">
<field cname="parent_instance" type="GObject" />
<method name="CreateFromData" cname="gdk_bitmap_create_from_data" shared="true">
@ -2732,6 +2733,9 @@
</method>
</struct>
<alias name="XEvent" cname="GdkXEvent" type="void" />
<struct name="POINTBLOCK" cname="POINTBLOCK" opaque="true" />
<struct name="ScanLineList" cname="ScanLineList" opaque="true" />
<struct name="ScanLineListBlock" cname="ScanLineListBlock" opaque="true" />
<struct name="Atom" cname="GdkAtom" opaque="true">
<method name="Intern" cname="gdk_atom_intern" shared="true">
<return-type type="GdkAtom" />

View file

@ -4130,6 +4130,22 @@
</object>
<struct name="AppBarMsg" cname="GnomeAppBarMsg" opaque="true" />
<struct name="GdkPixbufAsyncHandle" cname="GnomeGdkPixbufAsyncHandle" opaque="true" />
<struct name="IconData" cname="GnomeIconData">
<field cname="has_embedded_rect" type="gboolean" />
<field cname="x0" type="int" />
<field cname="y0" type="int" />
<field cname="x1" type="int" />
<field cname="y1" type="int" />
<field cname="attach_points" type="GnomeIconDataPoint*" />
<field cname="n_attach_points" type="int" />
<field cname="display_name" type="char*" />
<method name="Dup" cname="gnome_icon_data_dup">
<return-type type="GnomeIconData*" />
</method>
<method name="Free" cname="gnome_icon_data_free">
<return-type type="void" />
</method>
</struct>
<struct name="IconDataPoint" cname="GnomeIconDataPoint">
<field cname="x" type="int" />
<field cname="y" type="int" />
@ -4281,18 +4297,6 @@
</method>
</class>
<class name="Icon" cname="GnomeIcon_">
<method name="DataDup" cname="gnome_icon_data_dup" shared="true">
<return-type type="GnomeIconData*" />
<parameters>
<parameter type="const-GnomeIconData*" name="icon_data" />
</parameters>
</method>
<method name="DataFree" cname="gnome_icon_data_free" shared="true">
<return-type type="void" />
<parameters>
<parameter type="GnomeIconData*" name="icon_data" />
</parameters>
</method>
<method name="Lookup" cname="gnome_icon_lookup" shared="true">
<return-type type="char*" />
<parameters>

View file

@ -12082,6 +12082,7 @@
</parameters>
</method>
</struct>
<struct name="TreeDataSortHeader" cname="GtkTreeDataSortHeader" opaque="true" />
<boxed name="TreeIter" cname="GtkTreeIter">
<field cname="stamp" type="gint" />
<field cname="user_data" type="gpointer" />

View file

@ -55,6 +55,15 @@ while ($line = <STDIN>) {
# fixme: siiigh
$2 = "GdkDrawable" if ($1 eq "_GdkDrawable");
$types{$2} = $1;
} elsif ($line =~ /typedef\s+struct/) {
$sdef = $line;
while ($line = <STDIN>) {
$sdef .= $line;
last if ($line =~ /^}/);
}
$sdef =~ s!/\*.*?(\*/|\n)!!g;
$sdef =~ s/\n\s*//g;
$types{$1} = $sdef if ($sdef =~ /.*\}\s*(\w+);/);
} elsif ($line =~ /typedef\s+(\w+)\s+(\**)(\w+);/) {
$types{$3} = $1 . $2;
} elsif ($line =~ /typedef\s+enum\s+(\w+)\s+(\w+);/) {
@ -329,19 +338,19 @@ foreach $key (sort (keys (%types))) {
if ($types{$type} =~ /struct\s+(\w+)/) {
$type = $1;
if (exists($sdefs{$type})) {
$def = $sdefs{$type};
} else {
$def = "privatestruct";
}
} elsif ($types{$type} =~ /struct/ && $type =~ /^$ns/) {
$def = $types{$type};
} else {
$elem = addNameElem($ns_elem, 'alias', $key, $ns);
$elem->setAttribute('type', $lasttype);
warn "alias $key to $lasttype\n" if $debug;
next;
}
if (exists($sdefs{$type})) {
$def = $sdefs{$type};
} else {
$def = "privatestruct";
}
# fixme: hack
if ($key eq "GdkBitmap") {