#!/usr/bin/env python

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

def selection_changed_cb(selection):
	global textview1
	tree = selection.get_tree_view()
	#model = tree.get_model()

	s = []
	
	model, paths = selection.get_selected_rows()
	
	for path in paths:
		iter = model.get_iter(path)
		s.append(model.get_value(iter, 0))
	
	textview1.get_buffer().set_text(", ".join(s))

scroll1 = gtk.ScrolledWindow()
tree1 = gtk.TreeView()
scroll1.add(tree1)

tree1.append_column(gtk.TreeViewColumn("Name", gtk.CellRendererText(), text = 0))

scroll1.set_size_request(200, -1)

scroll2 = gtk.ScrolledWindow()
textview1 = gtk.TextView()
scroll2.add(textview1)

scroll2.set_size_request(400, -1)

w = gtk.Window()
p = gtk.HPaned()
p.pack1(scroll1)
p.pack2(scroll2)
w.add(p)

w.set_size_request(-1, 200)

w.connect("destroy", lambda x: gtk.main_quit())

model1 = gtk.TreeStore(str)

tree1.set_model(model1)

iter = model1.append(None)
model1.set_value(iter, 0, "Hi")

iter = model1.append(None)
model1.set_value(iter, 0, "boo")

tree1.get_selection().connect("changed", selection_changed_cb)

w.show_all()

gtk.main()
