gi-gtk-4.0.4: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.InfoBar

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 an 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 infoBarAddChild.

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 InfoBar:

C code

GtkWidget *message_label;
GtkWidget *widget;
GtkWidget *grid;
GtkInfoBar *bar;

// set up info bar
widget = gtk_info_bar_new ();
bar = GTK_INFO_BAR (widget);
grid = gtk_grid_new ();

message_label = gtk_label_new ("");
gtk_info_bar_add_child (bar, 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), "An error occurred!");
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. If the info bar shows a close button, that button will have the .close style class applied.

Synopsis

Exported types

newtype InfoBar Source #

Memory-managed wrapper type.

Constructors

InfoBar (ManagedPtr InfoBar) 

Instances

Instances details
Eq InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

Methods

(==) :: InfoBar -> InfoBar -> Bool #

(/=) :: InfoBar -> InfoBar -> Bool #

GObject InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

ManagedPtrNewtype InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

Methods

toManagedPtr :: InfoBar -> ManagedPtr InfoBar

TypedObject InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

Methods

glibType :: IO GType

HasParentTypes InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

IsGValue (Maybe InfoBar) Source #

Convert InfoBar to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.InfoBar

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe InfoBar -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe InfoBar)

type ParentTypes InfoBar Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

class (GObject o, IsDescendantOf InfoBar o) => IsInfoBar o Source #

Type class for types which can be safely cast to InfoBar, for instance with toInfoBar.

Instances

Instances details
(GObject o, IsDescendantOf InfoBar o) => IsInfoBar o Source # 
Instance details

Defined in GI.Gtk.Objects.InfoBar

toInfoBar :: (MonadIO m, IsInfoBar o) => o -> m InfoBar Source #

Cast to InfoBar, for types for which this is known to be safe. For general casts, use castTo.

Methods

Click to display all available methods, including inherited ones

Expand

Methods

actionSetEnabled, activate, activateAction, activateDefault, addActionWidget, addButton, addChild, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeActionWidget, removeChild, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, resetProperty, resetRelation, resetState, response, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.

Getters

getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMessageType, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRevealed, getRoot, getScaleFactor, getSensitive, getSettings, getShowCloseButton, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.

Setters

setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDefaultResponse, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setMessageType, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setResponseSensitive, setRevealed, setSensitive, setShowCloseButton, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.

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 response signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area.

addButton

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.

addChild

infoBarAddChild Source #

Arguments

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

infoBar: a InfoBar

-> b

widget: the child to be added

-> m () 

Adds a widget to the content area of the info bar.

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.

getRevealed

infoBarGetRevealed Source #

Arguments

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

infoBar: a InfoBar

-> m Bool

Returns: the current value of the InfoBar:revealed property

Returns whether the info bar is currently revealed.

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.

new

infoBarNew Source #

Arguments

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

Returns: a new InfoBar object

Creates a new InfoBar object.

removeActionWidget

infoBarRemoveActionWidget Source #

Arguments

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

infoBar: a InfoBar

-> b

widget: an action widget to remove

-> m () 

Removes a widget from the action area of infoBar, after it been put there by a call to infoBarAddActionWidget or infoBarAddButton.

removeChild

infoBarRemoveChild Source #

Arguments

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

infoBar: a InfoBar

-> b

widget: a child that has been added to the content area

-> m () 

Removes a widget from the content area of the info bar, after it has been added with infoBarAddChild.

response

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.

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.

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.

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.

setRevealed

infoBarSetRevealed Source #

Arguments

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

infoBar: a InfoBar

-> Bool

revealed: The new value of the property

-> m () 

Sets the InfoBar:revealed property to revealed. Changing this will make infoBar reveal (True) or conceal (False) itself via a sliding transition.

Note: this does not show or hide infoBar in the Widget:visible sense, so revealing has no effect if Widget:visible is False.

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.

Properties

messageType

The type of the message.

The type may be used to determine the appearance of the info bar.

constructInfoBarMessageType :: (IsInfoBar o, MonadIO m) => MessageType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “message-type” property. This is rarely needed directly, but it is used by new.

getInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> m MessageType Source #

Get the value of the “message-type” property. When overloading is enabled, this is equivalent to

get infoBar #messageType

setInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> MessageType -> m () Source #

Set the value of the “message-type” property. When overloading is enabled, this is equivalent to

set infoBar [ #messageType := value ]

revealed

No description available in the introspection data.

constructInfoBarRevealed :: (IsInfoBar o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “revealed” property. This is rarely needed directly, but it is used by new.

getInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> m Bool Source #

Get the value of the “revealed” property. When overloading is enabled, this is equivalent to

get infoBar #revealed

setInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> Bool -> m () Source #

Set the value of the “revealed” property. When overloading is enabled, this is equivalent to

set infoBar [ #revealed := value ]

showCloseButton

Whether to include a standard close button.

constructInfoBarShowCloseButton :: (IsInfoBar o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “show-close-button” property. This is rarely needed directly, but it is used by new.

getInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> m Bool Source #

Get the value of the “show-close-button” property. When overloading is enabled, this is equivalent to

get infoBar #showCloseButton

setInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> Bool -> m () Source #

Set the value of the “show-close-button” property. When overloading is enabled, this is equivalent to

set infoBar [ #showCloseButton := value ]

Signals

close

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

Type for the callback on the (unwrapped) C side.

type InfoBarCloseCallback = IO () Source #

The close signal is a [keybinding signal][GtkSignalAction] which gets emitted when the user uses a keybinding to dismiss the info bar.

The default binding for this signal is the Escape key.

afterInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId Source #

Connect a signal handler for the close signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after infoBar #close callback

genClosure_InfoBarClose :: MonadIO m => InfoBarCloseCallback -> m (GClosure C_InfoBarCloseCallback) Source #

Wrap the callback into a GClosure.

mk_InfoBarCloseCallback :: C_InfoBarCloseCallback -> IO (FunPtr C_InfoBarCloseCallback) Source #

Generate a function pointer callable from C code, from a C_InfoBarCloseCallback.

onInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId Source #

Connect a signal handler for the close signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on infoBar #close callback

response

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

Type for the callback on the (unwrapped) C side.

type InfoBarResponseCallback Source #

Arguments

 = Int32

responseId: the response ID

-> IO () 

Emitted when an action widget is clicked or the application programmer calls infoBarResponse. The responseId depends on which action widget was clicked.

afterInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId Source #

Connect a signal handler for the response signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after infoBar #response callback

genClosure_InfoBarResponse :: MonadIO m => InfoBarResponseCallback -> m (GClosure C_InfoBarResponseCallback) Source #

Wrap the callback into a GClosure.

onInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId Source #

Connect a signal handler for the response signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on infoBar #response callback