OK I think I've gotten to the bottom of the problem. In Gtk2, using a Gtk2::ComboBoxEntry and the set_text_column() method, a CellRendererText was automatically created for you.
In Gtk3 I'm currently using the Gtk3::ComboBox, and you have to explicitly set up a CellRendererText. Dan On Fri, May 2, 2014 at 9:56 AM, Daniel Kasak <d.j.kasak...@gmail.com> wrote: > Hi Terence. Thanks for the response :) I will switch to using this method > I guess. But the question still remains: what happened to the > $liststore->set( $iter, $col_no, $col_val ) way of doing it? This approach > is still documented and appears to do *something*, but not what's expected > ... > > Dan > > > On Thu, May 1, 2014 at 5:24 PM, Terence Ferraro <terencejferr...@gmail.com > > wrote: > >> Hmm, I normally run with: >> >> my $list = Gtk3::ListStore->new(qw/Glib::Int Glib::String/); >> $list->insert_with_values(0,0,0,1,"Test"); >> $list->insert_with_values(1,0,1,1,"Test2"); >> >> my $combo = Gtk3::ComboBox->new_with_model_and_entry($list); >> $combo->set_entry_text_column(1); >> >> Which is why I wrapped that into the no longer existent ComboBoxEntry >> method: >> >> sub Gtk3::ComboBoxEntry::new >> { >> my ($class,$store,$index) = @_; >> my $combo = Glib::Object::Introspection->invoke ( >> $_GTK_BASENAME, 'ComboBox', 'new_with_model_and_entry',$class, >> $store); >> if(defined($index)) { $combo->set_entry_text_column($index); } >> >> return($combo); >> } >> >> >> *Terence J. Ferraro* >> >> >> On Wed, Apr 30, 2014 at 2:16 AM, Daniel Kasak <d.j.kasak...@gmail.com>wrote: >> >>> More migration questions ... >>> >>> A simple example of inserting 2 key/value pairs into a combo, and >>> setting the text column to the 2nd ( Glib::String ) column as the 'display' >>> column used to be: >>> >>> my $model = Gtk2::ListStore->new( "Glib::Int", "Glib::String" ); >>> >>> $model->set( >>> $model->append >>> , 0, 100 >>> , 1, "Netezza" >>> ); >>> >>> $model->set( >>> $model->append >>> , 0, 200 >>> , 1, "Teradata" >>> ); >>> >>> my $widget = $self->{builder}->get_object( "CONFIG.TARGET_DB_TYPE" ); >>> $widget->set_model( $model ); >>> $widget->set_text_column( 1 ); >>> >>> >>> How would you do this in Gtk3? If I change the Gtk2 to Gtk3, and rename >>> set_text_column to set_entry_text_column, I get *nothing*. If I add another >>> column to the ListStore ( so we'd have ID, short_text, long_text ), I get >>> the long_text values showing up. So I assume there is something else I'm >>> supposed to be passing to $model->set? Or am I way off? >>> >>> Dan >>> >>> _______________________________________________ >>> gtk-perl-list mailing list >>> gtk-perl-list@gnome.org >>> https://mail.gnome.org/mailman/listinfo/gtk-perl-list >>> >>> >> >
_______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-perl-list