Gtk2::TreeIter(3p)

NAME
Gtk2::TreeIter

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.

SEE ALSO
Gtk2, Glib::Boxed, Gtk2::TreeModel

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

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