Hi.
Each row in my TreeView contains a column with: toggle, pixbuf and
text renderer respectively. If need to maintain the following
situations:
- user clicks on the toggle - toggle receives 'toggled' event;
treeview row cursor should not change.
- user clicks on the rest of the row (pixbuf, text) - treeview row
cursor should change, toggle should not receive 'toggled' event.
The program does not work as I expected. I receive 'toggled' and
'cursor-changed' events no matter what part the user clicks. If the user
clicks on the toggle, the treeview row cursor changes to the row clicked
toggle is in.
The following code sets up the TreeView (SETS_COL_TOGGLE is 0,
SETS_COL_ICON is 1, SETS_COL_NAME is 2).
store = gtk.TreeStore( bool, gtk.gdk.Pixbuf, str, int )
col = gtk.TreeViewColumn( 'Sets' )
# Toggle.
cell = gtk.CellRendererToggle()
cell.set_property( 'activatable', True )
cell.connect_object( 'toggled', self.on_set_toggled, store )
col.pack_start( cell, False )
col.add_attribute( cell, 'active', SETS_COL_TOGGLE )
# Pixbuf.
cell = gtk.CellRendererPixbuf()
col.pack_start( cell, False )
col.add_attribute( cell, 'pixbuf', SETS_COL_ICON )
# Text.
cell = gtk.CellRendererText()
col.pack_start( cell, True )
col.add_attribute( cell, 'text', SETS_COL_NAME )
self.treesets.append_column( col )
self.treesets.set_model( store )
I successfuly set up this kind of tree behavior using Qt, I'm fighting
Gtk right now.
Any kind of suggestion would be appreciated.
--
Artur M. Piwko
AMP29-RIPE
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/