Up
index

source: TreeView directory

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

NAME="TreeView directory"

data_tree = {
	"d0": { "d00": {}
			},
	"d1": { "d10": { "d100": {},
					 "d101": {},
					 },
			"d11": {}
			},
	"d2": {}
	}

def create_treestore(treestore, tree, iter_parent):
	for key in tree.keys():
		iter = treestore.append(iter_parent, (key, 0))
		treestore.set(iter)
		create_treestore(treestore, tree[key], iter)

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

		self.set_title("Treeview")
		self.set_geometry_hints(min_width=200, min_height=200)
		self.connect("destroy", gtk.main_quit)

		self.tree = gtk.TreeStore(str, int)
		create_treestore(self.tree, data_tree, None)
		
		self.treeview = gtk.TreeView()

		r = gtk.CellRendererText()
		self.treeview.insert_column_with_attributes(-1, "Name", r, text=0)
		self.treeview.insert_column_with_attributes(-1, "Click", r, text=1)

		select = self.treeview.get_selection()
		select.set_mode(gtk.SELECTION_SINGLE)
		select.unselect_all()
		self.treeview.set_model(self.tree)


		self.treeview.expand_all()
		self.treeview.connect("cursor-changed", self.on_treeview_cursor_changed)
		self.treeview.show()
		self.add(self.treeview)
		
	def on_treeview_cursor_changed(self, treeview):
		print "Treeview Cursor changed"
		s = treeview.get_selection()
		(treestore, iter) = s.get_selected()
		if iter is None:
			print "nothing selected"
		else:
			data0 = treestore.get_value(iter, 0)
			data1 = treestore.get_value(iter, 1)
			treestore.set_value(iter, 1, data1+1)
			print "Selected:", data0, data1
			
t = t_treeview_dir()
t.show()
gtk.main()

$Id: page.wml,v 1.5 2007-01-04 15:52:08 dakol Exp $

Valid XHTML 1.0! Valid CSS!