On Tue, 29 Oct 2002 16:31:34 -0600 (CST) Tanya Brethour <[EMAIL PROTECTED]> wrote:
> > Ok. I am a newbie to gtk and python.. please do not let that scare you > aware :) > > Essentially I have a ctree currently with many nodes in it. I want to be > able to "check" certain nodes. So I would have the label and a small > checkbox next to it. So the user can check certain items they want and > leave the ones they don't unchecked. Make sense? > > So.. I saw some messages on this list dating back to Nov. 2001 in > regards to Ctree and Checkboxes and it did not look promising. From the > pygtk tutorial.. I did not really find an answer. As far as I can tell > ctree only lets you specify a open and closed image. Well, if you are creative enough, you can just fake it using pixmaps. (When I use 'tree' I refer to the specific ctree you are dealing with) Let's say you have a dictionary of settings, like this: self.pixmaps = {} self.pixmaps['On'] = gtk.create_pixmap_from_xpm(tree, None, 'On.xpm') self.pixmaps['Off'] = gtk.create_pixmap_from_xpm(tree, None, 'Off.xpm') you build the tree with: columns = [some text here] (for nodes): node = tree.insert_node(parent,None,columns,5,None,None,None,None,gtk.TRUE,gtk.FALSE) (for branches): node = tree.insert_node(parent,None,columns,5,None,None,None,None,gtk.FALSE,gtk.FALSE) and on each of them you call (setting is either 'On' or 'Off'): (this is a function): (xpm,xpm_mask) = self.pixmaps[setting] col = 1 tree.node_set_text(node,0,setting) (bleh,bleh,bleh,bleh,bleh,bleh,is_leaf,expanded) = tree.get_node_info(node) tree.set_node_info(node, setting, 5, xpm, xpm_mask, xpm, xpm_mask, is_leaf, expanded) neat! Now, when you want to "update" the pixmap as a result of some user or programmatic action, you just do the same thing again (above) with the appropriate setting. See? -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <[EMAIL PROTECTED]> C and Python Code Gardener _______________________________________________ pygtk mailing list [EMAIL PROTECTED] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/