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,


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>

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>

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



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