mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-05-04 15:59:08 -04:00
Fix templates in bind-property
This commit is contained in:
parent
b5eca8b0b3
commit
3ebe5c72c1
4 changed files with 23 additions and 1 deletions
|
@ -141,7 +141,16 @@ class XmlOutput(OutputFormat):
|
|||
if value.bidirectional:
|
||||
bind_flags.append("bidirectional")
|
||||
|
||||
props["bind-source"] = value.source
|
||||
if (
|
||||
value.source == "template"
|
||||
and value.context[ScopeCtx].template is not None
|
||||
):
|
||||
props["bind-source"] = value.context[
|
||||
ScopeCtx
|
||||
].template.gir_class.glib_type_name
|
||||
else:
|
||||
props["bind-source"] = value.source
|
||||
|
||||
props["bind-property"] = value.property_name
|
||||
props["bind-flags"] = "|".join(bind_flags) or None
|
||||
xml.put_self_closing("property", **props)
|
||||
|
|
5
tests/samples/template_bind_property.blp
Normal file
5
tests/samples/template_bind_property.blp
Normal file
|
@ -0,0 +1,5 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
template $MyTemplate {
|
||||
object: bind-property template.object2;
|
||||
}
|
7
tests/samples/template_bind_property.ui
Normal file
7
tests/samples/template_bind_property.ui
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.0"/>
|
||||
<template class="MyTemplate">
|
||||
<property name="object" bind-source="MyTemplate" bind-property="object2" bind-flags="sync-create"/>
|
||||
</template>
|
||||
</interface>
|
|
@ -177,6 +177,7 @@ class TestSamples(unittest.TestCase):
|
|||
"template",
|
||||
"template_binding",
|
||||
"template_binding_extern",
|
||||
"template_bind_property",
|
||||
"template_id",
|
||||
"template_no_parent",
|
||||
"template_simple_binding",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue