mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
d3dc9c41b4
It's a good demo for how bindings can format multiple properties into an informative string with 1 line of code (and 5 lines of XML).
58 lines
2.2 KiB
XML
58 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<object class="GtkWindow" id="window">
|
|
<property name="title" translatable="yes">Fishbowl</property>
|
|
<property name="default-width">400</property>
|
|
<property name="default-height">400</property>
|
|
<child type="titlebar">
|
|
<object class="GtkHeaderBar" id="">
|
|
<property name="show-title-buttons">1</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<style>
|
|
<class name="linked"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="icon-name">pan-start-symbolic</property>
|
|
<signal name="clicked" handler="fishbowl_prev_button_clicked_cb" object="bowl" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="icon-name">pan-end-symbolic</property>
|
|
<signal name="clicked" handler="fishbowl_next_button_clicked_cb" object="bowl" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkLabel">
|
|
<binding name="label">
|
|
<closure type="gchararray" function="format_header_cb">
|
|
<lookup name="count">bowl</lookup>
|
|
<lookup name="framerate">bowl</lookup>
|
|
</closure>
|
|
</binding>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkToggleButton" id="changes_allow">
|
|
<property name="icon-name">changes-allow</property>
|
|
<property name="has-frame">0</property>
|
|
<signal name="notify::active" handler="fishbowl_changes_toggled_cb"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFishbowl" id="bowl">
|
|
<property name="visible">True</property>
|
|
<property name="overflow">hidden</property>
|
|
<property name="animating">True</property>
|
|
<property name="benchmark" bind-source="changes_allow" bind-property="active" bind-flags="invert-boolean | sync-create"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</interface>
|