Hi,
I have 3 columns, the first is text, the second are checkbuttons, and the last are comboboxes. Could someone tell me how I can populate the comboboxes using only data added to the child list? Below is the code I have so far:
I have 3 columns, the first is text, the second are checkbuttons, and the last are comboboxes. Could someone tell me how I can populate the comboboxes using only data added to the child list? Below is the code I have so far:
Code:
treestore = gtk.TreeStore(str, bool)
for imol in molecule_number_list():
mol_name = molecule_name(imol)
piter = treestore.append(None, [mol_name, True])
for chain in chain_ids(imol):
treestore.append(piter, [chain, True])
treeview = gtk.TreeView(treestore)
column_text = gtk.TreeViewColumn("Text")
column_toggle = gtk.TreeViewColumn("Toggle")
column_combo = gtk.TreeViewColumn("Combo")
treeview.append_column(column_text)
treeview.append_column(column_toggle)
treeview.append_column(column_combo)
cellrenderer_text = gtk.CellRendererText()
column_text.pack_start(cellrenderer_text, False)
column_text.add_attribute(cellrenderer_text, "text", 0)
cellrenderer_toggle = gtk.CellRendererToggle()
column_toggle.pack_start(cellrenderer_toggle, True)
column_toggle.add_attribute(cellrenderer_toggle, "active", 1)
cellrenderer_combo = gtk.CellRendererCombo()
cellrenderer_combo.set_property("editable", True)
cellrenderer_combo.set_property("model", treestore)
cellrenderer_combo.set_property("text-column", 0)
column_combo.pack_start(cellrenderer_combo, False)
column_combo.add_attribute(cellrenderer_combo, "text", 2)
window.connect("destroy", lambda w: gtk.main_quit())
cellrenderer_toggle.connect("toggled", cell_toggled, treestore)