gi-gtk-3.0.11: Gtk bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.InfoBar

Contents

Description

InfoBar is a widget that can be used to show messages to the user without showing a dialog. It is often temporarily shown at the top or bottom of a document. In contrast to Dialog, which has a action area at the bottom, InfoBar has an action area at the side.

The API of InfoBar is very similar to Dialog, allowing you to add buttons to the action area with infoBarAddButton or gtk_info_bar_new_with_buttons(). The sensitivity of action widgets can be controlled with infoBarSetResponseSensitive. To add widgets to the main content area of a InfoBar, use infoBarGetContentArea and add your widgets to the container.

Similar to MessageDialog, the contents of a InfoBar can by classified as error message, warning, informational message, etc, by using infoBarSetMessageType. GTK+ may use the message type to determine how the message is displayed.

A simple example for using a GtkInfoBar:

C code

// set up info bar
GtkWidget *widget;
GtkInfoBar *bar;

widget = gtk_info_bar_new ();
bar = GTK_INFO_BAR (bar);

gtk_widget_set_no_show_all (widget, TRUE);
message_label = gtk_label_new ("");
gtk_widget_show (message_label);
content_area = gtk_info_bar_get_content_area (bar);
gtk_container_add (GTK_CONTAINER (content_area),
                   message_label);
gtk_info_bar_add_button (bar,
                         _("_OK"),
                         GTK_RESPONSE_OK);
g_signal_connect (bar,
                  "response",
                  G_CALLBACK (gtk_widget_hide),
                  NULL);
gtk_grid_attach (GTK_GRID (grid),
                 widget,
                 0, 2, 1, 1);

...

// show an error message
gtk_label_set_text (GTK_LABEL (message_label), message);
gtk_info_bar_set_message_type (bar,
                               GTK_MESSAGE_ERROR);
gtk_widget_show (bar);

GtkInfoBar as GtkBuildable

The GtkInfoBar implementation of the GtkBuildable interface exposes the content area and action area as internal children with the names “content_area” and “action_area”.

GtkInfoBar supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs actionArea).

CSS nodes

GtkInfoBar has a single CSS node with name infobar. The node may get one of the style classes .info, .warning, .error or .question, depending on the message type.

Synopsis

Exported types

Methods

addActionWidget

infoBarAddActionWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) 
=> a

infoBar: a InfoBar

-> b

child: an activatable widget

-> Int32

responseId: response ID for child

-> m () 

Add an activatable widget to the action area of a InfoBar, connecting a signal handler that will emit the InfoBar::response signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area.

Since: 2.18

addButton

data InfoBarAddButtonMethodInfo Source #

Instances

((~) * signature (Text -> Int32 -> m Button), MonadIO m, IsInfoBar a) => MethodInfo * InfoBarAddButtonMethodInfo a signature Source # 

infoBarAddButton Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> Text

buttonText: text of button

-> Int32

responseId: response ID for the button

-> m Button

Returns: the Button widget that was added

Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id. The button is appended to the end of the info bars's action area. The button widget is returned, but usually you don't need it.

Since: 2.18

getActionArea

infoBarGetActionArea Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> m Widget

Returns: the action area

Returns the action area of infoBar.

Since: 2.18

getContentArea

infoBarGetContentArea Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> m Widget

Returns: the content area

Returns the content area of infoBar.

Since: 2.18

getMessageType

infoBarGetMessageType Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> m MessageType

Returns: the message type of the message area.

Returns the message type of the message area.

Since: 2.18

getShowCloseButton

infoBarGetShowCloseButton Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> m Bool

Returns: True if the widget displays standard close button

Returns whether the widget will display a standard close button.

Since: 3.10

new

infoBarNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m InfoBar

Returns: a new InfoBar object

Creates a new InfoBar object.

Since: 2.18

response

data InfoBarResponseMethodInfo Source #

Instances

((~) * signature (Int32 -> m ()), MonadIO m, IsInfoBar a) => MethodInfo * InfoBarResponseMethodInfo a signature Source # 

infoBarResponse Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> Int32

responseId: a response ID

-> m () 

Emits the “response” signal with the given responseId.

Since: 2.18

setDefaultResponse

infoBarSetDefaultResponse Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> Int32

responseId: a response ID

-> m () 

Sets the last widget in the info bar’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget.

Note that this function currently requires infoBar to be added to a widget hierarchy.

Since: 2.18

setMessageType

infoBarSetMessageType Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> MessageType

messageType: a MessageType

-> m () 

Sets the message type of the message area.

GTK+ uses this type to determine how the message is displayed.

Since: 2.18

setResponseSensitive

infoBarSetResponseSensitive Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> Int32

responseId: a response ID

-> Bool

setting: TRUE for sensitive

-> m () 

Calls gtk_widget_set_sensitive (widget, setting) for each widget in the info bars’s action area with the given response_id. A convenient way to sensitize/desensitize dialog buttons.

Since: 2.18

setShowCloseButton

infoBarSetShowCloseButton Source #

Arguments

:: (HasCallStack, MonadIO m, IsInfoBar a) 
=> a

infoBar: a InfoBar

-> Bool

setting: True to include a close button

-> m () 

If true, a standard close button is shown. When clicked it emits the response ResponseTypeClose.

Since: 3.10

Properties

messageType

data InfoBarMessageTypePropertyInfo Source #

Instances

AttrInfo InfoBarMessageTypePropertyInfo Source # 
type AttrOrigin InfoBarMessageTypePropertyInfo Source # 
type AttrLabel InfoBarMessageTypePropertyInfo Source # 
type AttrGetType InfoBarMessageTypePropertyInfo Source # 
type AttrBaseTypeConstraint InfoBarMessageTypePropertyInfo Source # 
type AttrSetTypeConstraint InfoBarMessageTypePropertyInfo Source # 
type AttrAllowedOps InfoBarMessageTypePropertyInfo Source # 

showCloseButton

data InfoBarShowCloseButtonPropertyInfo Source #

Instances

AttrInfo InfoBarShowCloseButtonPropertyInfo Source # 
type AttrOrigin InfoBarShowCloseButtonPropertyInfo Source # 
type AttrLabel InfoBarShowCloseButtonPropertyInfo Source # 
type AttrGetType InfoBarShowCloseButtonPropertyInfo Source # 
type AttrBaseTypeConstraint InfoBarShowCloseButtonPropertyInfo Source # 
type AttrSetTypeConstraint InfoBarShowCloseButtonPropertyInfo Source # 
type AttrAllowedOps InfoBarShowCloseButtonPropertyInfo Source # 

Signals

close

type C_InfoBarCloseCallback = Ptr () -> Ptr () -> IO () Source #

response

type C_InfoBarResponseCallback = Ptr () -> Int32 -> Ptr () -> IO () Source #