Gtk2::Ex::ContainerBits -- helpers for Gtk2::Container widgets
use Gtk2::Ex::ContainerBits;
Gtk2::Ex::ContainerBits::remove_widgets ($container, $widget,...)
Remove each given $widget from $container if it is in fact a child of $container.
$widget
$container
Checking widgets are children avoids Glib::Log error messages from $container->remove, including unusual cases of a remove signal handler removing multiple widgets in response to removing one.
Glib::Log
$container->remove
remove
Gtk2::Ex::ContainerBits::remove_all ($container)
Remove all child widgets from $container.
This is simply the above remove_widgets on all current children and so copes with removal of one child causing removal of others. If a removal causes new children to be added then they're not removed, only those present at the start.
remove_widgets
Nothing is exported by default, but the functions can be requested in usual Exporter style,
Exporter
use Gtk2::Ex::ContainerBits 'remove_widgets'; remove_widgets ($container, $widget1, $widget2);
There's no :all tag since this module is meant as a grab-bag of functions and to import as-yet unknown things would be asking for name clashes.
:all
When making a container subclass the functions could be imported to have them available as methods on the new class if the names and purpose suit.
package MyBucket; # new class use Glib::Object::Subclass 'Gtk2::HBox'; use Gtk2::Ex::ContainerBits 'remove_all'; # import $bucket->remove_all; # available as a method
Gtk2::Container, Gtk2::Ex::WidgetBits
http://user42.tuxfamily.org/gtk2-ex-widgetbits/index.html
Copyright 2010, 2011, 2012 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/.
To install Gtk2::Ex::WidgetBits, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Gtk2::Ex::WidgetBits
CPAN shell
perl -MCPAN -e shell install Gtk2::Ex::WidgetBits
For more information on module installation, please visit the detailed CPAN module installation guide.