Gtk2::TreeIter(3) wrapper for GtkTreeIter

HIERARCHY

  Glib::Boxed
  +----Gtk2::TreeIter

SYNOPSIS


package MyCustomListStore;
use Glib::Object::Subclass
Glib::Object::,
interfaces => [ Gtk2::TreeModel:: ],
;
...
sub set {
my $list = shift;
my $iter = shift; # a Gtk2::TreeIter
# this method needs access to the internal representation
# of the iter, as the model implementation sees it:
my $arrayref = $iter->to_arrayref ($list->{stamp});
...
}

DESCRIPTION

The methods described here are only of use in custom Gtk2::TreeModel implementations; they are not safe to be used on generic iters or in application code. See ``CREATING A CUSTOM TREE MODEL'' in Gtk2::TreeModel for more information.

METHODS

treeiter = Gtk2::TreeIter->new_from_arrayref ($sv_iter)

  • $sv_iter (scalar)

Create a new Gtk2::TreeIter from the ``internal'' array reference representation used by custom Gtk2::TreeModel implementations. This is the complement to Gtk2::TreeIter::to_arrayref(), and is used when you need to create and return a new iter from a method that is not one of the Gtk2::TreeModelIface interface vfuncs. See ``CREATING A CUSTOM TREE MODEL'' in Gtk2::TreeModel for more information.

$iter->set ($from)

  • $from (scalar)

Set the contents of $iter. $from can be either another Gtk2::TreeIter or an ``internal'' arrayref form as above.

Often you create a new iter instead of modifying an existing one, but "set" lets you to implement things in the style of the "remove" method of Gtk2::ListStore and Gtk2::TreeStore.

A set can also explicitly invalidate an iter by zapping its stamp, so nobody can accidentally use it again.

    $iter->set ([0,0,undef,undef]);

scalar = $iter->to_arrayref ($stamp)

  • $stamp (integer)

Convert a boxed Gtk2::TreeIter reference into the ``internal'' array reference representation used by custom Gtk2::TreeModel implementations. This is necessary when you need to get to the data inside your iters in methods which are not the vfuncs of the Gtk2::TreeModelIface interface. The stamp must match; this protects the binding code from potential memory faults when attempting to convert an iter that doesn't actually belong to your model. See ``CREATING A CUSTOM TREE MODEL'' in Gtk2::TreeModel for more information.

COPYRIGHT

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.