Re: GtkTreeModelFilter and GtkTreeSortable



Andrew Cowie escribió:
On Fri, 2007-09-28 at 23:49 -0300, Matí­as Alejandro Torres wrote: My problem is that GtkTreeModelFilter does not implements the GtkTreeSortable interface and I lost the sorting capabilities that I used to have.

It's been a while since I worked on the code in question, but I had a
GtkTreeView that had both GtkTreeModelSort and GtkTreeModelFilter going
on at the same time. You nest them. Something like:

listStore = gtk_list_store_new(...);
filteredStore = gtk_tree_model_filter_new(listStore, NULL);
sortedStore = gtk_tree_model_sort_new_with_model(filteredStore);

view = gtk_tree_view_new_with_model(sortedStore);


Thank you both for your reply.

I'm working on python, and I can't find functions to add the sortable functions to an instance of a GtkTreeModel.

Let's say I have a method that receives a GtkListStore that is sortable:


/* This funcion calls set_model */

def database_changed_cb (self, ccontroller, db, patients):
       self.db = db
       self.patients = patients
       if patients:
           model = gui.patientsmodel.PatientsModel (patients)
           model.set_sortable (True) /* Adds the sort_funcs */
           self.set_model (model)
       else:
           self.set_model (None)

/* This one receives the model and update the GUI */
def set_model (self, model):
       if model:
           self.filter = model.filter_new ()
           self.filter.set_visible_func (self.patient_filter_callback)
           self.patientsBox.tree_view.set_model (self.filter)
           self.unblock_signals ()
           self.patient_selected_callback ()
           self.patientsBox.set_sensitive (True)
       else:
           self.filter = None
           self.patientsBox.tree_view.set_model (None)
           self.patientsBox.set_sensitive (False)
           self.patient_selected_callback ()
           self.block_signals ()


I append these functions to make clear what i'm trying to do. hope this help you to help me :P, thanks.

Matias



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]