Re: Gtk2::ComboBox - setting value by string?

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);
  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:

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 ! ):

And look out if you try to get a value out of a CellRendererCombo in a

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: dkasak nusconsulting com au

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