editor: PreferencesEditor
GtkDialog(main_dialog.toplevel): title='Add Preferences', hidden
  GtkVBox(main_dialog._main_vbox):
    GtkVBox(main_dialog.vbox, expand=True, fill=True):
      GtkEventBox(main_dialog.header):
      GtkEventBox(main_dialog.main, expand=True, fill=True, padding=6): slave PreferencesEditor is attached
        GtkNotebook(toplevel):
          GtkVBox(general_tab):
            GtkFrame(frame1, expand=True, fill=True):
              GtkAlignment(alignment1):
                GtkVBox(vbox1):
                  ProxyLabel(notice_lbl): 'Some of these options will only take effect after you restart Stoq.'
                  GtkTable(table1, expand=True, fill=True):
                    ProxyLabel(toolbar_style_lbl): 'Toolbar style:'
                    ProxyComboBox(toolbar_style):
                      item: 'System default'
                      item: 'Icons only'
                      item: 'Text only'
                      item: 'Both'
                      item: 'Both horizontal (default)', selected
                    ProxyLabel(language_lbl): 'Language:'
                    ProxyComboBox(language):
                      item: 'System default', selected
                      item: 'English'
                      item: 'English (Australia)'
                      item: 'English (United Kingdom)'
                      item: 'English (United States)'
                      item: 'Portuguese'
                      item: 'Portuguese (Brazil)'
                    ProxyLabel(spreadsheet_lbl): 'Spreadsheet action:'
                    ProxyComboBox(spreadsheet):
                      item: 'Ask (default)', selected
                      item: 'Save to disk'
          GtkEventBox():
            GtkVBox(_main_vbox):
              GtkVBox(vbox, expand=True, fill=True):
                GtkEventBox(header):
                GtkEventBox(main, expand=True, fill=True, padding=6):
                  GtkHBox():
                    ObjectList(categories):
                      column: title='Label', expand
                      row: u'Accounts Payable'
                      row: u'Accounts Receivable'
                      row: u'Administrative'
                      row: u'Calendar'
                      row: u'Financial'
                      row: 'General'
                      row: u'Inventory'
                      row: u'Point of Sales'
                      row: u'Production'
                      row: u'Purchase'
                      row: u'Sales'
                      row: u'Services'
                      row: u'Stock'
                      row: u'Till'
                    GtkVBox(expand=True, fill=True):
                      ObjectList(shortcuts, expand=True, fill=True):
                        column: title='Description', expand
                        column: title='Shortcut'
                      GtkLabel(_label, padding=6): 'You need to restart Stoq for the changes to take effect', hidden
                GtkHBox(fill=True):
                  GtkEventBox(extra_holder, expand=True, fill=True, padding=6):
                  GtkEventBox(print_holder, expand=True, fill=True):
                  GtkEventBox(notice, fill=True):
                  GtkEventBox(details_holder, padding=6, pack-end):
              GtkHButtonBox(fill=True, pack-end):
                GtkButton(padding=6): 'Reset defaults'
                GtkButton(cancel_button, expand=True, fill=True, padding=6): 'gtk-cancel', hidden
                GtkButton(ok_button, expand=True, fill=True, padding=6): 'gtk-ok', hidden
      GtkHBox(fill=True):
        GtkEventBox(main_dialog.extra_holder, expand=True, fill=True, padding=6):
        GtkEventBox(main_dialog.print_holder, expand=True, fill=True):
        GtkEventBox(main_dialog.notice, fill=True):
        GtkEventBox(main_dialog.details_holder, padding=6, pack-end):
    GtkHButtonBox(fill=True, pack-end):
      GtkButton(main_dialog.cancel_button, expand=True, fill=True, padding=6): 'gtk-cancel', hidden
      GtkButton(main_dialog.ok_button, expand=True, fill=True, padding=6): 'gtk-ok'
