Gtk2::TreeIter.3pm

Langue: en

Version: 2010-05-02 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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 (C) 2003-2008 by the gtk2-perl team.

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