Gtk2::InfoBar(3) User Contributed Perl Documentation Gtk2::InfoBar(3)

Gtk2::InfoBar - wrapper for GtkInfoBar



$widget = Gtk2::InfoBar->new;

$widget = Gtk2::InfoBar->new (...)

... (list) of button-text => response-id pairs.

The multi-argument form takes the same list of text => response-id pairs as "$infobar->add_buttons". Do not pack widgets directly into the infobar; add them to "$infobar->get_content_area ()".

Here's a simple example:

$infobar = Gtk2::InfoBar->new ('gtk-ok'     => 'accept',
                               'gtk-cancel' => 'reject');

$widget = Gtk2::InfoBar->new_with_buttons (...)

... (list) of button-text => response-id pairs.

Alias for the multi-argument version of "Gtk2::InfoBar->new".

widget = $info_bar->get_action_area

$info_bar->add_action_widget ($child, $response_id)

  • $child (Gtk2::Widget)
  • $response_id (Gtk2::ResponseType)

widget = $info_bar->add_button ($button_text, $response_id)

  • $button_text (string)
  • $response_id (scalar)

$info_bar->add_buttons (...)

... (list) of button-text => response-id pairs

Like calling "$infobar->add_button" repeatedly, except you don't get the created widgets back. The buttons go from left to right, so the first button added will be the left-most one.

widget = $info_bar->get_content_area

$info_bar->set_default_response ($response_id)

$response_id (Gtk2::ResponseType)

$info_bar->set_message_type ($type)

$type (Gtk2::MessageType)

$info_bar->response ($response_id)

$response_id (Gtk2::ResponseType)

$info_bar->set_response_sensitive ($response_id, $setting)

  • $response_id (Gtk2::ResponseType)
  • $setting (boolean)

Enable or disable an action button by its $response_id.

'message-type' (Gtk2::MessageType : default "info" : readable / writable / construct / private / static-nick / static-blurb)
The type of message

'action-area-border' (integer : default 5 : readable / private / static-nick / static-blurb)
Width of border around the action area
'button-spacing' (integer : default 6 : readable / private / static-nick / static-blurb)
Spacing between buttons
'content-area-border' (integer : default 8 : readable / private / static-nick / static-blurb)
Width of border around the content area
'content-area-spacing' (integer : default 16 : readable / private / static-nick / static-blurb)
Spacing between elements of the area

Note that currently in a Perl subclass of "Gtk2::InfoBar" a class closure, ie. class default signal handler, for the "response" signal will be called with the response ID just as an integer, it's not turned into an enum string like "ok" the way a handler setup with "signal_connect" receives.

Hopefully this will change in the future, so don't count on it. In the interim the easiest thing to do is install your default handler in "INIT_INSTANCE" with a "signal_connect". (The subtleties of what order handlers are called in will differ, but often that doesn't matter.)

  • 'info' / 'GTK_MESSAGE_INFO'
  • 'warning' / 'GTK_MESSAGE_WARNING'
  • 'question' / 'GTK_MESSAGE_QUESTION'
  • 'error' / 'GTK_MESSAGE_ERROR'
  • 'other' / 'GTK_MESSAGE_OTHER'

The response type is somewhat abnormal as far as gtk2-perl enums go. In C, this enum lists named, predefined integer values for a field that is other composed of whatever integer values you like. In Perl, we allow this to be either one of the string constants listed here or any positive integer value. For example, 'ok', 'cancel', 4, and 42 are all valid response ids. You cannot use arbitrary string values, they must be integers. Be careful, because unknown string values tend to be mapped to 0.

  • 'none' / 'GTK_RESPONSE_NONE'
  • 'reject' / 'GTK_RESPONSE_REJECT'
  • 'accept' / 'GTK_RESPONSE_ACCEPT'
  • 'delete-event' / 'GTK_RESPONSE_DELETE_EVENT'
  • 'ok' / 'GTK_RESPONSE_OK'
  • 'cancel' / 'GTK_RESPONSE_CANCEL'
  • 'close' / 'GTK_RESPONSE_CLOSE'
  • 'yes' / 'GTK_RESPONSE_YES'
  • 'no' / 'GTK_RESPONSE_NO'
  • 'apply' / 'GTK_RESPONSE_APPLY'
  • 'help' / 'GTK_RESPONSE_HELP'

Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object, Gtk2::Widget, Gtk2::Container, Gtk2::Box, Gtk2::HBox

Copyright (C) 2003-2011 by the gtk2-perl team.

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

2022-05-29 perl v5.36.0