editor: ClientDetailsDialog
GtkDialog(main_dialog.toplevel): title='Client Details', 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): slave ClientDetailsDialog is attached
        GtkVBox(toplevel):
          GtkTable(table1, fill=True):
            GtkLabel(label1): 'Client:'
            ProxyLabel(client): '<span >Client</span>'
            GtkLabel(label3): 'Status:'
            ProxyLabel(status): '<span >Solvent</span>'
            GtkLabel(label2): 'Last Purchase Date:'
            ProxyLabel(last_purchase_date): '<span >YYYY-MM-DD</span>'
            GtkHBox(hbox1):
              GtkButton(further_details_button, fill=True): 'Further Details'
          GtkNotebook(notebook2, expand=True, fill=True):
            GtkVBox(sales_vbox):
              ObjectList(sales_list, expand=True, fill=True):
                column: title='#'
                column: title='Invoice #'
                column: title='Date'
                column: title='Salesperson', expand
                column: title='Status'
                column: title='Total'
                row: 123, None, datetime.today(), u'SalesPerson', u'Opened', <currency $200>
              GtkHBox(fill=True):
                GtkLabel(expand=True, fill=True, padding=6): '<b>Total:</b>'
                GtkLabel(): '<b>$200.00</b>'
            ObjectList(product_list):
              column: title='Code'
              column: title='Description', expand
              column: title='Total quantity'
              column: title='Lastest purchase'
              column: title='Avg. value'
              column: title='Total value'
              row: u'', u'Description', Decimal('1.000'), datetime.today(), Decimal('100.0000000000000000'), Decimal('100.00000')
            ObjectList(services_list):
              column: title='Code'
              column: title='Description', expand
              column: title='Estimated fix date'
              row: u'', u'Description', datetime.today()
            ObjectList(payments_list):
              column: title='#'
              column: title='Type'
              column: title='Description', expand
              column: title='Due date'
              column: title='Paid date'
              column: title='Status'
              column: title='Value'
              column: title='Days Late'
              row: 999, u'money', u'1/1 Money for sale 00123', datetime.today(), None, u'Preview', <currency $200>, 0
            ObjectList(calls_list):
              column: title='Date'
              column: title='Description', expand
              column: title='Attendant', expand
              row: datetime.datetime(2011, 1, 1, 0, 0), u'Test call', u'individual'
      GtkHBox(fill=True):
        GtkEventBox(main_dialog.extra_holder, expand=True, fill=True):
        GtkEventBox(main_dialog.print_holder, expand=True, fill=True):
        GtkEventBox(main_dialog.notice, fill=True):
        GtkEventBox(main_dialog.details_holder, pack-end):
    GtkHButtonBox(fill=True, pack-end):
      GtkButton(main_dialog.cancel_button, expand=True, fill=True): 'gtk-cancel', hidden
      GtkButton(main_dialog.ok_button, expand=True, fill=True): 'gtk-ok', hidden
