dialog: BatchSelectionDialog
GtkAlignment(alignment1):
  GtkVBox(vbox1):
    GtkHBox(hbox1, fill=True):
      GtkLabel(label1, fill=True): 'Product:'
      ProxyLabel(description, expand=True, fill=True): '<span >Description</span>'
    GtkScrolledWindow(scrolledwindow1, expand=True, fill=True):
      GtkViewport(viewport1):
        GtkAlignment(alignment2):
          GtkTable(main_table):
            GtkLabel(label3): 'Batch'
            GtkLabel(label4): 'Quantity'
            ProxyEntry(_entry_1): '1'
            ProxySpinButton(_spin_1): '12'
            ProxyEntry(_entry_2): '2'
            ProxySpinButton(_spin_2): '7'
            ProxyEntry(_entry_3): '3'
            ProxySpinButton(_spin_3): '8'
            ProxyEntry(_entry_4): ''
            ProxySpinButton(_spin_4): '0', insensitive
    GtkExpander(existing_batches_expander, fill=True):
      ObjectList(existing_batches):
        column: title='Number', expand
        column: title='Creation date'
        column: title='Available'
        row: u'1', datetime.datetime(2010, 10, 10, 0, 0), Decimal('10.000')
        row: u'2', datetime.datetime(2011, 11, 11, 0, 0), Decimal('15.000')
        row: u'3', datetime.datetime(2012, 12, 12, 0, 0), Decimal('8.000')
      GtkLabel(label5): 'Existing batches'
    GtkTable(table1, fill=True):
      GtkHSeparator(hseparator1):
      GtkLabel(diff_quantity_lbl): 'Missing quantity:', hidden
      ProxyLabel(diff_quantity): '<span >0</span>', hidden
      GtkLabel(label2): 'Total quantity:'
      ProxyLabel(quantity): '<span >27</span>'
