---
name: "Gtk2::TreeIter"
section: "3pm"
platform: "linux"
package: "libgtk2-perl-doc"
version: "2:1.24992-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Gtk2::TreeIter"
---

# Gtk2::TreeIter(3pm)

wrapper for GtkTreeIter

## NAME

Gtk2::TreeIter - 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.

## SEE ALSO

Gtk2, Glib::Boxed, Gtk2::TreeModel

## COPYRIGHT

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

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