#!/usr/bin/env python
# -*- coding: utf-8 -*-


import pygtk
pygtk.require('2.0')
import gtk


class BasicTreeViewExampleWindow(gtk.Window):
    __gtype_name__ = 'MyBasictreeViewExampleWindow'

    def __init__(self):
        gtk.Window.__init__(self)

        self.set_title('Treeview example')
        self.set_size_request(500, 200)

        vbox = gtk.VBox()
        self.add(vbox)

        self.liststore = gtk.ListStore(str, int)
        self.liststore.append(['abcdef', 0])
        self.liststore.append(['ghijkl', 1])
        self.liststore.append(['mnopqr', 158])
        self.liststore.append(['stuvwx', -70])

        self.treeview = gtk.TreeView(self.liststore)
        self.treeview.set_headers_visible(True)
        vbox.pack_start(self.treeview, expand=True, fill=True)

        cell = gtk.CellRendererText()

        textcolumn = gtk.TreeViewColumn('Description')
        textcolumn.pack_start(cell, True)
        textcolumn.add_attribute(cell, 'text', 0)
        self.treeview.append_column(textcolumn)

        # Note that we could create a new CellRendererText
        # just to render this. But we want to render this
        # in the same style (colors, fonts, etc) like the
        # column above, so it is equally valid to reuse
        # the CellRendererText we created before...
        intcolumn = gtk.TreeViewColumn('Amount')
        intcolumn.pack_start(cell, True)
        intcolumn.add_attribute(cell, 'text', 1)
        self.treeview.append_column(intcolumn)


def quit(widget, event):
    gtk.main_quit()

def main():
    examplewindow = BasicTreeViewExampleWindow()
    examplewindow.connect('delete_event', quit)
    examplewindow.show_all()
    gtk.main()

if __name__ == '__main__':
     main()
