Re: gtk.TreeView.set_model(TreeStore) expanders do not seem to work?
- From: "Daniel B. Thurman" <dant cdkkt com>
- To: Lars Wirzenius <liw liw fi>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: gtk.TreeView.set_model(TreeStore) expanders do not seem to work?
- Date: Sun, 18 Oct 2009 10:16:19 -0700
On 10/17/2009 11:08 PM, Lars Wirzenius wrote:
la, 2009-10-17 kello 17:16 -0700, Daniel B. Thurman kirjoitti:
In my application, I am populating a treestore with
new children, I then use the following method:
self.treeview.set_mode(treestore)
Apparently the treeview does not show expanders
where there are new children.
Is there something I need to do to show the expanders?
You should only need to add children to the model. Perhaps there's some
unrelated problem. Could you distill the program to be as small as
possible while still showing the problem?
Thanks for looking into this Lars!
If you wish to see the entire code, see the attachment below,
Otherwise pseudo code is listed below:
[...]
DEFAULT_PATH='~'
RECURSE=1
[...]
Class FileLister()
def __init__(self, path=None):
# Create a new window
[...]
# Create TreeStore & TreeView
self.treestore = gtk.TreeStore(str, gtk.gdk.Pixbuf, int, bool, str)
self.treeview = gtk.TreeView(self.treestore)
# Set TreeView Options
[...]
# Set TreeView Columns
[...]
# Set TreeView Signals
self.treeview.connect('row-activated', self.on_row_activated)
self.treeview.connect('row-expanded', self.on_row_expanded)
# Populate the TreeStore with initial data
self.path = os.path.expanduser(DEFAULT_PATH)
self.dir_walk(path=self.path, recurse=RECURSE)
self.dump_treestore()
# Add Scrolled window with TreeView Object
[...]
# Show Window
[...]
def dir_walk(self, path, parent=None, recurse=RECURSE):
# Populate TreeStore with additional (unique) data
[...]
def on_row_expanded(self, treeview, iter, path):
# PROBLEM:
# (1) Adding in new children data does not enable expanders
model = treeview.get_model()
filename = model.get_value(iter, 4)
self.debug("File : row_expanded(): %s" % filename)
ts = self.dir_walk(filename, parent=iter, recurse=RECURSE)
treeview.set_model(ts) # <== Expanders do not
work for new children!
treeview.expand_row(path, True) # <== Does not seem to work
return
[...]
Kind regards,
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]