NAME
Gtk2::Ex::TreeModelBits - miscellaneous TreeModel helpers
SYNOPSIS
use Gtk2::Ex::TreeModelBits;
FUNCTIONS
@values = Gtk2::Ex::TreeModelBits::column_contents ($model, $col)
-
Return a list of all the values in column number
$col
of aGtk2::TreeModel
object$model
.Any tree structure in the model is flattened out for the return. A parent row's column value comes first, followed by the column values from its children, recursively, as per
$model->foreach
. Gtk2::Ex::TreeModelBits::remove_matching_rows ($store, $subr, ...)
-
Remove from
$store
all rows passing$subr
.$store
can be aGtk2::TreeStore
, aGtk2::ListStore
, or another type with the same style$store->remove
method.$subr
is called$want_remove = &$subr ($store, $iter, ...)
where
$iter
is the row being considered, and any extra arguments toremove_matching_rows
are passed on to$subr
.$subr
should return true if it wants to remove the row.The order rows are considered and removed is unspecified, except that a parent row is tested before its children (the children of course tested only if the parent is not removed).
@types = Gtk2::Ex::TreeModelBits::all_column_types ($model)
-
Return a list of all the column types in
$model
. For example to create another ListStore with the same types as an existing one,my $new_store = Gtk2::ListStore->new (Gtk2::Ex::TreeModelBits::all_column_types ($old_store));
OTHER NOTES
If you use an old Gtk 2.0.x and want to pass a Gtk2::ListStore
or Gtk2::TreeStore
to remove_matching_rows
then get Perl-Gtk 1.240 or higher to have the remove
method on those Stores return a flag the same as in Gtk 2.2 and up. Otherwise remove_matching_rows
will stop after the first row removed.
SEE ALSO
Gtk2::ListStore, Gtk2::TreeModel, Gtk2::Ex::WidgetBits
HOME PAGE
http://user42.tuxfamily.org/gtk2-ex-widgetbits/index.html
LICENSE
Copyright 2007, 2008, 2009, 2010 Kevin Ryde
Gtk2-Ex-WidgetBits is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
Gtk2-Ex-WidgetBits is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Gtk2-Ex-WidgetBits. If not, see http://www.gnu.org/licenses/.