2003-07-06 Mike Kestner <mkestner@speakeasy.net>

* api/gtk-api.xml : regenerated
	* parser/GAPI/Metadata.pm : add support for property
	attribute alteration.
	* sources/Gtk.metadata : rule to mark TextTag.Weight as
	PangoWeight instead of gint. fixes 45214.

svn path=/trunk/gtk-sharp/; revision=15977
This commit is contained in:
Mike Kestner 2003-07-06 06:33:15 +00:00
parent 54a97361e9
commit 2d3e7d7c9c
4 changed files with 46 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2003-07-06 Mike Kestner <mkestner@speakeasy.net>
* api/gtk-api.xml : regenerated
* parser/GAPI/Metadata.pm : add support for property
attribute alteration.
* sources/Gtk.metadata : rule to mark TextTag.Weight as
PangoWeight instead of gint. fixes 45214.
2003-07-05 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : regenerated

View File

@ -6766,7 +6766,7 @@
<property name="Family" cname="family" type="gchar*" readable="true" writeable="true"/>
<property name="Style" cname="style" type="PangoStyle" readable="true" writeable="true"/>
<property name="Variant" cname="variant" type="PangoVariant" readable="true" writeable="true"/>
<property name="Weight" cname="weight" type="gint" readable="true" writeable="true"/>
<property name="Weight" cname="weight" type="PangoWeight" readable="true" writeable="true"/>
<property name="Stretch" cname="stretch" type="PangoStretch" readable="true" writeable="true"/>
<property name="Size" cname="size" type="gint" readable="true" writeable="true"/>
<property name="Scale" cname="scale" type="gdouble" readable="true" writeable="true"/>

View File

@ -25,15 +25,18 @@ sub parseClass {
my ($node, $classes) = @_;
my %methods = ();
my %signals = ();
my %properties = ();
my @attrs = $node->attributes;
my $class_name = $attrs[0]->value;
${$classes}{$class_name} = [\%methods, \%signals];
${$classes}{$class_name} = [\%methods, \%signals, \%properties];
for ($method_node = $node->firstChild; $method_node != undef; $method_node = $method_node->nextSibling ()) {
if ($method_node->nodeName eq "method" or $method_node->nodeName eq "constructor") {
$methods{$method_node->firstChild->nodeValue} = 1;
} elsif ($method_node->nodeName eq "signal") {
$signals{$method_node->firstChild->nodeValue} = 1;
} elsif ($method_node->nodeName eq "property") {
$properties{$method_node->firstChild->nodeValue} = 1;
}
}
}
@ -191,12 +194,13 @@ sub fixupNamespace {
my %classes = %$classes_ref;
$methods_ref = $classes{$class}[0];
$signals_ref = $classes{$class}[1];
$properties_ref = $classes{$class}[2];
if ({%$classes_ref}->{$class}) {
addClassData ($doc, $node, $class, $data_list_ref);
}
next if not ($methods_ref or $signals_ref);
next if not ($methods_ref or $signals_ref or $properties_ref);
for ($method_node = $node->firstChild; $method_node; $method_node = $method_node->nextSibling ()) {
next if not ($method_node->nodeName eq "method" or $method_node->nodeName eq "constructor");
@ -226,6 +230,26 @@ sub fixupNamespace {
fixupParams ($signal_node, $data_list_ref);
}
for ($property_node = $node->firstChild; $property_node; $property_node = $property_node->nextSibling ()) {
next if $property_node->nodeName ne "property";
my $property;
foreach $attr ($property_node->attributes) {
if ($attr->name eq "name") {
$property = $attr->value;
last;
}
}
next if not ${$properties_ref}{$property};
foreach $data (@$data_list_ref) {
if ($$data[1] eq "property") {
$property_node->setAttribute ($$data[5], $$data[6]);
next;
}
}
}
}
}
}

View File

@ -729,6 +729,17 @@
</attribute>
</data>
</rule>
<rule>
<class name="GtkTextTag">
<property>Weight</property>
</class>
<data>
<attribute target="property">
<name>type</name>
<value>PangoWeight</value>
</attribute>
</data>
</rule>
<rule>
<class name="GtkTextBuffer">
<signal>InsertPixbuf</signal>