I'm confused trying to make a filtered & sorted treeview. Filtering
works... data is correctly displayed. But sorting does not work.
self.todo_model = gtk.ListStore(gobject.TYPE_PYOBJECT)
# Create a TreeModelFilter to control row visibility
self.todo_filter = self.todo_model.filter_new()
self.todo_filter.set_visible_func(self.todo_visible_filter)
# Create a TreeModelSort to wrap the TreeModelFilter
self.todo_sort = gtk.TreeModelSort(self.todo_filter)
# Set a sort function
self.todo_sort.set_default_sort_func(TaskList.sort, None)
# Set the model in the view to the TreeModelSort
self.todo_task_view.set_model(self.todo_sort)
TaskList.sort ---
@staticmethod
def sort(model, iter1, iter2, user_data):
print 'SORT', model, iter1, iter2
sort_by = model.get_sort_column_id()
This fails because model is a TreeModelFilter... which does not have a
method get_sort_column_id.... why isn't this the TreeModelSort object?
[that is the model directly owned by the view.
Does anyone have a working example of a filtered sortable list?
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/