    {-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}

    -- | Copyright  : Will Thompson and Iñaki García Etxebarria
    -- License    : LGPL-2.1
    -- Maintainer : Iñaki García Etxebarria
    --
    -- A t'GI.Gtk.Objects.Statusbar.Statusbar' is usually placed along the bottom of an application\'s
    -- main t'GI.Gtk.Objects.Window.Window'. It may provide a regular commentary of the application\'s
    -- status (as is usually the case in a web browser, for example), or may be
    -- used to simply output a message when the status changes, (when an upload
    -- is complete in an FTP client, for example).
    --
    -- Status bars in GTK+ maintain a stack of messages. The message at
    -- the top of the each bar’s stack is the one that will currently be displayed.
    --
    -- Any messages added to a statusbar’s stack must specify a
    -- context id that is used to uniquely identify
    -- the source of a message. This context id can be generated by
    -- 'GI.Gtk.Objects.Statusbar.statusbarGetContextId', given a message and the statusbar that
    -- it will be added to. Note that messages are stored in a stack, and when
    -- choosing which message to display, the stack structure is adhered to,
    -- regardless of the context identifier of a message.
    --
    -- One could say that a statusbar maintains one stack of messages for
    -- display purposes, but allows multiple message producers to maintain
    -- sub-stacks of the messages they produced (via context ids).
    --
    -- Status bars are created using 'GI.Gtk.Objects.Statusbar.statusbarNew'.
    --
    -- Messages are added to the bar’s stack with 'GI.Gtk.Objects.Statusbar.statusbarPush'.
    --
    -- The message at the top of the stack can be removed using
    -- 'GI.Gtk.Objects.Statusbar.statusbarPop'. A message can be removed from anywhere in the
    -- stack if its message id was recorded at the time it was added. This
    -- is done using 'GI.Gtk.Objects.Statusbar.statusbarRemove'.
    --
    -- = CSS node
    --
    -- GtkStatusbar has a single CSS node with name statusbar.

    #if !defined(__HADDOCK_VERSION__)
    #define ENABLE_OVERLOADING
    #endif

    module GI.Gtk.Objects.Statusbar
        (

    -- * Exported types
        Statusbar(..)                           ,
        IsStatusbar                             ,
        toStatusbar                             ,

     -- * Methods
    -- |
    --
    --  === __Click to display all available methods, including inherited ones__
    -- ==== Methods
    -- [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [add]("GI.Gtk.Objects.Container#g:method:add"), [addAccelerator]("GI.Gtk.Objects.Widget#g:method:addAccelerator"), [addChild]("GI.Gtk.Interfaces.Buildable#g:method:addChild"), [addDeviceEvents]("GI.Gtk.Objects.Widget#g:method:addDeviceEvents"), [addEvents]("GI.Gtk.Objects.Widget#g:method:addEvents"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [canActivateAccel]("GI.Gtk.Objects.Widget#g:method:canActivateAccel"), [checkResize]("GI.Gtk.Objects.Container#g:method:checkResize"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [childGetProperty]("GI.Gtk.Objects.Container#g:method:childGetProperty"), [childNotify]("GI.Gtk.Objects.Container#g:method:childNotify"), [childNotifyByPspec]("GI.Gtk.Objects.Container#g:method:childNotifyByPspec"), [childSetProperty]("GI.Gtk.Objects.Container#g:method:childSetProperty"), [childType]("GI.Gtk.Objects.Container#g:method:childType"), [classPath]("GI.Gtk.Objects.Widget#g:method:classPath"), [computeExpand]("GI.Gtk.Objects.Widget#g:method:computeExpand"), [constructChild]("GI.Gtk.Interfaces.Buildable#g:method:constructChild"), [createPangoContext]("GI.Gtk.Objects.Widget#g:method:createPangoContext"), [createPangoLayout]("GI.Gtk.Objects.Widget#g:method:createPangoLayout"), [customFinished]("GI.Gtk.Interfaces.Buildable#g:method:customFinished"), [customTagEnd]("GI.Gtk.Interfaces.Buildable#g:method:customTagEnd"), [customTagStart]("GI.Gtk.Interfaces.Buildable#g:method:customTagStart"), [destroy]("GI.Gtk.Objects.Widget#g:method:destroy"), [destroyed]("GI.Gtk.Objects.Widget#g:method:destroyed"), [deviceIsShadowed]("GI.Gtk.Objects.Widget#g:method:deviceIsShadowed"), [dragBegin]("GI.Gtk.Objects.Widget#g:method:dragBegin"), [dragBeginWithCoordinates]("GI.Gtk.Objects.Widget#g:method:dragBeginWithCoordinates"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [dragDestAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddImageTargets"), [dragDestAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddTextTargets"), [dragDestAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddUriTargets"), [dragDestFindTarget]("GI.Gtk.Objects.Widget#g:method:dragDestFindTarget"), [dragDestGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestGetTargetList"), [dragDestGetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestGetTrackMotion"), [dragDestSet]("GI.Gtk.Objects.Widget#g:method:dragDestSet"), [dragDestSetProxy]("GI.Gtk.Objects.Widget#g:method:dragDestSetProxy"), [dragDestSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestSetTargetList"), [dragDestSetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestSetTrackMotion"), [dragDestUnset]("GI.Gtk.Objects.Widget#g:method:dragDestUnset"), [dragGetData]("GI.Gtk.Objects.Widget#g:method:dragGetData"), [dragHighlight]("GI.Gtk.Objects.Widget#g:method:dragHighlight"), [dragSourceAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddImageTargets"), [dragSourceAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddTextTargets"), [dragSourceAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddUriTargets"), [dragSourceGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceGetTargetList"), [dragSourceSet]("GI.Gtk.Objects.Widget#g:method:dragSourceSet"), [dragSourceSetIconGicon]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconGicon"), [dragSourceSetIconName]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconName"), [dragSourceSetIconPixbuf]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconPixbuf"), [dragSourceSetIconStock]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconStock"), [dragSourceSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceSetTargetList"), [dragSourceUnset]("GI.Gtk.Objects.Widget#g:method:dragSourceUnset"), [dragUnhighlight]("GI.Gtk.Objects.Widget#g:method:dragUnhighlight"), [draw]("GI.Gtk.Objects.Widget#g:method:draw"), [ensureStyle]("GI.Gtk.Objects.Widget#g:method:ensureStyle"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [event]("GI.Gtk.Objects.Widget#g:method:event"), [forall]("GI.Gtk.Objects.Container#g:method:forall"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.Gtk.Objects.Container#g:method:foreach"), [freezeChildNotify]("GI.Gtk.Objects.Widget#g:method:freezeChildNotify"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabAdd]("GI.Gtk.Objects.Widget#g:method:grabAdd"), [grabDefault]("GI.Gtk.Objects.Widget#g:method:grabDefault"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [grabRemove]("GI.Gtk.Objects.Widget#g:method:grabRemove"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasGrab]("GI.Gtk.Objects.Widget#g:method:hasGrab"), [hasRcStyle]("GI.Gtk.Objects.Widget#g:method:hasRcStyle"), [hasScreen]("GI.Gtk.Objects.Widget#g:method:hasScreen"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [hideOnDelete]("GI.Gtk.Objects.Widget#g:method:hideOnDelete"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [inputShapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:inputShapeCombineRegion"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [intersect]("GI.Gtk.Objects.Widget#g:method:intersect"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isComposited]("GI.Gtk.Objects.Widget#g:method:isComposited"), [isDrawable]("GI.Gtk.Objects.Widget#g:method:isDrawable"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isFocus]("GI.Gtk.Objects.Widget#g:method:isFocus"), [isSensitive]("GI.Gtk.Objects.Widget#g:method:isSensitive"), [isToplevel]("GI.Gtk.Objects.Widget#g:method:isToplevel"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listAccelClosures]("GI.Gtk.Objects.Widget#g:method:listAccelClosures"), [listActionPrefixes]("GI.Gtk.Objects.Widget#g:method:listActionPrefixes"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [mnemonicActivate]("GI.Gtk.Objects.Widget#g:method:mnemonicActivate"), [modifyBase]("GI.Gtk.Objects.Widget#g:method:modifyBase"), [modifyBg]("GI.Gtk.Objects.Widget#g:method:modifyBg"), [modifyCursor]("GI.Gtk.Objects.Widget#g:method:modifyCursor"), [modifyFg]("GI.Gtk.Objects.Widget#g:method:modifyFg"), [modifyFont]("GI.Gtk.Objects.Widget#g:method:modifyFont"), [modifyStyle]("GI.Gtk.Objects.Widget#g:method:modifyStyle"), [modifyText]("GI.Gtk.Objects.Widget#g:method:modifyText"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [overrideBackgroundColor]("GI.Gtk.Objects.Widget#g:method:overrideBackgroundColor"), [overrideColor]("GI.Gtk.Objects.Widget#g:method:overrideColor"), [overrideCursor]("GI.Gtk.Objects.Widget#g:method:overrideCursor"), [overrideFont]("GI.Gtk.Objects.Widget#g:method:overrideFont"), [overrideSymbolicColor]("GI.Gtk.Objects.Widget#g:method:overrideSymbolicColor"), [packEnd]("GI.Gtk.Objects.Box#g:method:packEnd"), [packStart]("GI.Gtk.Objects.Box#g:method:packStart"), [parserFinished]("GI.Gtk.Interfaces.Buildable#g:method:parserFinished"), [path]("GI.Gtk.Objects.Widget#g:method:path"), [pop]("GI.Gtk.Objects.Statusbar#g:method:pop"), [propagateDraw]("GI.Gtk.Objects.Container#g:method:propagateDraw"), [push]("GI.Gtk.Objects.Statusbar#g:method:push"), [queryChildPacking]("GI.Gtk.Objects.Box#g:method:queryChildPacking"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueComputeExpand]("GI.Gtk.Objects.Widget#g:method:queueComputeExpand"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueDrawArea]("GI.Gtk.Objects.Widget#g:method:queueDrawArea"), [queueDrawRegion]("GI.Gtk.Objects.Widget#g:method:queueDrawRegion"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [queueResizeNoRedraw]("GI.Gtk.Objects.Widget#g:method:queueResizeNoRedraw"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [regionIntersect]("GI.Gtk.Objects.Widget#g:method:regionIntersect"), [registerWindow]("GI.Gtk.Objects.Widget#g:method:registerWindow"), [remove]("GI.Gtk.Objects.Statusbar#g:method:remove"), [removeAccelerator]("GI.Gtk.Objects.Widget#g:method:removeAccelerator"), [removeAll]("GI.Gtk.Objects.Statusbar#g:method:removeAll"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [renderIcon]("GI.Gtk.Objects.Widget#g:method:renderIcon"), [renderIconPixbuf]("GI.Gtk.Objects.Widget#g:method:renderIconPixbuf"), [reorderChild]("GI.Gtk.Objects.Box#g:method:reorderChild"), [reparent]("GI.Gtk.Objects.Widget#g:method:reparent"), [resetRcStyles]("GI.Gtk.Objects.Widget#g:method:resetRcStyles"), [resetStyle]("GI.Gtk.Objects.Widget#g:method:resetStyle"), [resizeChildren]("GI.Gtk.Objects.Container#g:method:resizeChildren"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [sendExpose]("GI.Gtk.Objects.Widget#g:method:sendExpose"), [sendFocusChange]("GI.Gtk.Objects.Widget#g:method:sendFocusChange"), [shapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:shapeCombineRegion"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [showAll]("GI.Gtk.Objects.Widget#g:method:showAll"), [showNow]("GI.Gtk.Objects.Widget#g:method:showNow"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [sizeAllocateWithBaseline]("GI.Gtk.Objects.Widget#g:method:sizeAllocateWithBaseline"), [sizeRequest]("GI.Gtk.Objects.Widget#g:method:sizeRequest"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [styleAttach]("GI.Gtk.Objects.Widget#g:method:styleAttach"), [styleGetProperty]("GI.Gtk.Objects.Widget#g:method:styleGetProperty"), [thawChildNotify]("GI.Gtk.Objects.Widget#g:method:thawChildNotify"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [translateCoordinates]("GI.Gtk.Objects.Widget#g:method:translateCoordinates"), [triggerTooltipQuery]("GI.Gtk.Objects.Widget#g:method:triggerTooltipQuery"), [unmap]("GI.Gtk.Objects.Widget#g:method:unmap"), [unparent]("GI.Gtk.Objects.Widget#g:method:unparent"), [unrealize]("GI.Gtk.Objects.Widget#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unregisterWindow]("GI.Gtk.Objects.Widget#g:method:unregisterWindow"), [unsetFocusChain]("GI.Gtk.Objects.Container#g:method:unsetFocusChain"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
    --
    -- ==== Getters
    -- [getAccessible]("GI.Gtk.Objects.Widget#g:method:getAccessible"), [getActionGroup]("GI.Gtk.Objects.Widget#g:method:getActionGroup"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedSize]("GI.Gtk.Objects.Widget#g:method:getAllocatedSize"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAppPaintable]("GI.Gtk.Objects.Widget#g:method:getAppPaintable"), [getBaselinePosition]("GI.Gtk.Objects.Box#g:method:getBaselinePosition"), [getBorderWidth]("GI.Gtk.Objects.Container#g:method:getBorderWidth"), [getCanDefault]("GI.Gtk.Objects.Widget#g:method:getCanDefault"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCenterWidget]("GI.Gtk.Objects.Box#g:method:getCenterWidget"), [getChildRequisition]("GI.Gtk.Objects.Widget#g:method:getChildRequisition"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getChildren]("GI.Gtk.Objects.Container#g:method:getChildren"), [getClip]("GI.Gtk.Objects.Widget#g:method:getClip"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getCompositeName]("GI.Gtk.Objects.Widget#g:method:getCompositeName"), [getContextId]("GI.Gtk.Objects.Statusbar#g:method:getContextId"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:getDeviceEnabled"), [getDeviceEvents]("GI.Gtk.Objects.Widget#g:method:getDeviceEvents"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:getDoubleBuffered"), [getEvents]("GI.Gtk.Objects.Widget#g:method:getEvents"), [getFocusChain]("GI.Gtk.Objects.Container#g:method:getFocusChain"), [getFocusChild]("GI.Gtk.Objects.Container#g:method:getFocusChild"), [getFocusHadjustment]("GI.Gtk.Objects.Container#g:method:getFocusHadjustment"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusVadjustment]("GI.Gtk.Objects.Container#g:method:getFocusVadjustment"), [getFontMap]("GI.Gtk.Objects.Widget#g:method:getFontMap"), [getFontOptions]("GI.Gtk.Objects.Widget#g:method:getFontOptions"), [getFrameClock]("GI.Gtk.Objects.Widget#g:method:getFrameClock"), [getHalign]("GI.Gtk.Objects.Widget#g:method:getHalign"), [getHasTooltip]("GI.Gtk.Objects.Widget#g:method:getHasTooltip"), [getHasWindow]("GI.Gtk.Objects.Widget#g:method:getHasWindow"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getHomogeneous]("GI.Gtk.Objects.Box#g:method:getHomogeneous"), [getInternalChild]("GI.Gtk.Interfaces.Buildable#g:method:getInternalChild"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginLeft]("GI.Gtk.Objects.Widget#g:method:getMarginLeft"), [getMarginRight]("GI.Gtk.Objects.Widget#g:method:getMarginRight"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getMessageArea]("GI.Gtk.Objects.Statusbar#g:method:getMessageArea"), [getModifierMask]("GI.Gtk.Objects.Widget#g:method:getModifierMask"), [getModifierStyle]("GI.Gtk.Objects.Widget#g:method:getModifierStyle"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNoShowAll]("GI.Gtk.Objects.Widget#g:method:getNoShowAll"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOrientation]("GI.Gtk.Interfaces.Orientable#g:method:getOrientation"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getParentWindow]("GI.Gtk.Objects.Widget#g:method:getParentWindow"), [getPath]("GI.Gtk.Objects.Widget#g:method:getPath"), [getPathForChild]("GI.Gtk.Objects.Container#g:method:getPathForChild"), [getPointer]("GI.Gtk.Objects.Widget#g:method:getPointer"), [getPreferredHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredHeight"), [getPreferredHeightAndBaselineForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightAndBaselineForWidth"), [getPreferredHeightForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightForWidth"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPreferredWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredWidth"), [getPreferredWidthForHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredWidthForHeight"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRealized]("GI.Gtk.Objects.Widget#g:method:getRealized"), [getReceivesDefault]("GI.Gtk.Objects.Widget#g:method:getReceivesDefault"), [getRequestMode]("GI.Gtk.Objects.Widget#g:method:getRequestMode"), [getRequisition]("GI.Gtk.Objects.Widget#g:method:getRequisition"), [getResizeMode]("GI.Gtk.Objects.Container#g:method:getResizeMode"), [getRootWindow]("GI.Gtk.Objects.Widget#g:method:getRootWindow"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getScreen]("GI.Gtk.Objects.Widget#g:method:getScreen"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getSpacing]("GI.Gtk.Objects.Box#g:method:getSpacing"), [getState]("GI.Gtk.Objects.Widget#g:method:getState"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyle]("GI.Gtk.Objects.Widget#g:method:getStyle"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:getSupportMultidevice"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getTooltipWindow]("GI.Gtk.Objects.Widget#g:method:getTooltipWindow"), [getToplevel]("GI.Gtk.Objects.Widget#g:method:getToplevel"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getValignWithBaseline]("GI.Gtk.Objects.Widget#g:method:getValignWithBaseline"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getVisual]("GI.Gtk.Objects.Widget#g:method:getVisual"), [getWindow]("GI.Gtk.Objects.Widget#g:method:getWindow").
    --
    -- ==== Setters
    -- [setAccelPath]("GI.Gtk.Objects.Widget#g:method:setAccelPath"), [setAllocation]("GI.Gtk.Objects.Widget#g:method:setAllocation"), [setAppPaintable]("GI.Gtk.Objects.Widget#g:method:setAppPaintable"), [setBaselinePosition]("GI.Gtk.Objects.Box#g:method:setBaselinePosition"), [setBorderWidth]("GI.Gtk.Objects.Container#g:method:setBorderWidth"), [setBuildableProperty]("GI.Gtk.Interfaces.Buildable#g:method:setBuildableProperty"), [setCanDefault]("GI.Gtk.Objects.Widget#g:method:setCanDefault"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCenterWidget]("GI.Gtk.Objects.Box#g:method:setCenterWidget"), [setChildPacking]("GI.Gtk.Objects.Box#g:method:setChildPacking"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setClip]("GI.Gtk.Objects.Widget#g:method:setClip"), [setCompositeName]("GI.Gtk.Objects.Widget#g:method:setCompositeName"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:setDeviceEnabled"), [setDeviceEvents]("GI.Gtk.Objects.Widget#g:method:setDeviceEvents"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:setDoubleBuffered"), [setEvents]("GI.Gtk.Objects.Widget#g:method:setEvents"), [setFocusChain]("GI.Gtk.Objects.Container#g:method:setFocusChain"), [setFocusChild]("GI.Gtk.Objects.Container#g:method:setFocusChild"), [setFocusHadjustment]("GI.Gtk.Objects.Container#g:method:setFocusHadjustment"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusVadjustment]("GI.Gtk.Objects.Container#g:method:setFocusVadjustment"), [setFontMap]("GI.Gtk.Objects.Widget#g:method:setFontMap"), [setFontOptions]("GI.Gtk.Objects.Widget#g:method:setFontOptions"), [setHalign]("GI.Gtk.Objects.Widget#g:method:setHalign"), [setHasTooltip]("GI.Gtk.Objects.Widget#g:method:setHasTooltip"), [setHasWindow]("GI.Gtk.Objects.Widget#g:method:setHasWindow"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setHomogeneous]("GI.Gtk.Objects.Box#g:method:setHomogeneous"), [setMapped]("GI.Gtk.Objects.Widget#g:method:setMapped"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginLeft]("GI.Gtk.Objects.Widget#g:method:setMarginLeft"), [setMarginRight]("GI.Gtk.Objects.Widget#g:method:setMarginRight"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setNoShowAll]("GI.Gtk.Objects.Widget#g:method:setNoShowAll"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setOrientation]("GI.Gtk.Interfaces.Orientable#g:method:setOrientation"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setParentWindow]("GI.Gtk.Objects.Widget#g:method:setParentWindow"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setRealized]("GI.Gtk.Objects.Widget#g:method:setRealized"), [setReallocateRedraws]("GI.Gtk.Objects.Container#g:method:setReallocateRedraws"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setRedrawOnAllocate]("GI.Gtk.Objects.Widget#g:method:setRedrawOnAllocate"), [setResizeMode]("GI.Gtk.Objects.Container#g:method:setResizeMode"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setSpacing]("GI.Gtk.Objects.Box#g:method:setSpacing"), [setState]("GI.Gtk.Objects.Widget#g:method:setState"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setStyle]("GI.Gtk.Objects.Widget#g:method:setStyle"), [setSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:setSupportMultidevice"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setTooltipWindow]("GI.Gtk.Objects.Widget#g:method:setTooltipWindow"), [setValign]("GI.Gtk.Objects.Widget#g:method:setValign"), [setVexpand]("GI.Gtk.Objects.Widget#g:method:setVexpand"), [setVexpandSet]("GI.Gtk.Objects.Widget#g:method:setVexpandSet"), [setVisible]("GI.Gtk.Objects.Widget#g:method:setVisible"), [setVisual]("GI.Gtk.Objects.Widget#g:method:setVisual"), [setWindow]("GI.Gtk.Objects.Widget#g:method:setWindow").

    #if defined(ENABLE_OVERLOADING)
        ResolveStatusbarMethod                  ,
    #endif

    -- ** getContextId #method:getContextId#

    #if defined(ENABLE_OVERLOADING)
        StatusbarGetContextIdMethodInfo         ,
    #endif
        statusbarGetContextId                   ,

    -- ** getMessageArea #method:getMessageArea#

    #if defined(ENABLE_OVERLOADING)
        StatusbarGetMessageAreaMethodInfo       ,
    #endif
        statusbarGetMessageArea                 ,

    -- ** new #method:new#

        statusbarNew                            ,

    -- ** pop #method:pop#

    #if defined(ENABLE_OVERLOADING)
        StatusbarPopMethodInfo                  ,
    #endif
        statusbarPop                            ,

    -- ** push #method:push#

    #if defined(ENABLE_OVERLOADING)
        StatusbarPushMethodInfo                 ,
    #endif
        statusbarPush                           ,

    -- ** remove #method:remove#

    #if defined(ENABLE_OVERLOADING)
        StatusbarRemoveMethodInfo               ,
    #endif
        statusbarRemove                         ,

    -- ** removeAll #method:removeAll#

    #if defined(ENABLE_OVERLOADING)
        StatusbarRemoveAllMethodInfo            ,
    #endif
        statusbarRemoveAll                      ,

     -- * Signals

    -- ** textPopped #signal:textPopped#

        StatusbarTextPoppedCallback             ,
    #if defined(ENABLE_OVERLOADING)
        StatusbarTextPoppedSignalInfo           ,
    #endif
        afterStatusbarTextPopped                ,
        onStatusbarTextPopped                   ,

    -- ** textPushed #signal:textPushed#

        StatusbarTextPushedCallback             ,
    #if defined(ENABLE_OVERLOADING)
        StatusbarTextPushedSignalInfo           ,
    #endif
        afterStatusbarTextPushed                ,
        onStatusbarTextPushed                   ,

        ) where

    import Data.GI.Base.ShortPrelude
    import qualified Data.GI.Base.ShortPrelude as SP
    import qualified Data.GI.Base.Overloading as O
    import qualified Prelude as P

    import qualified Data.GI.Base.Attributes as GI.Attributes
    import qualified Data.GI.Base.BasicTypes as B.Types
    import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
    import qualified Data.GI.Base.GArray as B.GArray
    import qualified Data.GI.Base.GClosure as B.GClosure
    import qualified Data.GI.Base.GError as B.GError
    import qualified Data.GI.Base.GHashTable as B.GHT
    import qualified Data.GI.Base.GVariant as B.GVariant
    import qualified Data.GI.Base.GValue as B.GValue
    import qualified Data.GI.Base.GParamSpec as B.GParamSpec
    import qualified Data.GI.Base.CallStack as B.CallStack
    import qualified Data.GI.Base.Properties as B.Properties
    import qualified Data.GI.Base.Signals as B.Signals
    import qualified Control.Monad.IO.Class as MIO
    import qualified Data.Coerce as Coerce
    import qualified Data.Text as T
    import qualified Data.Kind as DK
    import qualified Data.ByteString.Char8 as B
    import qualified Data.Map as Map
    import qualified Foreign.Ptr as FP
    import qualified GHC.OverloadedLabels as OL
    import qualified GHC.Records as R
    import qualified Data.Word as DW
    import qualified Data.Int as DI
    import qualified System.Posix.Types as SPT
    import qualified Foreign.C.Types as FCT

    -- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
    #if MIN_VERSION_base(4,18,0)
    import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
    import qualified GI.Atk.Objects.Object as Atk.Object
    import qualified GI.Cairo.Structs.Context as Cairo.Context
    import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions
    import qualified GI.Cairo.Structs.Region as Cairo.Region
    import qualified GI.Cairo.Structs.Surface as Cairo.Surface
    import qualified GI.GLib.Callbacks as GLib.Callbacks
    import qualified GI.GLib.Structs.MarkupParser as GLib.MarkupParser
    import qualified GI.GObject.Callbacks as GObject.Callbacks
    import qualified GI.GObject.Objects.Object as GObject.Object
    import qualified GI.Gdk.Enums as Gdk.Enums
    import qualified GI.Gdk.Flags as Gdk.Flags
    import qualified GI.Gdk.Objects.Device as Gdk.Device
    import qualified GI.Gdk.Objects.Display as Gdk.Display
    import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
    import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
    import qualified GI.Gdk.Objects.Screen as Gdk.Screen
    import qualified GI.Gdk.Objects.Visual as Gdk.Visual
    import qualified GI.Gdk.Objects.Window as Gdk.Window
    import qualified GI.Gdk.Structs.Atom as Gdk.Atom
    import qualified GI.Gdk.Structs.Color as Gdk.Color
    import qualified GI.Gdk.Structs.EventAny as Gdk.EventAny
    import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
    import qualified GI.Gdk.Structs.EventConfigure as Gdk.EventConfigure
    import qualified GI.Gdk.Structs.EventCrossing as Gdk.EventCrossing
    import qualified GI.Gdk.Structs.EventExpose as Gdk.EventExpose
    import qualified GI.Gdk.Structs.EventFocus as Gdk.EventFocus
    import qualified GI.Gdk.Structs.EventGrabBroken as Gdk.EventGrabBroken
    import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
    import qualified GI.Gdk.Structs.EventMotion as Gdk.EventMotion
    import qualified GI.Gdk.Structs.EventOwnerChange as Gdk.EventOwnerChange
    import qualified GI.Gdk.Structs.EventProperty as Gdk.EventProperty
    import qualified GI.Gdk.Structs.EventProximity as Gdk.EventProximity
    import qualified GI.Gdk.Structs.EventScroll as Gdk.EventScroll
    import qualified GI.Gdk.Structs.EventSelection as Gdk.EventSelection
    import qualified GI.Gdk.Structs.EventVisibility as Gdk.EventVisibility
    import qualified GI.Gdk.Structs.EventWindowState as Gdk.EventWindowState
    import qualified GI.Gdk.Structs.Geometry as Gdk.Geometry
    import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
    import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
    import qualified GI.Gdk.Unions.Event as Gdk.Event
    import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
    import qualified GI.Gio.Flags as Gio.Flags
    import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
    import qualified GI.Gio.Interfaces.ActionMap as Gio.ActionMap
    import qualified GI.Gio.Interfaces.File as Gio.File
    import qualified GI.Gio.Interfaces.Icon as Gio.Icon
    import qualified GI.Gio.Objects.Application as Gio.Application
    import qualified GI.Gio.Objects.Menu as Gio.Menu
    import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
    import qualified GI.Gtk.Callbacks as Gtk.Callbacks
    import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
    import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
    import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Application as Gtk.Application
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Builder as Gtk.Builder
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Clipboard as Gtk.Clipboard
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
    import {-# SOURCE #-} qualified GI.Gtk.Objects.IconFactory as Gtk.IconFactory
    import {-# SOURCE #-} qualified GI.Gtk.Objects.RcStyle as Gtk.RcStyle
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Settings as Gtk.Settings
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleProperties as Gtk.StyleProperties
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextChildAnchor as Gtk.TextChildAnchor
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextMark as Gtk.TextMark
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTagTable as Gtk.TextTagTable
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
    import {-# SOURCE #-} qualified GI.Gtk.Objects.WindowGroup as Gtk.WindowGroup
    import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelGroupEntry as Gtk.AccelGroupEntry
    import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
    import {-# SOURCE #-} qualified GI.Gtk.Structs.CssSection as Gtk.CssSection
    import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
    import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSource as Gtk.IconSource
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SettingsValue as Gtk.SettingsValue
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SymbolicColor as Gtk.SymbolicColor
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAppearance as Gtk.TextAppearance
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAttributes as Gtk.TextAttributes
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
    import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
    import qualified GI.Pango.Enums as Pango.Enums
    import qualified GI.Pango.Objects.Context as Pango.Context
    import qualified GI.Pango.Objects.FontMap as Pango.FontMap
    import qualified GI.Pango.Objects.Layout as Pango.Layout
    import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
    import qualified GI.Pango.Structs.Language as Pango.Language
    import qualified GI.Pango.Structs.TabArray as Pango.TabArray

    #else
    import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
    import qualified GI.GObject.Objects.Object as GObject.Object
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget

    #endif

    -- | Memory-managed wrapper type.
    newtype Statusbar = Statusbar (SP.ManagedPtr Statusbar)
        deriving (Statusbar -> Statusbar -> Bool
    (Statusbar -> Statusbar -> Bool)
    -> (Statusbar -> Statusbar -> Bool) -> Eq Statusbar
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: Statusbar -> Statusbar -> Bool
    == :: Statusbar -> Statusbar -> Bool
    $c/= :: Statusbar -> Statusbar -> Bool
    /= :: Statusbar -> Statusbar -> Bool
    Eq)

    instance SP.ManagedPtrNewtype Statusbar where
        toManagedPtr :: Statusbar -> ManagedPtr Statusbar
    toManagedPtr (Statusbar ManagedPtr Statusbar
    p) = ManagedPtr Statusbar
    p

    foreign import ccall "gtk_statusbar_get_type"
        c_gtk_statusbar_get_type :: IO B.Types.GType

    instance B.Types.TypedObject Statusbar where
        glibType :: IO GType
    glibType = IO GType
    c_gtk_statusbar_get_type

    instance B.Types.GObject Statusbar

    -- | Type class for types which can be safely cast to t'Statusbar', for instance with `toStatusbar`.
    class (SP.GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o
    instance (SP.GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o

    instance O.HasParentTypes Statusbar
    type instance O.ParentTypes Statusbar = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]

    -- | Cast to t'Statusbar', for types for which this is known to be safe. For general casts, use 'Data.GI.Base.ManagedPtr.castTo'.
    toStatusbar :: (MIO.MonadIO m, IsStatusbar o) => o -> m Statusbar
    toStatusbar :: forall (m :: * -> *) o.
    (MonadIO m, IsStatusbar o) =>
    o -> m Statusbar
    toStatusbar = IO Statusbar -> m Statusbar
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO Statusbar -> m Statusbar)
    -> (o -> IO Statusbar) -> o -> m Statusbar
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . (ManagedPtr Statusbar -> Statusbar) -> o -> IO Statusbar
    forall o o'.
    (HasCallStack, ManagedPtrNewtype o, TypedObject o,
     ManagedPtrNewtype o', TypedObject o') =>
    (ManagedPtr o' -> o') -> o -> IO o'
    B.ManagedPtr.unsafeCastTo ManagedPtr Statusbar -> Statusbar
    Statusbar

    -- | Convert t'Statusbar' to and from t'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
    instance B.GValue.IsGValue (Maybe Statusbar) where
        gvalueGType_ :: IO GType
    gvalueGType_ = IO GType
    c_gtk_statusbar_get_type
        gvalueSet_ :: Ptr GValue -> Maybe Statusbar -> IO ()
    gvalueSet_ Ptr GValue
    gv Maybe Statusbar
    P.Nothing = Ptr GValue -> Ptr Statusbar -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv (Ptr Statusbar
    forall a. Ptr a
    FP.nullPtr :: FP.Ptr Statusbar)
        gvalueSet_ Ptr GValue
    gv (P.Just Statusbar
    obj) = Statusbar -> (Ptr Statusbar -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    B.ManagedPtr.withManagedPtr Statusbar
    obj (Ptr GValue -> Ptr Statusbar -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv)
        gvalueGet_ :: Ptr GValue -> IO (Maybe Statusbar)
    gvalueGet_ Ptr GValue
    gv = do
            ptr <- Ptr GValue -> IO (Ptr Statusbar)
    forall a. GObject a => Ptr GValue -> IO (Ptr a)
    B.GValue.get_object Ptr GValue
    gv :: IO (FP.Ptr Statusbar)
            if ptr /= FP.nullPtr
            then P.Just <$> B.ManagedPtr.newObject Statusbar ptr
            else return P.Nothing

    #if defined(ENABLE_OVERLOADING)
    type family ResolveStatusbarMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
        ResolveStatusbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
        ResolveStatusbarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
        ResolveStatusbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
        ResolveStatusbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
        ResolveStatusbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
        ResolveStatusbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
        ResolveStatusbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
        ResolveStatusbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
        ResolveStatusbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
        ResolveStatusbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
        ResolveStatusbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
        ResolveStatusbarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
        ResolveStatusbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
        ResolveStatusbarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
        ResolveStatusbarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
        ResolveStatusbarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
        ResolveStatusbarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
        ResolveStatusbarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
        ResolveStatusbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
        ResolveStatusbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
        ResolveStatusbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
        ResolveStatusbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
        ResolveStatusbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
        ResolveStatusbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
        ResolveStatusbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
        ResolveStatusbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
        ResolveStatusbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
        ResolveStatusbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
        ResolveStatusbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
        ResolveStatusbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
        ResolveStatusbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
        ResolveStatusbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
        ResolveStatusbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
        ResolveStatusbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
        ResolveStatusbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
        ResolveStatusbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
        ResolveStatusbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
        ResolveStatusbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
        ResolveStatusbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
        ResolveStatusbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
        ResolveStatusbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
        ResolveStatusbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
        ResolveStatusbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
        ResolveStatusbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
        ResolveStatusbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
        ResolveStatusbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
        ResolveStatusbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
        ResolveStatusbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
        ResolveStatusbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
        ResolveStatusbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
        ResolveStatusbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
        ResolveStatusbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
        ResolveStatusbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
        ResolveStatusbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
        ResolveStatusbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
        ResolveStatusbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
        ResolveStatusbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
        ResolveStatusbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
        ResolveStatusbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
        ResolveStatusbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
        ResolveStatusbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
        ResolveStatusbarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
        ResolveStatusbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
        ResolveStatusbarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
        ResolveStatusbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
        ResolveStatusbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
        ResolveStatusbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
        ResolveStatusbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
        ResolveStatusbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
        ResolveStatusbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
        ResolveStatusbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
        ResolveStatusbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
        ResolveStatusbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
        ResolveStatusbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
        ResolveStatusbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
        ResolveStatusbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
        ResolveStatusbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
        ResolveStatusbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
        ResolveStatusbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
        ResolveStatusbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
        ResolveStatusbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
        ResolveStatusbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
        ResolveStatusbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
        ResolveStatusbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
        ResolveStatusbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
        ResolveStatusbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
        ResolveStatusbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
        ResolveStatusbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
        ResolveStatusbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
        ResolveStatusbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
        ResolveStatusbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
        ResolveStatusbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
        ResolveStatusbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
        ResolveStatusbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
        ResolveStatusbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
        ResolveStatusbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
        ResolveStatusbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
        ResolveStatusbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
        ResolveStatusbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
        ResolveStatusbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
        ResolveStatusbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
        ResolveStatusbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
        ResolveStatusbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
        ResolveStatusbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
        ResolveStatusbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
        ResolveStatusbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
        ResolveStatusbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
        ResolveStatusbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
        ResolveStatusbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
        ResolveStatusbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
        ResolveStatusbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
        ResolveStatusbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
        ResolveStatusbarMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
        ResolveStatusbarMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
        ResolveStatusbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
        ResolveStatusbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
        ResolveStatusbarMethod "pop" o = StatusbarPopMethodInfo
        ResolveStatusbarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
        ResolveStatusbarMethod "push" o = StatusbarPushMethodInfo
        ResolveStatusbarMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
        ResolveStatusbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
        ResolveStatusbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
        ResolveStatusbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
        ResolveStatusbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
        ResolveStatusbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
        ResolveStatusbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
        ResolveStatusbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
        ResolveStatusbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
        ResolveStatusbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
        ResolveStatusbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
        ResolveStatusbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
        ResolveStatusbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
        ResolveStatusbarMethod "remove" o = StatusbarRemoveMethodInfo
        ResolveStatusbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
        ResolveStatusbarMethod "removeAll" o = StatusbarRemoveAllMethodInfo
        ResolveStatusbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
        ResolveStatusbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
        ResolveStatusbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
        ResolveStatusbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
        ResolveStatusbarMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
        ResolveStatusbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
        ResolveStatusbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
        ResolveStatusbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
        ResolveStatusbarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
        ResolveStatusbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
        ResolveStatusbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
        ResolveStatusbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
        ResolveStatusbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
        ResolveStatusbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
        ResolveStatusbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
        ResolveStatusbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
        ResolveStatusbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
        ResolveStatusbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
        ResolveStatusbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
        ResolveStatusbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
        ResolveStatusbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
        ResolveStatusbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
        ResolveStatusbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
        ResolveStatusbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
        ResolveStatusbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
        ResolveStatusbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
        ResolveStatusbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
        ResolveStatusbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
        ResolveStatusbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
        ResolveStatusbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
        ResolveStatusbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
        ResolveStatusbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
        ResolveStatusbarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
        ResolveStatusbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
        ResolveStatusbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
        ResolveStatusbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
        ResolveStatusbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
        ResolveStatusbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
        ResolveStatusbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
        ResolveStatusbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
        ResolveStatusbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
        ResolveStatusbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
        ResolveStatusbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
        ResolveStatusbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
        ResolveStatusbarMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
        ResolveStatusbarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
        ResolveStatusbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
        ResolveStatusbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
        ResolveStatusbarMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
        ResolveStatusbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
        ResolveStatusbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
        ResolveStatusbarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
        ResolveStatusbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
        ResolveStatusbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
        ResolveStatusbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
        ResolveStatusbarMethod "getContextId" o = StatusbarGetContextIdMethodInfo
        ResolveStatusbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
        ResolveStatusbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
        ResolveStatusbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
        ResolveStatusbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
        ResolveStatusbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
        ResolveStatusbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
        ResolveStatusbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
        ResolveStatusbarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
        ResolveStatusbarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
        ResolveStatusbarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
        ResolveStatusbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
        ResolveStatusbarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
        ResolveStatusbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
        ResolveStatusbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
        ResolveStatusbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
        ResolveStatusbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
        ResolveStatusbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
        ResolveStatusbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
        ResolveStatusbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
        ResolveStatusbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
        ResolveStatusbarMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
        ResolveStatusbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
        ResolveStatusbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
        ResolveStatusbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
        ResolveStatusbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
        ResolveStatusbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
        ResolveStatusbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
        ResolveStatusbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
        ResolveStatusbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
        ResolveStatusbarMethod "getMessageArea" o = StatusbarGetMessageAreaMethodInfo
        ResolveStatusbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
        ResolveStatusbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
        ResolveStatusbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
        ResolveStatusbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
        ResolveStatusbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
        ResolveStatusbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
        ResolveStatusbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
        ResolveStatusbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
        ResolveStatusbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
        ResolveStatusbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
        ResolveStatusbarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
        ResolveStatusbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
        ResolveStatusbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
        ResolveStatusbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
        ResolveStatusbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
        ResolveStatusbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
        ResolveStatusbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
        ResolveStatusbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
        ResolveStatusbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
        ResolveStatusbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
        ResolveStatusbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
        ResolveStatusbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
        ResolveStatusbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
        ResolveStatusbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
        ResolveStatusbarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
        ResolveStatusbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
        ResolveStatusbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
        ResolveStatusbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
        ResolveStatusbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
        ResolveStatusbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
        ResolveStatusbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
        ResolveStatusbarMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
        ResolveStatusbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
        ResolveStatusbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
        ResolveStatusbarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
        ResolveStatusbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
        ResolveStatusbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
        ResolveStatusbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
        ResolveStatusbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
        ResolveStatusbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
        ResolveStatusbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
        ResolveStatusbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
        ResolveStatusbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
        ResolveStatusbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
        ResolveStatusbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
        ResolveStatusbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
        ResolveStatusbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
        ResolveStatusbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
        ResolveStatusbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
        ResolveStatusbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
        ResolveStatusbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
        ResolveStatusbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
        ResolveStatusbarMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
        ResolveStatusbarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
        ResolveStatusbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
        ResolveStatusbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
        ResolveStatusbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
        ResolveStatusbarMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
        ResolveStatusbarMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
        ResolveStatusbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
        ResolveStatusbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
        ResolveStatusbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
        ResolveStatusbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
        ResolveStatusbarMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
        ResolveStatusbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
        ResolveStatusbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
        ResolveStatusbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
        ResolveStatusbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
        ResolveStatusbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
        ResolveStatusbarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
        ResolveStatusbarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
        ResolveStatusbarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
        ResolveStatusbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
        ResolveStatusbarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
        ResolveStatusbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
        ResolveStatusbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
        ResolveStatusbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
        ResolveStatusbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
        ResolveStatusbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
        ResolveStatusbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
        ResolveStatusbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
        ResolveStatusbarMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
        ResolveStatusbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
        ResolveStatusbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
        ResolveStatusbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
        ResolveStatusbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
        ResolveStatusbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
        ResolveStatusbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
        ResolveStatusbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
        ResolveStatusbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
        ResolveStatusbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
        ResolveStatusbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
        ResolveStatusbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
        ResolveStatusbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
        ResolveStatusbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
        ResolveStatusbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
        ResolveStatusbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
        ResolveStatusbarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
        ResolveStatusbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
        ResolveStatusbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
        ResolveStatusbarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
        ResolveStatusbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
        ResolveStatusbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
        ResolveStatusbarMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
        ResolveStatusbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
        ResolveStatusbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
        ResolveStatusbarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
        ResolveStatusbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
        ResolveStatusbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
        ResolveStatusbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
        ResolveStatusbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
        ResolveStatusbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
        ResolveStatusbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
        ResolveStatusbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
        ResolveStatusbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
        ResolveStatusbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
        ResolveStatusbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
        ResolveStatusbarMethod l o = O.MethodResolutionFailed l o

    instance (info ~ ResolveStatusbarMethod t Statusbar, O.OverloadedMethod info Statusbar p) => OL.IsLabel t (Statusbar -> p) where
    #if MIN_VERSION_base(4,10,0)
        fromLabel = O.overloadedMethod @info
    #else
        fromLabel _ = O.overloadedMethod @info
    #endif

    #if MIN_VERSION_base(4,13,0)
    instance (info ~ ResolveStatusbarMethod t Statusbar, O.OverloadedMethod info Statusbar p, R.HasField t Statusbar p) => R.HasField t Statusbar p where
        getField = O.overloadedMethod @info

    #endif

    instance (info ~ ResolveStatusbarMethod t Statusbar, O.OverloadedMethodInfo info Statusbar) => OL.IsLabel t (O.MethodProxy info Statusbar) where
    #if MIN_VERSION_base(4,10,0)
        fromLabel = O.MethodProxy
    #else
        fromLabel _ = O.MethodProxy
    #endif

    #endif

    -- signal Statusbar::text-popped
    -- | Is emitted whenever a new message is popped off a statusbar\'s stack.
    type StatusbarTextPoppedCallback =
        Word32
        -- ^ /@contextId@/: the context id of the relevant message\/statusbar
        -> T.Text
        -- ^ /@text@/: the message that was just popped
        -> IO ()

    type C_StatusbarTextPoppedCallback =
        Ptr Statusbar ->                        -- object
        Word32 ->
        CString ->
        Ptr () ->                               -- user_data
        IO ()

    -- | Generate a function pointer callable from C code, from a `C_StatusbarTextPoppedCallback`.
    foreign import ccall "wrapper"
        mk_StatusbarTextPoppedCallback :: C_StatusbarTextPoppedCallback -> IO (FunPtr C_StatusbarTextPoppedCallback)

    wrap_StatusbarTextPoppedCallback ::
        GObject a => (a -> StatusbarTextPoppedCallback) ->
        C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPoppedCallback :: forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPoppedCallback a -> StatusbarTextPoppedCallback
    gi'cb Ptr Statusbar
    gi'selfPtr Word32
    contextId CString
    text Ptr ()
    _ = do
        text' <- HasCallStack => CString -> IO Text
    CString -> IO Text
    cstringToText CString
    text
        B.ManagedPtr.withNewObject gi'selfPtr $ \Statusbar
    gi'self -> a -> StatusbarTextPoppedCallback
    gi'cb (Statusbar -> a
    forall a b. Coercible a b => a -> b
    Coerce.coerce Statusbar
    gi'self)  Word32
    contextId Text
    text'

    -- | Connect a signal handler for the [textPopped](#signal:textPopped) signal, to be run before the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.on' statusbar #textPopped callback
    -- @
    --
    --
    onStatusbarTextPopped :: (IsStatusbar a, MonadIO m) => a -> ((?self :: a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    onStatusbarTextPopped :: forall a (m :: * -> *).
    (IsStatusbar a, MonadIO m) =>
    a
    -> ((?self::a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    onStatusbarTextPopped a
    obj (?self::a) => StatusbarTextPoppedCallback
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> StatusbarTextPoppedCallback
    wrapped a
    self = let ?self = a
    ?self::a
    self in (?self::a) => StatusbarTextPoppedCallback
    StatusbarTextPoppedCallback
    cb
        let wrapped' :: C_StatusbarTextPoppedCallback
    wrapped' = (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPoppedCallback a -> StatusbarTextPoppedCallback
    wrapped
        wrapped'' <- C_StatusbarTextPoppedCallback
    -> IO (FunPtr C_StatusbarTextPoppedCallback)
    mk_StatusbarTextPoppedCallback C_StatusbarTextPoppedCallback
    wrapped'
        connectSignalFunPtr obj "text-popped" wrapped'' SignalConnectBefore Nothing

    -- | Connect a signal handler for the [textPopped](#signal:textPopped) signal, to be run after the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.after' statusbar #textPopped callback
    -- @
    --
    --
    --
    -- By default the object invoking the signal is not passed to the callback.
    -- If you need to access it, you can use the implit @?self@ parameter.
    -- Note that this requires activating the @ImplicitParams@ GHC extension.
    --
    afterStatusbarTextPopped :: (IsStatusbar a, MonadIO m) => a -> ((?self :: a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    afterStatusbarTextPopped :: forall a (m :: * -> *).
    (IsStatusbar a, MonadIO m) =>
    a
    -> ((?self::a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    afterStatusbarTextPopped a
    obj (?self::a) => StatusbarTextPoppedCallback
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> StatusbarTextPoppedCallback
    wrapped a
    self = let ?self = a
    ?self::a
    self in (?self::a) => StatusbarTextPoppedCallback
    StatusbarTextPoppedCallback
    cb
        let wrapped' :: C_StatusbarTextPoppedCallback
    wrapped' = (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPoppedCallback a -> StatusbarTextPoppedCallback
    wrapped
        wrapped'' <- C_StatusbarTextPoppedCallback
    -> IO (FunPtr C_StatusbarTextPoppedCallback)
    mk_StatusbarTextPoppedCallback C_StatusbarTextPoppedCallback
    wrapped'
        connectSignalFunPtr obj "text-popped" wrapped'' SignalConnectAfter Nothing

    #if defined(ENABLE_OVERLOADING)
    data StatusbarTextPoppedSignalInfo
    instance SignalInfo StatusbarTextPoppedSignalInfo where
        type HaskellCallbackType StatusbarTextPoppedSignalInfo = StatusbarTextPoppedCallback
        connectSignal obj cb connectMode detail = do
            let cb' = wrap_StatusbarTextPoppedCallback cb
            cb'' <- mk_StatusbarTextPoppedCallback cb'
            connectSignalFunPtr obj "text-popped" cb'' connectMode detail
        dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar::text-popped"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#g:signal:textPopped"})

    #endif

    -- signal Statusbar::text-pushed
    -- | Is emitted whenever a new message gets pushed onto a statusbar\'s stack.
    type StatusbarTextPushedCallback =
        Word32
        -- ^ /@contextId@/: the context id of the relevant message\/statusbar
        -> T.Text
        -- ^ /@text@/: the message that was pushed
        -> IO ()

    type C_StatusbarTextPushedCallback =
        Ptr Statusbar ->                        -- object
        Word32 ->
        CString ->
        Ptr () ->                               -- user_data
        IO ()

    -- | Generate a function pointer callable from C code, from a `C_StatusbarTextPushedCallback`.
    foreign import ccall "wrapper"
        mk_StatusbarTextPushedCallback :: C_StatusbarTextPushedCallback -> IO (FunPtr C_StatusbarTextPushedCallback)

    wrap_StatusbarTextPushedCallback ::
        GObject a => (a -> StatusbarTextPushedCallback) ->
        C_StatusbarTextPushedCallback
    wrap_StatusbarTextPushedCallback :: forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPushedCallback a -> StatusbarTextPoppedCallback
    gi'cb Ptr Statusbar
    gi'selfPtr Word32
    contextId CString
    text Ptr ()
    _ = do
        text' <- HasCallStack => CString -> IO Text
    CString -> IO Text
    cstringToText CString
    text
        B.ManagedPtr.withNewObject gi'selfPtr $ \Statusbar
    gi'self -> a -> StatusbarTextPoppedCallback
    gi'cb (Statusbar -> a
    forall a b. Coercible a b => a -> b
    Coerce.coerce Statusbar
    gi'self)  Word32
    contextId Text
    text'

    -- | Connect a signal handler for the [textPushed](#signal:textPushed) signal, to be run before the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.on' statusbar #textPushed callback
    -- @
    --
    --
    onStatusbarTextPushed :: (IsStatusbar a, MonadIO m) => a -> ((?self :: a) => StatusbarTextPushedCallback) -> m SignalHandlerId
    onStatusbarTextPushed :: forall a (m :: * -> *).
    (IsStatusbar a, MonadIO m) =>
    a
    -> ((?self::a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    onStatusbarTextPushed a
    obj (?self::a) => StatusbarTextPoppedCallback
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> StatusbarTextPoppedCallback
    wrapped a
    self = let ?self = a
    ?self::a
    self in (?self::a) => StatusbarTextPoppedCallback
    StatusbarTextPoppedCallback
    cb
        let wrapped' :: C_StatusbarTextPoppedCallback
    wrapped' = (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPushedCallback a -> StatusbarTextPoppedCallback
    wrapped
        wrapped'' <- C_StatusbarTextPoppedCallback
    -> IO (FunPtr C_StatusbarTextPoppedCallback)
    mk_StatusbarTextPushedCallback C_StatusbarTextPoppedCallback
    wrapped'
        connectSignalFunPtr obj "text-pushed" wrapped'' SignalConnectBefore Nothing

    -- | Connect a signal handler for the [textPushed](#signal:textPushed) signal, to be run after the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.after' statusbar #textPushed callback
    -- @
    --
    --
    --
    -- By default the object invoking the signal is not passed to the callback.
    -- If you need to access it, you can use the implit @?self@ parameter.
    -- Note that this requires activating the @ImplicitParams@ GHC extension.
    --
    afterStatusbarTextPushed :: (IsStatusbar a, MonadIO m) => a -> ((?self :: a) => StatusbarTextPushedCallback) -> m SignalHandlerId
    afterStatusbarTextPushed :: forall a (m :: * -> *).
    (IsStatusbar a, MonadIO m) =>
    a
    -> ((?self::a) => StatusbarTextPoppedCallback) -> m SignalHandlerId
    afterStatusbarTextPushed a
    obj (?self::a) => StatusbarTextPoppedCallback
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> StatusbarTextPoppedCallback
    wrapped a
    self = let ?self = a
    ?self::a
    self in (?self::a) => StatusbarTextPoppedCallback
    StatusbarTextPoppedCallback
    cb
        let wrapped' :: C_StatusbarTextPoppedCallback
    wrapped' = (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    forall a.
    GObject a =>
    (a -> StatusbarTextPoppedCallback) -> C_StatusbarTextPoppedCallback
    wrap_StatusbarTextPushedCallback a -> StatusbarTextPoppedCallback
    wrapped
        wrapped'' <- C_StatusbarTextPoppedCallback
    -> IO (FunPtr C_StatusbarTextPoppedCallback)
    mk_StatusbarTextPushedCallback C_StatusbarTextPoppedCallback
    wrapped'
        connectSignalFunPtr obj "text-pushed" wrapped'' SignalConnectAfter Nothing

    #if defined(ENABLE_OVERLOADING)
    data StatusbarTextPushedSignalInfo
    instance SignalInfo StatusbarTextPushedSignalInfo where
        type HaskellCallbackType StatusbarTextPushedSignalInfo = StatusbarTextPushedCallback
        connectSignal obj cb connectMode detail = do
            let cb' = wrap_StatusbarTextPushedCallback cb
            cb'' <- mk_StatusbarTextPushedCallback cb'
            connectSignalFunPtr obj "text-pushed" cb'' connectMode detail
        dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar::text-pushed"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#g:signal:textPushed"})

    #endif

    #if defined(ENABLE_OVERLOADING)
    instance O.HasAttributeList Statusbar
    type instance O.AttributeList Statusbar = StatusbarAttributeList
    type StatusbarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, DK.Type)])
    #endif

    #if defined(ENABLE_OVERLOADING)
    #endif

    #if defined(ENABLE_OVERLOADING)
    type instance O.SignalList Statusbar = StatusbarSignalList
    type StatusbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("textPopped", StatusbarTextPoppedSignalInfo), '("textPushed", StatusbarTextPushedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, DK.Type)])

    #endif

    -- method Statusbar::new
    -- method type : Constructor
    -- Args: []
    -- Lengths: []
    -- returnType: Just (TInterface Name { namespace = "Gtk" , name = "Statusbar" })
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_new" gtk_statusbar_new ::
        IO (Ptr Statusbar)

    -- | Creates a new t'GI.Gtk.Objects.Statusbar.Statusbar' ready for messages.
    statusbarNew ::
        (B.CallStack.HasCallStack, MonadIO m) =>
        m Statusbar
        -- ^ __Returns:__ the new t'GI.Gtk.Objects.Statusbar.Statusbar'
    statusbarNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Statusbar
    statusbarNew  = IO Statusbar -> m Statusbar
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Statusbar -> m Statusbar) -> IO Statusbar -> m Statusbar
    forall a b. (a -> b) -> a -> b
    $ do
        result <- IO (Ptr Statusbar)
    gtk_statusbar_new
        checkUnexpectedReturnNULL "statusbarNew" result
        result' <- (newObject Statusbar) result
        return result'

    #if defined(ENABLE_OVERLOADING)
    #endif

    -- method Statusbar::get_context_id
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "context_description"
    --           , argType = TBasicType TUTF8
    --           , argCType = Just "const gchar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText =
    --                     Just
    --                       "textual description of what context\n                      the new message is being used in"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TBasicType TUInt)
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_get_context_id" gtk_statusbar_get_context_id ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        CString ->                              -- context_description : TBasicType TUTF8
        IO Word32

    -- | Returns a new context identifier, given a description
    -- of the actual context. Note that the description is
    -- not shown in the UI.
    statusbarGetContextId ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> T.Text
        -- ^ /@contextDescription@/: textual description of what context
        --                       the new message is being used in
        -> m Word32
        -- ^ __Returns:__ an integer id
    statusbarGetContextId :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> Text -> m Word32
    statusbarGetContextId a
    statusbar Text
    contextDescription = IO Word32 -> m Word32
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        contextDescription' <- textToCString contextDescription
        result <- gtk_statusbar_get_context_id statusbar' contextDescription'
        touchManagedPtr statusbar
        freeMem contextDescription'
        return result

    #if defined(ENABLE_OVERLOADING)
    data StatusbarGetContextIdMethodInfo
    instance (signature ~ (T.Text -> m Word32), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarGetContextIdMethodInfo a signature where
        overloadedMethod = statusbarGetContextId

    instance O.OverloadedMethodInfo StatusbarGetContextIdMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarGetContextId",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarGetContextId"
            })

    #endif

    -- method Statusbar::get_message_area
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TInterface Name { namespace = "Gtk" , name = "Box" })
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_get_message_area" gtk_statusbar_get_message_area ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        IO (Ptr Gtk.Box.Box)

    -- | Retrieves the box containing the label widget.
    --
    -- /Since: 2.20/
    statusbarGetMessageArea ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> m Gtk.Box.Box
        -- ^ __Returns:__ a t'GI.Gtk.Objects.Box.Box'
    statusbarGetMessageArea :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> m Box
    statusbarGetMessageArea a
    statusbar = IO Box -> m Box
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Box -> m Box) -> IO Box -> m Box
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        result <- gtk_statusbar_get_message_area statusbar'
        checkUnexpectedReturnNULL "statusbarGetMessageArea" result
        result' <- (newObject Gtk.Box.Box) result
        touchManagedPtr statusbar
        return result'

    #if defined(ENABLE_OVERLOADING)
    data StatusbarGetMessageAreaMethodInfo
    instance (signature ~ (m Gtk.Box.Box), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarGetMessageAreaMethodInfo a signature where
        overloadedMethod = statusbarGetMessageArea

    instance O.OverloadedMethodInfo StatusbarGetMessageAreaMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarGetMessageArea",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarGetMessageArea"
            })

    #endif

    -- method Statusbar::pop
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "context_id"
    --           , argType = TBasicType TUInt
    --           , argCType = Just "guint"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a context identifier"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Nothing
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_pop" gtk_statusbar_pop ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        Word32 ->                               -- context_id : TBasicType TUInt
        IO ()

    -- | Removes the first message in the t'GI.Gtk.Objects.Statusbar.Statusbar'’s stack
    -- with the given context id.
    --
    -- Note that this may not change the displayed message, if
    -- the message at the top of the stack has a different
    -- context id.
    statusbarPop ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> Word32
        -- ^ /@contextId@/: a context identifier
        -> m ()
    statusbarPop :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> Word32 -> m ()
    statusbarPop a
    statusbar Word32
    contextId = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        gtk_statusbar_pop statusbar' contextId
        touchManagedPtr statusbar
        return ()

    #if defined(ENABLE_OVERLOADING)
    data StatusbarPopMethodInfo
    instance (signature ~ (Word32 -> m ()), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarPopMethodInfo a signature where
        overloadedMethod = statusbarPop

    instance O.OverloadedMethodInfo StatusbarPopMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarPop",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarPop"
            })

    #endif

    -- method Statusbar::push
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "context_id"
    --           , argType = TBasicType TUInt
    --           , argCType = Just "guint"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText =
    --                     Just
    --                       "the message\8217s context id, as returned by\n             gtk_statusbar_get_context_id()"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "text"
    --           , argType = TBasicType TUTF8
    --           , argCType = Just "const gchar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "the message to add to the statusbar"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TBasicType TUInt)
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_push" gtk_statusbar_push ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        Word32 ->                               -- context_id : TBasicType TUInt
        CString ->                              -- text : TBasicType TUTF8
        IO Word32

    -- | Pushes a new message onto a statusbar’s stack.
    statusbarPush ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> Word32
        -- ^ /@contextId@/: the message’s context id, as returned by
        --              'GI.Gtk.Objects.Statusbar.statusbarGetContextId'
        -> T.Text
        -- ^ /@text@/: the message to add to the statusbar
        -> m Word32
        -- ^ __Returns:__ a message id that can be used with
        --          'GI.Gtk.Objects.Statusbar.statusbarRemove'.
    statusbarPush :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> Word32 -> Text -> m Word32
    statusbarPush a
    statusbar Word32
    contextId Text
    text = IO Word32 -> m Word32
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        text' <- textToCString text
        result <- gtk_statusbar_push statusbar' contextId text'
        touchManagedPtr statusbar
        freeMem text'
        return result

    #if defined(ENABLE_OVERLOADING)
    data StatusbarPushMethodInfo
    instance (signature ~ (Word32 -> T.Text -> m Word32), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarPushMethodInfo a signature where
        overloadedMethod = statusbarPush

    instance O.OverloadedMethodInfo StatusbarPushMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarPush",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarPush"
            })

    #endif

    -- method Statusbar::remove
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "context_id"
    --           , argType = TBasicType TUInt
    --           , argCType = Just "guint"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a context identifier"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "message_id"
    --           , argType = TBasicType TUInt
    --           , argCType = Just "guint"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText =
    --                     Just "a message identifier, as returned by gtk_statusbar_push()"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Nothing
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_remove" gtk_statusbar_remove ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        Word32 ->                               -- context_id : TBasicType TUInt
        Word32 ->                               -- message_id : TBasicType TUInt
        IO ()

    -- | Forces the removal of a message from a statusbar’s stack.
    -- The exact /@contextId@/ and /@messageId@/ must be specified.
    statusbarRemove ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> Word32
        -- ^ /@contextId@/: a context identifier
        -> Word32
        -- ^ /@messageId@/: a message identifier, as returned by 'GI.Gtk.Objects.Statusbar.statusbarPush'
        -> m ()
    statusbarRemove :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> Word32 -> Word32 -> m ()
    statusbarRemove a
    statusbar Word32
    contextId Word32
    messageId = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        gtk_statusbar_remove statusbar' contextId messageId
        touchManagedPtr statusbar
        return ()

    #if defined(ENABLE_OVERLOADING)
    data StatusbarRemoveMethodInfo
    instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarRemoveMethodInfo a signature where
        overloadedMethod = statusbarRemove

    instance O.OverloadedMethodInfo StatusbarRemoveMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarRemove",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarRemove"
            })

    #endif

    -- method Statusbar::remove_all
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "statusbar"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "Statusbar" }
    --           , argCType = Just "GtkStatusbar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkStatusbar" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "context_id"
    --           , argType = TBasicType TUInt
    --           , argCType = Just "guint"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a context identifier"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Nothing
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_statusbar_remove_all" gtk_statusbar_remove_all ::
        Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
        Word32 ->                               -- context_id : TBasicType TUInt
        IO ()

    -- | Forces the removal of all messages from a statusbar\'s
    -- stack with the exact /@contextId@/.
    --
    -- /Since: 2.22/
    statusbarRemoveAll ::
        (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
        a
        -- ^ /@statusbar@/: a t'GI.Gtk.Objects.Statusbar.Statusbar'
        -> Word32
        -- ^ /@contextId@/: a context identifier
        -> m ()
    statusbarRemoveAll :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStatusbar a) =>
    a -> Word32 -> m ()
    statusbarRemoveAll a
    statusbar Word32
    contextId = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        statusbar' <- a -> IO (Ptr Statusbar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    statusbar
        gtk_statusbar_remove_all statusbar' contextId
        touchManagedPtr statusbar
        return ()

    #if defined(ENABLE_OVERLOADING)
    data StatusbarRemoveAllMethodInfo
    instance (signature ~ (Word32 -> m ()), MonadIO m, IsStatusbar a) => O.OverloadedMethod StatusbarRemoveAllMethodInfo a signature where
        overloadedMethod = statusbarRemoveAll

    instance O.OverloadedMethodInfo StatusbarRemoveAllMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Statusbar.statusbarRemoveAll",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.43/docs/GI-Gtk-Objects-Statusbar.html#v:statusbarRemoveAll"
            })

    #endif