Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Gnome/demos/icon-editor/   (Gnome Linux Desktop Version 4.23.2©)  Datei vom 30.5.2026 mit Größe 102 kB image not shown  

Quelle  shape-editor.ui   Sprache: unbekannt

 
Spracherkennung für: .ui vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

<interface>
  <template class="ShapeEditor" parent="GtkWidget">
    <child>
      <object class="GtkGrid" id="grid">
        <child>
          <object class="GtkExpander" id="expander">
            <property name="hexpand">1</property>
            <property name="valign">center</property>
            <property name="label-widget">
              <object class="GtkBox">
                <child>
                  <object class="GtkImage">
                    <property name="pixel-size">20</property>
                    <property name="paintable" bind-source="ShapeEditor" bind-property="path-image"/>
                    <accessibility>
                      <property name="label" translatable="yes">Path</property>
                    </accessibility>
                  </object>
                </child>
                <child>
                  <object class="GtkEditableLabel" id="id_label">
                    <property name="hexpand">1</property>
                    <property name="xalign">0</property>
                    <signal name="notify::text" handler="id_changed" swapped="yes"/>
                  </object>
                </child>
                <child>
                  <object class="GtkBox">
                    <style><class name="tight"/></style>
                    <child>
                      <object class="GtkButton">
                        <style>
                          <class name="circular"/>
                          <class name="small"/>
                        </style>
                        <property name="focus-on-click">0</property>
                        <property name="has-frame">0</property>
                        <property name="tooltip-text" translatable="yes">Duplicate Element</property>
                        <property name="child">
                          <object class="GtkImage">
                            <property name="paintable">
                              <object class="GtkIconPaintable">
                                <property name="file">resource:///org/gtk/Shaper/plus-symbolic.svg</property>
                              </object>
                            </property>
                          </object>
                        </property>
                        <signal name="clicked" handler="duplicate_shape" swapped="yes"/>
                      </object>
                    </child>
                    <child>
                      <object class="GtkButton" id="move_down">
                        <style>
                          <class name="circular"/>
                          <class name="small"/>
                        </style>
                        <property name="focus-on-click">0</property>
                        <property name="has-frame">0</property>
                        <property name="tooltip-text" translatable="yes">Move Down</property>
                        <property name="child">
                          <object class="GtkImage">
                            <property name="paintable">
                              <object class="GtkIconPaintable">
                                <property name="file">resource:///org/gtk/libgtk/icons/go-down-symbolic.svg</property>
                              </object>
                            </property>
                          </object>
                        </property>
                        <signal name="clicked" handler="move_shape_down" swapped="yes"/>
                      </object>
                    </child>
                    <child>
                      <object class="GtkButton">
                        <style>
                          <class name="circular"/>
                          <class name="small"/>
                        </style>
                        <property name="focus-on-click">0</property>
                        <property name="has-frame">0</property>
                        <property name="tooltip-text" translatable="yes">Delete Element</property>
                        <property name="child">
                          <object class="GtkImage">
                            <property name="paintable">
                              <object class="GtkIconPaintable">
                                <property name="file">resource:///org/gtk/libgtk/icons/user-trash-symbolic.svg</property>
                              </object>
                            </property>
                          </object>
                        </property>
                        <signal name="clicked" handler="delete_shape" swapped="yes"/>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </property>
            <layout>
              <property name="row">0</property>
              <property name="column">0</property>
              <property name="column-span">2</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="shape_expander">
            <property name="visible" bind-source="expander" bind-property="expanded" bind-flags="sync-create"/>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel" id="shape_label">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Type</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">shape_dropdown</property>
              </object>
            </property>
            <layout>
              <property name="row">1</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkBox">
            <property name="hexpand">0</property>
            <child>
              <object class="GtkDropDown" id="shape_dropdown">
                <property name="hexpand">1</property>
                <property name="visible" bind-source="expander" bind-property="expanded" bind-flags="sync-create"/>
                <signal name="notify::selected" handler="shape_changed" swapped="yes"/>
                <property name="model">
                  <object class="GtkStringList">
                    <items>
                      <item>Line</item>
                      <item>Polyline</item>
                      <item>Polygon</item>
                      <item>Rectangle</item>
                      <item>Circle</item>
                      <item>Ellipse</item>
                      <item>Path</item>
                      <item>Group</item>
                      <item>Clip Path</item>
                      <item>Mask</item>
                      <item>Definitions</item>
                      <item>Use</item>
                      <item>Linear Gradient</item>
                      <item>Radial Gradient</item>
                      <item>Pattern</item>
                      <item>Marker</item>
                      <item>Text</item>
                      <item>Text Span</item>
                      <item>Svg</item>
                      <item>Image</item>
                      <item>Filter</item>
                      <item>Symbol</item>
                      <item>Switch</item>
                      <item>Link</item>
                    </items>
                  </object>
                </property>
              </object>
            </child>
            <child>
              <object class="GtkButton">
                <style>
                  <class name="flat"/>
                  <class name="circular"/>
                </style>
                <binding name="visible">
                  <closure type="gboolean" function="bb_and_shape_has_children">
                    <lookup name="expanded">expander</lookup>
                    <lookup name="expanded">expander</lookup>
                    <lookup name="update-counter">ShapeEditor</lookup>
                  </closure>
                </binding>
                <property name="icon-name">list-add-symbolic</property>
                <property name="tooltip-text" translatable="yes">Add Element</property>
                <signal name="clicked" handler="add_shape" swapped="yes"/>
              </object>
            </child>
            <layout>
              <property name="row">1</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_start_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>0</constant> <!-- line -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Start</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">line_x1</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">2</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>0</constant> <!-- line -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">2</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="line_x1">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="line_y1">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_end_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>0</constant> <!-- line -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_End</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">line_x2</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">3</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>0</constant> <!-- line -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">3</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="line_x2">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="line_y2">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="rect_origin_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Origin</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">rect_x</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">4</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">4</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="rect_x">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="rect_y">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="rect_size_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Size</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">rect_width</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">5</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">5</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="rect_width">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="rect_height">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="rect_radius_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Radius</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">rect_rx</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">6</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>3</constant> <!-- rect -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">6</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="rect_rx">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="rect_ry">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="circle_center_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>4</constant> <!-- circle -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Center</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">circle_cx</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">7</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>4</constant> <!-- circle -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">7</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="circle_cx">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="circle_cy">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="circle_radius_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>4</constant> <!-- circle -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Radius</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">circle_r</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">8</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="NumberEditor" id="circle_r">
            <property name="min">0</property>
            <signal name="notify::value" handler="shape_changed" swapped="yes"/>
            <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>4</constant> <!-- circle -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">8</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="ellipse_center_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>5</constant> <!-- ellipse -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Center</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">ellipse_cx</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">9</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>5</constant> <!-- ellipse -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">9</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="ellipse_cx">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="ellipse_cy">
                <property name="hexpand">1</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="ellipse_radius_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>5</constant> <!-- ellipse -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Radius</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">circle_r</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">10</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>5</constant> <!-- ellipse -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">10</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="NumberEditor" id="ellipse_rx">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="NumberEditor" id="ellipse_ry">
                <property name="hexpand">1</property>
                <property name="min">0</property>
                <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="poly_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_one_of_two">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>1</constant> <!-- polyline -->
                <constant type='guint'>2</constant> <!-- polygon -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Points</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">circle_r</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">11</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_one_of_two">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>1</constant> <!-- polyline -->
                <constant type='guint'>2</constant> <!-- polygon -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">10</property>
              <property name="column">1</property>
            </layout>
            <child>
              <object class="GtkBox" id="polyline_box">
                <property name="orientation">vertical</property>
                <child>
                  <object class="GtkBox">
                    <child>
                      <object class="NumberEditor">
                        <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                        <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
                      </object>
                    </child>
                    <child>
                      <object class="NumberEditor">
                        <signal name="notify::value" handler="shape_changed" swapped="yes"/>
                        <signal name="notify::unit" handler="shape_changed" swapped="yes"/>
                      </object>
                    </child>
                    <child>
                      <object class="GtkButton">
                        <property name="icon-name">user-trash-symbolic</property>
                        <property name="tooltip-text" translatable="yes">Delete Point</property>
                        <signal name="clicked" handler="polyline_delete_row" swapped="no"/>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child>
              <object class="GtkButton">
                <property name="valign">start</property>
                <property name="icon-name">list-add-symbolic</property>
                <property name="tooltip-text" translatable="yes">Add Point</property>
                <signal name="clicked" handler="polyline_add_row" swapped="yes"/>
              </object>
            </child>
          </object>
        </child>
        <child>
          <object class="GtkLabel" id="path_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>6</constant> <!-- path -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Path</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">path_editor</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">12</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="PathEditor" id="path_editor">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>6</constant> <!-- path -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">12</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::path" handler="path_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="origin_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_is_graphical">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Origin</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">origin</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">13</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkScale" id="origin">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_is_graphical">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="value-changed" handler="origin_changed" swapped="yes"/>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">1</property>
                <property name="step-increment">0.1</property>
              </object>
            </property>
            <marks>
              <mark value="0" position="bottom"/>
              <mark value="0.5" position="bottom"/>
              <mark value="1" position="bottom"/>
            </marks>
            <layout>
              <property name="row">13</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkBox" id="children">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_children">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">shape_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="orientation">vertical</property>
            <property name="margin-start">20</property>
            <layout>
              <property name="row">14</property>
              <property name="column">0</property>
              <property name="column-span">2</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="transition_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Transition</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">transition_type</property>
              </object>
            </property>
            <layout>
              <property name="row">15</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="transition_type">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="notify::selected" handler="transition_changed" swapped="yes"/>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>None</item>
                  <item>Animate</item>
                  <item>Morph</item>
                  <item>Fade</item>
                </items>
              </object>
            </property>
            <layout>
              <property name="row">15</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="transition_duration_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Duration</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">transition_duration</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">16</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkSpinButton" id="transition_duration">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="value-changed" handler="transition_changed" swapped="yes"/>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">3000</property>
                <property name="step-increment">1</property>
              </object>
            </property>
            <property name="numeric">1</property>
            <property name="digits">2</property>
            <layout>
              <property name="row">16</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="transition_delay_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">D_elay</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">transition_delay</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">17</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkSpinButton" id="transition_delay">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="value-changed" handler="transition_changed" swapped="yes"/>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">-3000</property>
                <property name="upper">3000</property>
                <property name="step-increment">1</property>
              </object>
            </property>
            <property name="numeric">1</property>
            <property name="digits">2</property>
            <layout>
              <property name="row">17</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="transition_easing_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Easing</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">transition_easing</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">18</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transition_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <child>
              <object class="GtkDropDown" id="transition_easing">
                <property name="valign">center</property>
                <property name="hexpand">1</property>
                <signal name="notify::selected" handler="transition_changed" swapped="yes"/>
                <property name="model">
                  <object class="GtkStringList">
                    <items>
                      <item>Linear</item>
                      <item>Ease-in-out</item>
                      <item>Ease-in</item>
                      <item>Ease-out</item>
                      <item>Ease</item>
                    </items>
                  </object>
                </property>
              </object>
            </child>
            <child>
              <object class="GtkMenuButton">
                <property name="sensitive">0</property>
                <property name="valign">center</property>
                <property name="child">
                  <object class="MiniGraph">
                    <property name="width-request">50</property>
                    <property name="height-request">50</property>
                    <property name="easing" bind-source="transition_easing" bind-property="selected" bind-flags="sync-create"/>
                  </object>
                </property>
              </object>
            </child>
            <layout>
              <property name="row">18</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="animation_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel" id="animation_label">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Animation</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">animation_direction</property>
              </object>
            </property>
            <layout>
              <property name="row">19</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="animation_direction">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="notify::selected" handler="animation_changed" swapped="yes"/>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>None</item>
                  <item>Normal</item>
                  <item>Alternate</item>
                  <item>Reverse</item>
                  <item>Reverse Alternate</item>
                  <item>In-Out</item>
                  <item>In-Out Alternate</item>
                  <item>In-Out Reverse</item>
                  <item>Segment</item>
                  <item>Segment Alternate</item>
                </items>
              </object>
            </property>
            <layout>
              <property name="row">19</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="animation_duration_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Duration</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">animation_duration</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">20</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkSpinButton" id="animation_duration">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="value-changed" handler="animation_changed" swapped="yes"/>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">3000</property>
                <property name="step-increment">1</property>
              </object>
            </property>
            <property name="numeric">1</property>
            <property name="digits">2</property>
            <layout>
              <property name="row">20</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="animation_repeat_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Repetitions</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">animation_repeat</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">21</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <child>
              <object class="GtkCheckButton" id="infty_check">
                <property name="label">∞</property>
                <accessibility>
                  <property name="label" translatable="yes">Repeat forever</property>
                </accessibility>
                <signal name="notify::active" handler="animation_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="GtkSpinButton" id="animation_repeat">
                <property name="sensitive" bind-source="infty_check" bind-property="active" bind-flags="sync-create | invert-boolean"/>
                <signal name="value-changed" handler="animation_changed" swapped="yes"/>
                <property name="adjustment">
                  <object class="GtkAdjustment">
                    <property name="lower">0</property>
                    <property name="upper">3.402823e+38</property>
                    <property name="step-increment">0.5</property>
                  </object>
                </property>
                <property name="digits">2</property>
              </object>
            </child>
            <layout>
              <property name="row">21</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="animation_easing_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Easing</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">animation_easing</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">22</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <child>
              <object class="GtkDropDown" id="animation_easing">
                <property name="valign">center</property>
                <property name="hexpand">1</property>
                <signal name="notify::selected" handler="animation_changed" swapped="yes"/>
                <property name="model">
                  <object class="GtkStringList">
                    <items>
                      <item>Linear</item>
                      <item>Ease-in-out</item>
                      <item>Ease-in</item>
                      <item>Ease-out</item>
                      <item>Ease</item>
                    </items>
                  </object>
                </property>
              </object>
            </child>
            <child>
              <object class="GtkMenuButton">
                <property name="valign">center</property>
                <property name="child">
                  <object class="MiniGraph" id="mini_graph">
                    <property name="width-request">50</property>
                    <property name="height-request">50</property>
                    <property name="easing" bind-source="animation_easing" bind-property="selected" bind-flags="sync-create"/>
                  </object>
                </property>
              </object>
            </child>
            <layout>
              <property name="row">22</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="animation_segment_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">Segment</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">animation_segment</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">24</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkSpinButton" id="animation_segment">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">animation_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="value-changed" handler="animation_changed" swapped="yes"/>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">1</property>
                <property name="step-increment">0.1</property>
              </object>
            </property>
            <property name="numeric">1</property>
            <property name="digits">2</property>
            <layout>
              <property name="row">24</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="attach_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel" id="attach_to_label">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Attach</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">attach_to</property>
              </object>
            </property>
            <layout>
              <property name="row">25</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="attach_to">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="notify::selected" handler="attach_changed" swapped="yes"/>
            <layout>
              <property name="row">25</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="attach_at_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">attach_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Position</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">attach_at</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">26</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkScale" id="attach_at">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_gpa">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">attach_expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">1</property>
                <property name="step-increment">0.1</property>
              </object>
            </property>
            <signal name="value-changed" handler="attach_changed" swapped="yes"/>
            <marks>
              <mark value="0" position="bottom"/>
              <mark value="0.5" position="bottom"/>
              <mark value="1" position="bottom"/>
            </marks>
            <layout>
              <property name="row">26</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="clip_path_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">clip-path</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Clip</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">clip_path_editor</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">27</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="PathEditor" id="clip_path_editor">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">clip-path</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">27</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::path" handler="clip_path_changed" swapped="yes"/>
            <signal name="notify::id" handler="clip_path_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="mask_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">mask</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Mask</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">mask_dropdown</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">28</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="mask_dropdown">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">mask</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">28</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::selected" handler="mask_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="transform_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">transform</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel" id="transform_label">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Transform</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">transform</property>
              </object>
            </property>
            <layout>
              <property name="row">29</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkBox">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">transform</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <child>
              <object class="GtkEntry" id="transform">
                <property name="hexpand">1</property>
                <signal name="activate" handler="transform_changed" swapped="yes"/>
              </object>
            </child>
            <child>
              <object class="GtkButton">
                <binding name="visible">
                  <closure type="gboolean" function="bb_and_shape_has_attr">
                    <lookup name="expanded">expander</lookup>
                    <lookup name="expanded">transform_expander</lookup>
                    <constant type="gchararray">transform</constant>
                    <lookup name="update-counter">ShapeEditor</lookup>
                  </closure>
                </binding>
                <style>
                  <class name="flat"/>
                  <class name="circular"/>
                </style>
                <property name="icon-name">list-add-symbolic</property>
                <property name="tooltip-text">Add Transform</property>
                <signal name="clicked" handler="add_primitive_transform" swapped="yes"/>
              </object>
            </child>
            <layout>
              <property name="row">29</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkBox" id="transform_box">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">transform_expander</lookup>
                <constant type="gchararray">transform</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="orientation">vertical</property>
            <layout>
              <property name="row">32</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="filter_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">filter</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <property name="xalign">1</property>
            <property name="label" translatable="yes">_Filter</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">filter</property>
            <layout>
              <property name="row">34</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkEntry" id="filter">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_shape_has_attr">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <constant type="gchararray">filter</constant>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="activate" handler="filter_changed" swapped="yes"/>
            <layout>
              <property name="row">34</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="opacity_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <property name="xalign">1</property>
            <property name="label" translatable="yes">_Opacity</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">opacity</property>
            <layout>
              <property name="row">35</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="AlphaEditor" id="opacity">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <layout>
              <property name="row">35</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::alpha" handler="opacity_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="paint_order_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <property name="xalign">1</property>
            <property name="label" translatable="yes">_Paint order</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">paint_order</property>
            <layout>
              <property name="row">36</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkDropDown" id="paint_order">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <signal name="notify::selected" handler="paint_order_changed" swapped="yes"/>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>Fill, Stroke, Markers</item>
                  <item>Fill, Markers, Stroke</item>
                  <item>Stroke, Fill, Markers</item>
                  <item>Stroke, Markers, Fill</item>
                  <item>Markers, Fill, Stroke</item>
                  <item>Markers, Stroke, Fill</item>
                </items>
              </object>
            </property>
            <layout>
              <property name="row">36</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="fill_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel" id="fill_label">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Fill</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">fill_paint</property>
              </object>
            </property>
            <layout>
              <property name="row">37</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="ColorEditor" id="fill_paint">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">37</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::symbolic" handler="fill_changed" swapped="yes"/>
            <signal name="notify::color" handler="fill_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="fill_rule_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">fill_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Rule</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">fill_rule</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">38</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="fill_rule">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">fill_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>Winding</item>
                  <item>Even-Odd</item>
                </items>
              </object>
            </property>
            <signal name="notify::selected" handler="fill_changed" swapped="yes"/>
            <layout>
              <property name="row">38</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="stroke_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">10</property>
            <property name="label-widget">
              <object class="GtkLabel">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Stroke</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">stroke_paint</property>
              </object>
            </property>
            <layout>
              <property name="row">39</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="ColorEditor" id="stroke_paint">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <layout>
              <property name="row">39</property>
              <property name="column">1</property>
            </layout>
            <signal name="notify::symbolic" handler="stroke_changed" swapped="yes"/>
            <signal name="notify::color" handler="stroke_changed" swapped="yes"/>
          </object>
        </child>

        <child>
          <object class="GtkExpander" id="width_expander">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">0</property>
            <property name="valign">center</property>
            <property name="margin-start">20</property>
            <property name="label-widget">
              <object class="GtkLabel">
                <property name="hexpand">1</property>
                <property name="xalign">1</property>
                <property name="label" translatable="yes">_Width</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">line_width</property>
              </object>
            </property>
            <layout>
              <property name="row">40</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="NumberEditor" id="line_width">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="min">0</property>
            <signal name="notify::value" handler="stroke_changed" swapped="yes"/>
            <signal name="notify::unit" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">40</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_min_label">
            <binding name="visible">
              <closure type="gboolean" function="bbb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="expanded">width_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Min</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">min_width</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">41</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="NumberEditor" id="min_width">
            <binding name="visible">
              <closure type="gboolean" function="bbb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="expanded">width_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="min">0</property>
            <signal name="notify::value" handler="stroke_changed" swapped="yes"/>
            <signal name="notify::unit" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">41</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_max_label">
            <binding name="visible">
              <closure type="gboolean" function="bbb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="expanded">width_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">Ma_x</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">max_width</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">42</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="NumberEditor" id="max_width">
            <binding name="visible">
              <closure type="gboolean" function="bbb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="expanded">width_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="min">0</property>
            <signal name="notify::value" handler="stroke_changed" swapped="yes"/>
            <signal name="notify::unit" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">42</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_join_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Join</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">line_join</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">43</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="line_join">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>Miter</item>
                  <item>Round</item>
                  <item>Bevel</item>
                </items>
              </object>
            </property>
            <signal name="notify::selected" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">43</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="line_cap_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Cap</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">line_cap</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">44</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="line_cap">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>Butt</item>
                  <item>Round</item>
                  <item>Square</item>
                </items>
              </object>
            </property>
            <signal name="notify::selected" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">44</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="miter_limit_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Miter limit</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">miter_limit</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">45</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkScale" id="miter_limit">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_unequal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">stroke_expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">10</constant> <!-- defs -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="adjustment">
              <object class="GtkAdjustment">
                <property name="lower">0</property>
                <property name="upper">25</property>
                <property name="value">4</property>
                <property name="step-increment">0.1</property>
                <property name="page-size">0</property>
              </object>
            </property>
            <signal name="notify::value" handler="stroke_changed" swapped="yes"/>
            <layout>
              <property name="row">45</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkLabel" id="mask_type_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">9</constant> <!-- mask -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Mask Type</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">mask_type</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">46</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkDropDown" id="mask_type">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type="guint">9</constant> <!-- mask -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="model">
              <object class="GtkStringList">
                <items>
                  <item>Luminance</item>
                  <item>Alpha</item>
                </items>
              </object>
            </property>
            <signal name="notify::selected" handler="mask_type_changed" swapped="yes"/>
            <layout>
              <property name="row">46</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="href_label">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>23</constant> <!-- a -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_URL</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">href_entry</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">49</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkEntry" id="href_entry">
            <binding name="visible">
              <closure type="gboolean" function="bb_and_uint_equal">
                <lookup name="expanded">expander</lookup>
                <lookup name="expanded">expander</lookup>
                <lookup name="selected">shape_dropdown</lookup>
                <constant type='guint'>23</constant> <!-- a -->
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <signal name="activate" handler="href_changed" swapped="yes"/>
            <layout>
              <property name="row">49</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="class_label">
            <binding name="visible">
              <closure type="gboolean" function="bool_and_edit">
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Classes</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">class_entry</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">47</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkEntry" id="class_entry">
            <binding name="visible">
              <closure type="gboolean" function="bool_and_edit">
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <signal name="activate" handler="class_changed" swapped="yes"/>
            <layout>
              <property name="row">47</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="style_label">
            <binding name="visible">
              <closure type="gboolean" function="bool_and_edit">
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">_Style</property>
            <property name="use-underline">1</property>
            <property name="mnemonic-widget">style_entry</property>
            <property name="xalign">1</property>
            <layout>
              <property name="row">48</property>
              <property name="column">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object class="GtkEntry" id="style_entry">
            <binding name="visible">
              <closure type="gboolean" function="bool_and_edit">
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="hexpand">1</property>
            <signal name="activate" handler="style_changed" swapped="yes"/>
            <layout>
              <property name="row">48</property>
              <property name="column">1</property>
            </layout>
          </object>
        </child>

        <child>
          <object class="GtkLabel" id="no_edit">
            <binding name="visible">
              <closure type="gboolean" function="bool_and_no_edit">
                <lookup name="expanded">expander</lookup>
                <lookup name="update-counter">ShapeEditor</lookup>
              </closure>
            </binding>
            <property name="label" translatable="yes">Not editable</property>
            <property name="attributes">style italic</property>
            <property name="margin-top">20</property>
            <property name="margin-bottom">20</property>
            <layout>
              <property name="row">100</property>
              <property name="column">0</property>
              <property name="column-span">2</property>
            </layout>
          </object>
        </child>

      </object>
    </child>
  </template>
  <object class="GtkSizeGroup" id="sg">
    <widgets>
      <widget name="shape_expander"/>
      <widget name="line_start_label"/>
      <widget name="line_end_label"/>
      <widget name="circle_center_label"/>
      <widget name="circle_radius_label"/>
      <widget name="ellipse_center_label"/>
      <widget name="ellipse_radius_label"/>
      <widget name="path_label"/>
      <widget name="origin_label"/>
      <widget name="transition_expander"/>
      <widget name="transition_duration_label"/>
      <widget name="transition_delay_label"/>
      <widget name="transition_easing_label"/>
      <widget name="animation_expander"/>
      <widget name="animation_duration_label"/>
      <widget name="animation_repeat_label"/>
      <widget name="animation_easing_label"/>
      <widget name="animation_segment_label"/>
      <widget name="paint_order_label"/>
      <widget name="clip_path_label"/>
      <widget name="opacity_label"/>
      <widget name="transform_expander"/>
      <widget name="filter_label"/>
      <widget name="stroke_expander"/>
      <widget name="width_expander"/>
      <widget name="line_min_label"/>
      <widget name="line_max_label"/>
      <widget name="line_join_label"/>
      <widget name="line_cap_label"/>
      <widget name="miter_limit_label"/>
      <widget name="fill_expander"/>
      <widget name="fill_rule_label"/>
      <widget name="attach_expander"/>
      <widget name="attach_at_label"/>
      <widget name="mask_label"/>
      <widget name="mask_type_label"/>
      <widget name="class_label"/>
    </widgets>
  </object>
</interface>

[Dauer der Verarbeitung: 0.61 Sekunden, vorverarbeitet 2026-07-02]