Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
- newtype InfoBar = InfoBar (ManagedPtr InfoBar)
- class (GObject o, IsDescendantOf InfoBar o) => IsInfoBar o
- toInfoBar :: (MonadIO m, IsInfoBar o) => o -> m InfoBar
- infoBarAddActionWidget :: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) => a -> b -> Int32 -> m ()
- infoBarAddButton :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Text -> Int32 -> m Button
- infoBarAddChild :: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) => a -> b -> m ()
- infoBarGetMessageType :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> m MessageType
- infoBarGetRevealed :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> m Bool
- infoBarGetShowCloseButton :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> m Bool
- infoBarNew :: (HasCallStack, MonadIO m) => m InfoBar
- infoBarRemoveActionWidget :: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) => a -> b -> m ()
- infoBarRemoveChild :: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) => a -> b -> m ()
- infoBarResponse :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Int32 -> m ()
- infoBarSetDefaultResponse :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Int32 -> m ()
- infoBarSetMessageType :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> MessageType -> m ()
- infoBarSetResponseSensitive :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Int32 -> Bool -> m ()
- infoBarSetRevealed :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Bool -> m ()
- infoBarSetShowCloseButton :: (HasCallStack, MonadIO m, IsInfoBar a) => a -> Bool -> m ()
- constructInfoBarMessageType :: (IsInfoBar o, MonadIO m) => MessageType -> m (GValueConstruct o)
- getInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> m MessageType
- setInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> MessageType -> m ()
- constructInfoBarRevealed :: (IsInfoBar o, MonadIO m) => Bool -> m (GValueConstruct o)
- getInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> m Bool
- setInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> Bool -> m ()
- constructInfoBarShowCloseButton :: (IsInfoBar o, MonadIO m) => Bool -> m (GValueConstruct o)
- getInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> m Bool
- setInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> Bool -> m ()
- type C_InfoBarCloseCallback = Ptr () -> Ptr () -> IO ()
- type InfoBarCloseCallback = IO ()
- afterInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId
- genClosure_InfoBarClose :: MonadIO m => InfoBarCloseCallback -> m (GClosure C_InfoBarCloseCallback)
- mk_InfoBarCloseCallback :: C_InfoBarCloseCallback -> IO (FunPtr C_InfoBarCloseCallback)
- noInfoBarCloseCallback :: Maybe InfoBarCloseCallback
- onInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId
- wrap_InfoBarCloseCallback :: InfoBarCloseCallback -> C_InfoBarCloseCallback
- type C_InfoBarResponseCallback = Ptr () -> Int32 -> Ptr () -> IO ()
- type InfoBarResponseCallback = Int32 -> IO ()
- afterInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId
- genClosure_InfoBarResponse :: MonadIO m => InfoBarResponseCallback -> m (GClosure C_InfoBarResponseCallback)
- mk_InfoBarResponseCallback :: C_InfoBarResponseCallback -> IO (FunPtr C_InfoBarResponseCallback)
- noInfoBarResponseCallback :: Maybe InfoBarResponseCallback
- onInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId
- wrap_InfoBarResponseCallback :: InfoBarResponseCallback -> C_InfoBarResponseCallback
Exported types
Memory-managed wrapper type.
Instances
Eq InfoBar Source # | |
GObject InfoBar Source # | |
Defined in GI.Gtk.Objects.InfoBar | |
ManagedPtrNewtype InfoBar Source # | |
Defined in GI.Gtk.Objects.InfoBar toManagedPtr :: InfoBar -> ManagedPtr InfoBar | |
TypedObject InfoBar Source # | |
Defined in GI.Gtk.Objects.InfoBar | |
HasParentTypes InfoBar Source # | |
Defined in GI.Gtk.Objects.InfoBar | |
IsGValue (Maybe InfoBar) Source # | Convert |
Defined in GI.Gtk.Objects.InfoBar gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe InfoBar -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe InfoBar) | |
type ParentTypes InfoBar Source # | |
Defined in GI.Gtk.Objects.InfoBar |
class (GObject o, IsDescendantOf InfoBar o) => IsInfoBar o Source #
Instances
(GObject o, IsDescendantOf InfoBar o) => IsInfoBar o Source # | |
Defined in GI.Gtk.Objects.InfoBar |
Methods
Click to display all available methods, including inherited ones
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
addButton
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Text |
|
-> Int32 |
|
-> m Button | Returns: the |
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
:: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Adds a widget to the content area of the info bar.
getMessageType
infoBarGetMessageType Source #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> m MessageType | Returns: the message type of the message area. |
Returns the message type of the message area.
getRevealed
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> m Bool | Returns: the current value of the |
Returns whether the info bar is currently revealed.
getShowCloseButton
infoBarGetShowCloseButton Source #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the widget will display a standard close button.
new
:: (HasCallStack, MonadIO m) | |
=> m InfoBar | Returns: a new |
Creates a new InfoBar
object.
removeActionWidget
infoBarRemoveActionWidget Source #
:: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes a widget from the action area of infoBar
, after
it been put there by a call to infoBarAddActionWidget
or infoBarAddButton
.
removeChild
:: (HasCallStack, MonadIO m, IsInfoBar a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes a widget from the content area of the info bar,
after it has been added with infoBarAddChild
.
response
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Int32 |
|
-> m () |
Emits the “response” signal with the given responseId
.
setDefaultResponse
infoBarSetDefaultResponse Source #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Int32 |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> 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 #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Int32 |
|
-> Bool |
|
-> 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
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Bool |
|
-> m () |
setShowCloseButton
infoBarSetShowCloseButton Source #
:: (HasCallStack, MonadIO m, IsInfoBar a) | |
=> a |
|
-> Bool |
|
-> 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
.
noInfoBarCloseCallback :: Maybe InfoBarCloseCallback Source #
A convenience synonym for
.Nothing
:: Maybe
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
wrap_InfoBarCloseCallback :: InfoBarCloseCallback -> C_InfoBarCloseCallback Source #
Wrap a InfoBarCloseCallback
into a C_InfoBarCloseCallback
.
response
type C_InfoBarResponseCallback = Ptr () -> Int32 -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type InfoBarResponseCallback Source #
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
.
mk_InfoBarResponseCallback :: C_InfoBarResponseCallback -> IO (FunPtr C_InfoBarResponseCallback) Source #
Generate a function pointer callable from C code, from a C_InfoBarResponseCallback
.
noInfoBarResponseCallback :: Maybe InfoBarResponseCallback Source #
A convenience synonym for
.Nothing
:: Maybe
InfoBarResponseCallback
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