Gtk2::Ex::ToolItem::CheckButton -- toolitem with CheckButton
use Gtk2::Ex::ToolItem::CheckButton; my $toolitem = Gtk2::Ex::ToolItem::CheckButton->new (label => 'Foo', active => 1); # initial state
Gtk2::Ex::ToolItem::CheckButton
is a subclass of Gtk2::ToolItem
,
Gtk2::Widget Gtk2::Container Gtk2::Bin Gtk2::ToolItem Gtk2::Ex::ToolItem::CheckButton
and implements interfaces
Gtk2::Buildable (in Gtk 2.12 up)
This is a ToolItem holding a Gtk2::CheckButton
widget, and overflowing to a Gtk2::CheckMenuItem
in the toolbar overflow menu when necessary.
+-------------+ | +-+ | | |X| Label | | +-+ | +-------------+
This is similar to Gtk2::ToggleToolButton
, but the display is a CheckButton with a tick check box instead of a ToggleButton in/out shadow. A shadow is good for a small icon, but for a text word or two the check box makes it clearer there's something to click.
The CheckButton child can be accessed with $toolitem->get_child
in the usual way if desired, for instance to set specific properties.
Gtk2::Ex::ToolItem::CheckButton->new (key=>value,...)
Create and return a new toolitem widget. Optional key/value pairs set initial properties as per Glib::Object->new
.
$toolitem = Gtk2::Ex::ToolItem::CheckButton->new (label => 'Foo');
$toolitem->set_active ($bool)
$bool = $toolitem->get_active ($bool)
Get or set the active
property (see "PROPERTIES" below).
active
(boolean, default false)Whether the button is checked or not.
label
(string, default empty "")The label text to show in the item and in the overflow menu.
The usual widget sensitive
property automatically propagates to the overflow menu item.
The tooltip-text
property (new in Gtk 2.12) is propagated to the overflow menu item. It also works to put a tooltip on just the CheckButton child (which is not propagated).
Gtk2::Ex::ToolItem::CheckButton
can be constructed with Gtk2::Builder
(new in Gtk 2.12). The class name is Gtk2__Ex__ToolItem__CheckButton
and properties and signal handlers can be set in the usual way.
<object class="Gtk2__Ex__ToolItem__CheckButton" id="toolitem"> <property name="label">Foo</property> </object>
There's two "internal child" widgets available,
checkbutton the Gtk2::CheckButton child overflow_menuitem for the toolbar overflow
These can be used to set desired properties (things not otherwise offered from the ToolItem itself). Here's a sample fragment,
<object class="Gtk2__Ex__ToolItem__CheckButton" id="toolitem"> <child internal-child="checkbutton"> <object class="GtkCheckButton" id="my_checkbutton"> <property name="yalign">0</property> </object> </child> </object>
internal-child
means <child>
doesn't create a new child object, but accesses one already in the parent. The id="my_checkbutton"
is the name to refer to it elsewhere in the Builder specification and any later $builder->get_object()
. That id
setting must be present even if not used.
The overflow_menuitem
child has the effect of immediately creating the overflow item, where it waits until the toolbar needs an overflow (which might be never).
As of Perl-Gtk 1.223 the Gtk2::Buildable
interface from Perl code doesn't chain up to the parent buildable methods, so some of GtkWidget specifics may be lost, such as the <accessibility>
tags.
Gtk2::ToggleToolButton, Gtk2::CheckButton, Gtk2::Ex::ToolItem::OverflowToDialog, Gtk2::Ex::ToolItem::ComboEnum
http://user42.tuxfamily.org/gtk2-ex-widgetbits/index.html
Copyright 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/.