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, padding=6): 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(details_notebook, expand=True, fill=True):
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Sale #'
                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>'
              GtkHButtonBox(pack-end):
                GtkButton(expand=True, fill=True): 'Sale details', insensitive
                GtkButton(expand=True, fill=True): 'Return sale', insensitive
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Returned #'
                column: title='Invoice #'
                column: title='Return Date'
                column: title='Product'
                column: title='Salesperson', hidden
                column: title='Responsible'
                column: title='Reason', expand
                column: title='Price'
                column: title='Qty'
                column: title='Total'
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Code'
                column: title='Description', expand
                column: title='Total quantity'
                column: title='Sale date'
                column: title='Value'
                column: title='Total value'
                row: u'', u'Normal', Decimal('1.000'), datetime.today(), <currency $100>, Decimal('100.00000')
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Code'
                column: title='Description', expand
                column: title='Estimated fix date'
                row: u'', u'Service', datetime.today()
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='WO #'
                column: title='Equipment', expand
                column: title='Equipment'
                column: title='Equipment'
                column: title='Open date'
                column: title='Approve date'
                column: title='Finish date'
                column: title='Total'
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Payment #'
                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
              GtkHButtonBox(pack-end):
                GtkButton(expand=True, fill=True): 'Payment details', insensitive
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                column: title='Payment #'
                column: title='Date'
                column: title='Description', expand
                column: title='Value'
              GtkHBox(fill=True):
                GtkLabel(expand=True, fill=True, padding=6): '<b>Balance:</b>'
                GtkLabel(): '<b>$ 0.00</b>'
            GtkVBox():
              ObjectTree(expand=True, fill=True):
                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, 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', hidden
