Re: setting object data (how do I?)
- From: Paolo Molaro <lupus ximian com>
- To: gtk-perl <gtk-perl-list gnome org>
- Subject: Re: setting object data (how do I?)
- Date: Tue, 26 Jun 2001 13:05:29 +0200
On 06/25/01 Jim Edwards wrote:
I have a tree with two levels, call them branchs and leafs.
I don´t want the user to be able to select branchs, how can I turn that
off?
You may connect to the select-child signal and unselect it if it's a branch.
Note however that the Gtk::Tree widget has lots of bugs and is deprecated:
if possible switch to Gtk::CTree.
When someone selects a child and clicks okay in the dialog, I want to
retreve the label of the leaf and it´s branch. How can I retreve that
information given that I know how to get the selected TreeItem object?
One way I was trying to assign the info using gtk_object_set_data as
follows:
foreach $item (@{$list->{$gridtype}}) {
my $sleaf = new_with_label Gtk::TreeItem( $item );
$sleaf->gtk_object_set_data("$gridtype:$item");
$subtree->append($sleaf);
$sleaf->show();
}
But I get an error
Can't locate object method "gtk_object_set_data" via package
"Gtk::TreeItem" - which makes sense to me but how do i really do it?
If gtk_object_set_data() will be wrapped it would be available as
$object->set_data() anyway....
gtk_object_set_data() is not type safe and as such is not exported to
perl. Note, however, that every Gtk::Object is a hash reference and
you can use it to store data with the object itself:
$object->{mydata} = "stuff";
That said, your problem can be easily solved in another way:
a Gtk::TreeItem is a Gtk::Item is a Gtk::Bin and contains a Gtk::Label,
so you can just use:
# leaf item get the Gtk::Label get the text in the label
$treeitem-> child-> get();
lupus
--
-----------------------------------------------------------------
lupus debian org debian/rules
lupus ximian com Monkeys do it better
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]