[gi-docgen/prop-default-attribute] generate: Parse attribute for property defaults
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gi-docgen/prop-default-attribute] generate: Parse attribute for property defaults
- Date: Mon, 27 Sep 2021 20:06:13 +0000 (UTC)
commit 62986d026f304d3774b4832129182ac832444515
Author: Emmanuele Bassi <ebassi gnome org>
Date: Mon Sep 27 20:53:50 2021 +0100
generate: Parse attribute for property defaults
Introspection data does not have a default value for properties, so we
should allow library authors to define the default through an attribute.
docs/attributes.rst | 3 +++
gidocgen/gdgenerate.py | 10 ++++++++++
2 files changed, 13 insertions(+)
---
diff --git a/docs/attributes.rst b/docs/attributes.rst
index c467b34..b67625a 100644
--- a/docs/attributes.rst
+++ b/docs/attributes.rst
@@ -21,6 +21,9 @@ The following attributes apply to properties.
Defines the setter method for a given property. The value of the attribute is
the C symbol of the function.
+``org.gtk.Property.default`` = ``s``
+ Defines the default value for a given property.
+
Methods
-------
diff --git a/gidocgen/gdgenerate.py b/gidocgen/gdgenerate.py
index b6245aa..a4f0a6e 100644
--- a/gidocgen/gdgenerate.py
+++ b/gidocgen/gdgenerate.py
@@ -441,6 +441,12 @@ class TemplateProperty:
href = f"method.{t.name}.{func_name}.html"
return Markup(f"<a href=\"{href}\"><code>{getter_func}</code></a>")
+ def transform_default_attribute(namespace, prop, default_value):
+ if default_value is None:
+ log.warning(f"Missing value in the default attribute for {prop.name}")
+ return None
+ return Markup(f"<code>{default_value}</code>")
+
ATTRIBUTE_NAMES = {
"org.gtk.Property.set": {
"label": "Setter method",
@@ -450,6 +456,10 @@ class TemplateProperty:
"label": "Getter method",
"transform": transform_get_attribute,
},
+ "org.gtk.Property.default": {
+ "label": "Default value",
+ "transform": transform_default_attribute,
+ },
}
self.attributes = {}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]