# encoding: utf-8
import random

import gtk

from kiwi.ui.comboentry import ComboEntry

class Person:
    """The parameters need to be of the same name of the column headers"""
    def __init__(self, name, age, city):
        (self.name, self.age,
         self.city) = name, age, city
        self.salary = random.randint(40, 180) * 10
        self.bonus = random.randint(0, 1) and True or False

data = (Person('Evandro', 23, 'Belo Horizonte'),
        Person('Daniel', 22, 'São Carlos'),
        Person('Henrique', 21, 'São Carlos'),
        Person('Gustavo', 23, 'São Jose do Santos'),
        Person('Johan', 23, 'Göteborg'),
        Person('Lorenzo', 26, 'Granada')
       )

def details_callback(data):
    return "<small><b>city:</b> <span foreground='#0000FF'>%s</span> \n" \
           "<b>age:</b> %s</small>" % (data.city, data.age)

win = gtk.Window()
win.set_position(gtk.WIN_POS_CENTER)
win.connect('destroy', gtk.main_quit)

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

e = ComboEntry()
e.set_details_callback(details_callback)

for d in data:
    e.append_item(d.name, d)

vbox.pack_start(e)
win.show_all()

gtk.main()
