Matthew Braid wrote: > Hi all, > > Running into a minor problem with Gtk2::ComboBox. I can set the > current selected option by using an iter (or a string representation > of the iter like "0") but I can't just set it to a string I know is in > the list directly. > > As a workaround I've had to create a little helper function like: > > sub find_index { > my ($model, $find) = @_; > my $i = 0; > while (1) { > my $iter = $model->get_iter_from_string($i); > last if not defined $iter; > return $i if $find eq $model->get($iter, 0); > ++$i; > } > return undef; > } > > (where $model is the combobox's model from $cb->get_model). > > Is this sort of thing necessary or is there a way to set a combobox's > value by string rather than by index?
Yes it's required: http://bugzilla.gnome.org/show_bug.cgi?id=149248 While you're at it, write yourself another little function to call your other little function ( above ) when the focus leaves the Combo's entry, because Combo's don't automatically detect if someone types a string into their entry that matches an item in their model ( ie the correct iter is only set as 'active' if you use the *mouse* to select an item ... any keyboard input is ignored ! ): http://bugzilla.gnome.org/show_bug.cgi?id=156017 And look out if you try to get a value out of a CellRendererCombo in a TreeView: http://bugzilla.gnome.org/show_bug.cgi?id=317387 IMHO there are *far* too many combo-related bugs in gtk+ :( Don't the developers use combos? -- Daniel Kasak IT Developer NUS Consulting Group Level 5, 77 Pacific Highway North Sydney, NSW, Australia 2060 T: (+61) 2 9922-7676 / F: (+61) 2 9922 7989 email: [EMAIL PROTECTED] website: http://www.nusconsulting.com.au _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list