editor: OutPaymentEditor
GtkDialog(main_dialog.toplevel): title='Add payment', 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):
        GtkEventBox(): slave BasicForm is attached
          GtkAlignment(toplevel):
            GtkTable():
              ProxyLabel(branch_id_lbl): 'Branch:'
              ProxyComboEntry(branch_id):
                item: 'Moda Stoq', selected
                item: 'Stoq Elite Fashion'
              GtkButton(branch_id_add_button): insensitive
              GtkButton(branch_id_edit_button):
              ProxyLabel(method_lbl): 'Method:'
              ProxyComboBox(method):
                item: 'Bill'
                item: 'Check'
                item: 'Deposit'
                item: 'Money', selected
              ProxyLabel(description_lbl): 'Description:'
              ProxyEntry(description): 'Payment name'
              ProxyLabel(person_id_lbl): 'Recipient:'
              ProxyComboEntry(person_id):
                item: 'Cia de Roupas S\xc3\xa3o Carlos (Cia de Roupas S\xc3\xa3o Carlos)'
              GtkButton(person_id_add_button):
              GtkButton(person_id_edit_button): insensitive
              ProxyLabel(value_lbl): 'Value:'
              ProxyEntry(value): '100.00'
              ProxyLabel(due_date_lbl): 'Due date:'
              ProxyDateEntry(due_date): datetime.date(2015, 1, 1)
              ProxyLabel(category_lbl): 'Category:'
              ProxyComboBox(category):
                item: 'No category', selected
              GtkButton(category_add_button):
              GtkButton(category_edit_button): insensitive
              ProxyLabel(repeat_lbl): 'Repeat:'
              ProxyComboBox(repeat):
                item: 'Once'
                item: 'Daily'
                item: 'Weekly', selected
                item: 'Biweekly'
                item: 'Monthly'
                item: 'Quarterly'
                item: 'Yearly'
              ProxyLabel(end_date_lbl): 'End date:'
              ProxyDateEntry(end_date): datetime.date(2015, 1, 10)
              ProxyLabel(): 'Attachment:'
              GtkButton(attachment): insensitive
              GtkButton(attachment_add_button):
              GtkButton(attachment_edit_button): insensitive
              GtkButton(attachment_delete_button): insensitive
              ProxyCheckButton(bill_received): 'The bill has arrived.'
      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(details_button): 'Details'
      GtkButton(main_dialog.cancel_button, expand=True, fill=True, padding=6): 'gtk-cancel'
      GtkButton(main_dialog.ok_button, expand=True, fill=True, padding=6): 'gtk-ok'
      GtkButton(main_dialog.help_button, padding=6): 'gtk-help'

model: PaymentGroup<1>

model: Payment<2>
  base_value: <currency $100>
  bill_received: False
  cancel_date: None
  description: u'1/2 Payment name'
  discount: <currency $ 0>
  due_date: datetime.datetime(2015, 1, 1, 0, 0)
  group_id: PaymentGroup<1>
  interest: <currency $ 0>
  open_date: datetime.today()
  paid_date: None
  paid_value: None
  payment_number: None
  payment_type: 1
  penalty: <currency $ 0>
  status: 1
  value: <currency $100>

model: Payment<3>
  base_value: <currency $100>
  bill_received: False
  cancel_date: None
  description: u'2/2 Payment name'
  discount: <currency $ 0>
  due_date: datetime.datetime(2015, 1, 8, 0, 0)
  group_id: PaymentGroup<1>
  interest: <currency $ 0>
  open_date: datetime.today()
  paid_date: None
  paid_value: None
  payment_number: None
  payment_type: 1
  penalty: <currency $ 0>
  status: 1
  value: <currency $100>

