Hi folks,

I am a bit stuck...

I got a project in glade and defined a GtkListStore called "userstore"
with the following colums:

    gchararray  username
    gchararray givenname
    gchararray surname
    gchararray email
    gchararray phone
    gchararray mobile

I set a variable within my program:
    self.userlist = self.builder.get_object('userstore')

I also create a working filter:
    self.userfilter = self.userlist.filter_new()
    self.userfilter_sort = gtk.TreeModelSort( self.userfilter)

and a Treemodel sort on this filter. In my treeview I can filter the
userlist and sort the filtered userlist.

I fill the userlist from an LDAP directory and as I am not sure, if I
run into problems, because some value maybe None, i only fill in valid
strings:

        self.userlist.clear()
        for user in data:
            u[0] = user.get("username")
            u[1] = user.get("givenname")
            u[2] = user.get("surname")
            u[3] = user.get("email")
            u[4] = user.get("phone")
            u[5] = user.get("mobile")
            for i in ( 0,1,2,3,4,5):
                if (u[i]==None):
                    u[i]="./."
            print u
            row = ( u[0], u[1], u[2], u[3], u[4], u[5] )              
            self.userlist.append(row)

When I type into my filter entry the users are filtered fine:

  def on_entryFilterUser_changed(self, widget):
    self.eUserfilter = self.builder.get_object('entryFilterUser').get_text()
    self.userfilter.refilter()  

...so everthing is fine so far.

Now I also used the userstore (or rather the filtered one) as model for
a ComboBox:
    self.builder.get_object('comboboxUser').set_model(self.userfilter)

When I select an ontry of the combobox I try to access the columns of
this entry like this:

    aiter = self.builder.get_object('comboboxUser').get_active_iter()
    if aiter:
        givenname = "%s" % self.userfilter.get(aiter, 1)
        surname = "%s" %  self.userfilter.get(aiter, 2)
        email = "%s" % self.userfilter.get(aiter, 3)

But I always end up in such error messages:

            GtkWarning: gtk_tree_model_filter_get_value: assertion
`GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed
            givenname = "%s" % self.userfilter.get(aiter, 1)
            Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed

Any hint is highly appreciated.

Thanks and kind regards
Cornelius



Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to