    {-# LANGUAGE TypeApplications #-}

    -- | Copyright  : Will Thompson and Iñaki García Etxebarria
    -- License    : LGPL-2.1
    -- Maintainer : Iñaki García Etxebarria
    --
    -- Uses a sidebar to switch between @GtkStack@ pages.
    --
    -- \<picture>
    --   \<source srcset=\"sidebar-dark.png\" media=\"(prefers-color-scheme: dark)\">
    --   \<img alt=\"An example GtkStackSidebar\" src=\"sidebar.png\">
    -- \<\/picture>
    --
    -- In order to use a @GtkStackSidebar@, you simply use a @GtkStack@ to
    -- organize your UI flow, and add the sidebar to your sidebar area. You
    -- can use 'GI.Gtk.Objects.StackSidebar.stackSidebarSetStack' to connect the @GtkStackSidebar@
    -- to the @GtkStack@.
    --
    -- = CSS nodes
    --
    -- @GtkStackSidebar@ has a single CSS node with name stacksidebar and
    -- style class .sidebar.
    --
    -- When circumstances require it, @GtkStackSidebar@ adds the
    -- .needs-attention style class to the widgets representing the stack
    -- pages.

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

    module GI.Gtk.Objects.StackSidebar
        (

    -- * Exported types
        StackSidebar(..)                        ,
        IsStackSidebar                          ,
        toStackSidebar                          ,

     -- * Methods
    -- |
    --
    --  === __Click to display all available methods, including inherited ones__
    -- ==== Methods
    -- [actionSetEnabled]("GI.Gtk.Objects.Widget#g:method:actionSetEnabled"), [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [activateAction]("GI.Gtk.Objects.Widget#g:method:activateAction"), [activateDefault]("GI.Gtk.Objects.Widget#g:method:activateDefault"), [addController]("GI.Gtk.Objects.Widget#g:method:addController"), [addCssClass]("GI.Gtk.Objects.Widget#g:method:addCssClass"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [allocate]("GI.Gtk.Objects.Widget#g:method:allocate"), [announce]("GI.Gtk.Interfaces.Accessible#g:method:announce"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [computeBounds]("GI.Gtk.Objects.Widget#g:method:computeBounds"), [computeExpand]("GI.Gtk.Objects.Widget#g:method:computeExpand"), [computePoint]("GI.Gtk.Objects.Widget#g:method:computePoint"), [computeTransform]("GI.Gtk.Objects.Widget#g:method:computeTransform"), [contains]("GI.Gtk.Objects.Widget#g:method:contains"), [createPangoContext]("GI.Gtk.Objects.Widget#g:method:createPangoContext"), [createPangoLayout]("GI.Gtk.Objects.Widget#g:method:createPangoLayout"), [disposeTemplate]("GI.Gtk.Objects.Widget#g:method:disposeTemplate"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [hasCssClass]("GI.Gtk.Objects.Widget#g:method:hasCssClass"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [insertAfter]("GI.Gtk.Objects.Widget#g:method:insertAfter"), [insertBefore]("GI.Gtk.Objects.Widget#g:method:insertBefore"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [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"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [measure]("GI.Gtk.Objects.Widget#g:method:measure"), [mnemonicActivate]("GI.Gtk.Objects.Widget#g:method:mnemonicActivate"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [observeChildren]("GI.Gtk.Objects.Widget#g:method:observeChildren"), [observeControllers]("GI.Gtk.Objects.Widget#g:method:observeControllers"), [pick]("GI.Gtk.Objects.Widget#g:method:pick"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeController]("GI.Gtk.Objects.Widget#g:method:removeController"), [removeCssClass]("GI.Gtk.Objects.Widget#g:method:removeCssClass"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [resetProperty]("GI.Gtk.Interfaces.Accessible#g:method:resetProperty"), [resetRelation]("GI.Gtk.Interfaces.Accessible#g:method:resetRelation"), [resetState]("GI.Gtk.Interfaces.Accessible#g:method:resetState"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [shouldLayout]("GI.Gtk.Objects.Widget#g:method:shouldLayout"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [snapshotChild]("GI.Gtk.Objects.Widget#g:method:snapshotChild"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [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"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [updateNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:updateNextAccessibleSibling"), [updatePlatformState]("GI.Gtk.Interfaces.Accessible#g:method:updatePlatformState"), [updateProperty]("GI.Gtk.Interfaces.Accessible#g:method:updateProperty"), [updateRelation]("GI.Gtk.Interfaces.Accessible#g:method:updateRelation"), [updateState]("GI.Gtk.Interfaces.Accessible#g:method:updateState"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
    --
    -- ==== Getters
    -- [getAccessibleId]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleId"), [getAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleParent"), [getAccessibleRole]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleRole"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAtContext]("GI.Gtk.Interfaces.Accessible#g:method:getAtContext"), [getBaseline]("GI.Gtk.Objects.Widget#g:method:getBaseline"), [getBounds]("GI.Gtk.Interfaces.Accessible#g:method:getBounds"), [getBuildableId]("GI.Gtk.Interfaces.Buildable#g:method:getBuildableId"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCanTarget]("GI.Gtk.Objects.Widget#g:method:getCanTarget"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getColor]("GI.Gtk.Objects.Widget#g:method:getColor"), [getCssClasses]("GI.Gtk.Objects.Widget#g:method:getCssClasses"), [getCssName]("GI.Gtk.Objects.Widget#g:method:getCssName"), [getCursor]("GI.Gtk.Objects.Widget#g:method:getCursor"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getFirstAccessibleChild]("GI.Gtk.Interfaces.Accessible#g:method:getFirstAccessibleChild"), [getFirstChild]("GI.Gtk.Objects.Widget#g:method:getFirstChild"), [getFocusChild]("GI.Gtk.Objects.Widget#g:method:getFocusChild"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusable]("GI.Gtk.Objects.Widget#g:method:getFocusable"), [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"), [getHeight]("GI.Gtk.Objects.Widget#g:method:getHeight"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getLastChild]("GI.Gtk.Objects.Widget#g:method:getLastChild"), [getLayoutManager]("GI.Gtk.Objects.Widget#g:method:getLayoutManager"), [getLimitEvents]("GI.Gtk.Objects.Widget#g:method:getLimitEvents"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNative]("GI.Gtk.Objects.Widget#g:method:getNative"), [getNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:getNextAccessibleSibling"), [getNextSibling]("GI.Gtk.Objects.Widget#g:method:getNextSibling"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOverflow]("GI.Gtk.Objects.Widget#g:method:getOverflow"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getPlatformState]("GI.Gtk.Interfaces.Accessible#g:method:getPlatformState"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPrevSibling]("GI.Gtk.Objects.Widget#g:method:getPrevSibling"), [getPrimaryClipboard]("GI.Gtk.Objects.Widget#g:method:getPrimaryClipboard"), [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"), [getRoot]("GI.Gtk.Objects.Widget#g:method:getRoot"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSize]("GI.Gtk.Objects.Widget#g:method:getSize"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getStack]("GI.Gtk.Objects.StackSidebar#g:method:getStack"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getWidth]("GI.Gtk.Objects.Widget#g:method:getWidth").
    --
    -- ==== Setters
    -- [setAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:setAccessibleParent"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setCssClasses]("GI.Gtk.Objects.Widget#g:method:setCssClasses"), [setCursor]("GI.Gtk.Objects.Widget#g:method:setCursor"), [setCursorFromName]("GI.Gtk.Objects.Widget#g:method:setCursorFromName"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setFocusChild]("GI.Gtk.Objects.Widget#g:method:setFocusChild"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusable]("GI.Gtk.Objects.Widget#g:method:setFocusable"), [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"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setLayoutManager]("GI.Gtk.Objects.Widget#g:method:setLayoutManager"), [setLimitEvents]("GI.Gtk.Objects.Widget#g:method:setLimitEvents"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setOverflow]("GI.Gtk.Objects.Widget#g:method:setOverflow"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStack]("GI.Gtk.Objects.StackSidebar#g:method:setStack"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [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").

    #if defined(ENABLE_OVERLOADING)
        ResolveStackSidebarMethod               ,
    #endif

    -- ** getStack #method:getStack#

    #if defined(ENABLE_OVERLOADING)
        StackSidebarGetStackMethodInfo          ,
    #endif
        stackSidebarGetStack                    ,

    -- ** new #method:new#

        stackSidebarNew                         ,

    -- ** setStack #method:setStack#

    #if defined(ENABLE_OVERLOADING)
        StackSidebarSetStackMethodInfo          ,
    #endif
        stackSidebarSetStack                    ,

     -- * Properties

    -- ** stack #attr:stack#
    -- | The stack.

    #if defined(ENABLE_OVERLOADING)
        StackSidebarStackPropertyInfo           ,
    #endif
        constructStackSidebarStack              ,
        getStackSidebarStack                    ,
        setStackSidebarStack                    ,
    #if defined(ENABLE_OVERLOADING)
        stackSidebarStack                       ,
    #endif

        ) 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.Cairo.Structs.Context as Cairo.Context
    import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions
    import qualified GI.GLib.Callbacks as GLib.Callbacks
    import qualified GI.GLib.Structs.Bytes as GLib.Bytes
    import qualified GI.GObject.Objects.Object as GObject.Object
    import qualified GI.Gdk.Flags as Gdk.Flags
    import qualified GI.Gdk.Interfaces.Paintable as Gdk.Paintable
    import qualified GI.Gdk.Objects.Clipboard as Gdk.Clipboard
    import qualified GI.Gdk.Objects.Cursor as Gdk.Cursor
    import qualified GI.Gdk.Objects.Device as Gdk.Device
    import qualified GI.Gdk.Objects.Display as Gdk.Display
    import qualified GI.Gdk.Objects.Event as Gdk.Event
    import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
    import qualified GI.Gdk.Objects.Snapshot as Gdk.Snapshot
    import qualified GI.Gdk.Objects.Surface as Gdk.Surface
    import qualified GI.Gdk.Objects.Texture as Gdk.Texture
    import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
    import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
    import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
    import qualified GI.Gio.Interfaces.Icon as Gio.Icon
    import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
    import qualified GI.Graphene.Structs.Matrix as Graphene.Matrix
    import qualified GI.Graphene.Structs.Point as Graphene.Point
    import qualified GI.Graphene.Structs.Point3D as Graphene.Point3D
    import qualified GI.Graphene.Structs.Rect as Graphene.Rect
    import qualified GI.Graphene.Structs.Size as Graphene.Size
    import qualified GI.Graphene.Structs.Vec3 as Graphene.Vec3
    import qualified GI.Graphene.Structs.Vec4 as Graphene.Vec4
    import qualified GI.Gsk.Enums as Gsk.Enums
    import qualified GI.Gsk.Flags as Gsk.Flags
    import qualified GI.Gsk.Objects.GLShader as Gsk.GLShader
    import qualified GI.Gsk.Objects.RenderNode as Gsk.RenderNode
    import qualified GI.Gsk.Objects.Renderer as Gsk.Renderer
    import qualified GI.Gsk.Structs.ColorStop as Gsk.ColorStop
    import qualified GI.Gsk.Structs.ComponentTransfer as Gsk.ComponentTransfer
    import qualified GI.Gsk.Structs.Path as Gsk.Path
    import qualified GI.Gsk.Structs.RoundedRect as Gsk.RoundedRect
    import qualified GI.Gsk.Structs.Shadow as Gsk.Shadow
    import qualified GI.Gsk.Structs.Stroke as Gsk.Stroke
    import qualified GI.Gsk.Structs.Transform as Gsk.Transform
    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.Accessible as Gtk.Accessible
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Native as Gtk.Native
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Root as Gtk.Root
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.SelectionModel as Gtk.SelectionModel
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
    import {-# SOURCE #-} qualified GI.Gtk.Objects.ATContext as Gtk.ATContext
    import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
    import {-# SOURCE #-} qualified GI.Gtk.Objects.LayoutChild as Gtk.LayoutChild
    import {-# SOURCE #-} qualified GI.Gtk.Objects.LayoutManager as Gtk.LayoutManager
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Settings as Gtk.Settings
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Snapshot as Gtk.Snapshot
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Stack as Gtk.Stack
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StackPage as Gtk.StackPage
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
    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.Structs.Bitset as Gtk.Bitset
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
    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

    #else
    import qualified GI.GObject.Objects.Object as GObject.Object
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Stack as Gtk.Stack
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget

    #endif

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

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

    foreign import ccall "gtk_stack_sidebar_get_type"
        c_gtk_stack_sidebar_get_type :: IO B.Types.GType

    instance B.Types.TypedObject StackSidebar where
        glibType :: IO GType
    glibType = IO GType
    c_gtk_stack_sidebar_get_type

    instance B.Types.GObject StackSidebar

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

    instance O.HasParentTypes StackSidebar
    type instance O.ParentTypes StackSidebar = '[Gtk.Widget.Widget, GObject.Object.Object, Gtk.Accessible.Accessible, Gtk.Buildable.Buildable, Gtk.ConstraintTarget.ConstraintTarget]

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

    -- | Convert t'StackSidebar' 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 StackSidebar) where
        gvalueGType_ :: IO GType
    gvalueGType_ = IO GType
    c_gtk_stack_sidebar_get_type
        gvalueSet_ :: Ptr GValue -> Maybe StackSidebar -> IO ()
    gvalueSet_ Ptr GValue
    gv Maybe StackSidebar
    P.Nothing = Ptr GValue -> Ptr StackSidebar -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv (Ptr StackSidebar
    forall a. Ptr a
    FP.nullPtr :: FP.Ptr StackSidebar)
        gvalueSet_ Ptr GValue
    gv (P.Just StackSidebar
    obj) = StackSidebar -> (Ptr StackSidebar -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    B.ManagedPtr.withManagedPtr StackSidebar
    obj (Ptr GValue -> Ptr StackSidebar -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv)
        gvalueGet_ :: Ptr GValue -> IO (Maybe StackSidebar)
    gvalueGet_ Ptr GValue
    gv = do
            ptr <- Ptr GValue -> IO (Ptr StackSidebar)
    forall a. GObject a => Ptr GValue -> IO (Ptr a)
    B.GValue.get_object Ptr GValue
    gv :: IO (FP.Ptr StackSidebar)
            if ptr /= FP.nullPtr
            then P.Just <$> B.ManagedPtr.newObject StackSidebar ptr
            else return P.Nothing

    #if defined(ENABLE_OVERLOADING)
    type family ResolveStackSidebarMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
        ResolveStackSidebarMethod "actionSetEnabled" o = Gtk.Widget.WidgetActionSetEnabledMethodInfo
        ResolveStackSidebarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
        ResolveStackSidebarMethod "activateAction" o = Gtk.Widget.WidgetActivateActionMethodInfo
        ResolveStackSidebarMethod "activateDefault" o = Gtk.Widget.WidgetActivateDefaultMethodInfo
        ResolveStackSidebarMethod "addController" o = Gtk.Widget.WidgetAddControllerMethodInfo
        ResolveStackSidebarMethod "addCssClass" o = Gtk.Widget.WidgetAddCssClassMethodInfo
        ResolveStackSidebarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
        ResolveStackSidebarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
        ResolveStackSidebarMethod "allocate" o = Gtk.Widget.WidgetAllocateMethodInfo
        ResolveStackSidebarMethod "announce" o = Gtk.Accessible.AccessibleAnnounceMethodInfo
        ResolveStackSidebarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
        ResolveStackSidebarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
        ResolveStackSidebarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
        ResolveStackSidebarMethod "computeBounds" o = Gtk.Widget.WidgetComputeBoundsMethodInfo
        ResolveStackSidebarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
        ResolveStackSidebarMethod "computePoint" o = Gtk.Widget.WidgetComputePointMethodInfo
        ResolveStackSidebarMethod "computeTransform" o = Gtk.Widget.WidgetComputeTransformMethodInfo
        ResolveStackSidebarMethod "contains" o = Gtk.Widget.WidgetContainsMethodInfo
        ResolveStackSidebarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
        ResolveStackSidebarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
        ResolveStackSidebarMethod "disposeTemplate" o = Gtk.Widget.WidgetDisposeTemplateMethodInfo
        ResolveStackSidebarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
        ResolveStackSidebarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
        ResolveStackSidebarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
        ResolveStackSidebarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
        ResolveStackSidebarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
        ResolveStackSidebarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
        ResolveStackSidebarMethod "hasCssClass" o = Gtk.Widget.WidgetHasCssClassMethodInfo
        ResolveStackSidebarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
        ResolveStackSidebarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
        ResolveStackSidebarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
        ResolveStackSidebarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
        ResolveStackSidebarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
        ResolveStackSidebarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
        ResolveStackSidebarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
        ResolveStackSidebarMethod "insertAfter" o = Gtk.Widget.WidgetInsertAfterMethodInfo
        ResolveStackSidebarMethod "insertBefore" o = Gtk.Widget.WidgetInsertBeforeMethodInfo
        ResolveStackSidebarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
        ResolveStackSidebarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
        ResolveStackSidebarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
        ResolveStackSidebarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
        ResolveStackSidebarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
        ResolveStackSidebarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
        ResolveStackSidebarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
        ResolveStackSidebarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
        ResolveStackSidebarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
        ResolveStackSidebarMethod "measure" o = Gtk.Widget.WidgetMeasureMethodInfo
        ResolveStackSidebarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
        ResolveStackSidebarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
        ResolveStackSidebarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
        ResolveStackSidebarMethod "observeChildren" o = Gtk.Widget.WidgetObserveChildrenMethodInfo
        ResolveStackSidebarMethod "observeControllers" o = Gtk.Widget.WidgetObserveControllersMethodInfo
        ResolveStackSidebarMethod "pick" o = Gtk.Widget.WidgetPickMethodInfo
        ResolveStackSidebarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
        ResolveStackSidebarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
        ResolveStackSidebarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
        ResolveStackSidebarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
        ResolveStackSidebarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
        ResolveStackSidebarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
        ResolveStackSidebarMethod "removeController" o = Gtk.Widget.WidgetRemoveControllerMethodInfo
        ResolveStackSidebarMethod "removeCssClass" o = Gtk.Widget.WidgetRemoveCssClassMethodInfo
        ResolveStackSidebarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
        ResolveStackSidebarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
        ResolveStackSidebarMethod "resetProperty" o = Gtk.Accessible.AccessibleResetPropertyMethodInfo
        ResolveStackSidebarMethod "resetRelation" o = Gtk.Accessible.AccessibleResetRelationMethodInfo
        ResolveStackSidebarMethod "resetState" o = Gtk.Accessible.AccessibleResetStateMethodInfo
        ResolveStackSidebarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
        ResolveStackSidebarMethod "shouldLayout" o = Gtk.Widget.WidgetShouldLayoutMethodInfo
        ResolveStackSidebarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
        ResolveStackSidebarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
        ResolveStackSidebarMethod "snapshotChild" o = Gtk.Widget.WidgetSnapshotChildMethodInfo
        ResolveStackSidebarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
        ResolveStackSidebarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
        ResolveStackSidebarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
        ResolveStackSidebarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
        ResolveStackSidebarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
        ResolveStackSidebarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
        ResolveStackSidebarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
        ResolveStackSidebarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
        ResolveStackSidebarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
        ResolveStackSidebarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
        ResolveStackSidebarMethod "updateNextAccessibleSibling" o = Gtk.Accessible.AccessibleUpdateNextAccessibleSiblingMethodInfo
        ResolveStackSidebarMethod "updatePlatformState" o = Gtk.Accessible.AccessibleUpdatePlatformStateMethodInfo
        ResolveStackSidebarMethod "updateProperty" o = Gtk.Accessible.AccessibleUpdatePropertyMethodInfo
        ResolveStackSidebarMethod "updateRelation" o = Gtk.Accessible.AccessibleUpdateRelationMethodInfo
        ResolveStackSidebarMethod "updateState" o = Gtk.Accessible.AccessibleUpdateStateMethodInfo
        ResolveStackSidebarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
        ResolveStackSidebarMethod "getAccessibleId" o = Gtk.Accessible.AccessibleGetAccessibleIdMethodInfo
        ResolveStackSidebarMethod "getAccessibleParent" o = Gtk.Accessible.AccessibleGetAccessibleParentMethodInfo
        ResolveStackSidebarMethod "getAccessibleRole" o = Gtk.Accessible.AccessibleGetAccessibleRoleMethodInfo
        ResolveStackSidebarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
        ResolveStackSidebarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
        ResolveStackSidebarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
        ResolveStackSidebarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
        ResolveStackSidebarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
        ResolveStackSidebarMethod "getAtContext" o = Gtk.Accessible.AccessibleGetAtContextMethodInfo
        ResolveStackSidebarMethod "getBaseline" o = Gtk.Widget.WidgetGetBaselineMethodInfo
        ResolveStackSidebarMethod "getBounds" o = Gtk.Accessible.AccessibleGetBoundsMethodInfo
        ResolveStackSidebarMethod "getBuildableId" o = Gtk.Buildable.BuildableGetBuildableIdMethodInfo
        ResolveStackSidebarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
        ResolveStackSidebarMethod "getCanTarget" o = Gtk.Widget.WidgetGetCanTargetMethodInfo
        ResolveStackSidebarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
        ResolveStackSidebarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
        ResolveStackSidebarMethod "getColor" o = Gtk.Widget.WidgetGetColorMethodInfo
        ResolveStackSidebarMethod "getCssClasses" o = Gtk.Widget.WidgetGetCssClassesMethodInfo
        ResolveStackSidebarMethod "getCssName" o = Gtk.Widget.WidgetGetCssNameMethodInfo
        ResolveStackSidebarMethod "getCursor" o = Gtk.Widget.WidgetGetCursorMethodInfo
        ResolveStackSidebarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
        ResolveStackSidebarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
        ResolveStackSidebarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
        ResolveStackSidebarMethod "getFirstAccessibleChild" o = Gtk.Accessible.AccessibleGetFirstAccessibleChildMethodInfo
        ResolveStackSidebarMethod "getFirstChild" o = Gtk.Widget.WidgetGetFirstChildMethodInfo
        ResolveStackSidebarMethod "getFocusChild" o = Gtk.Widget.WidgetGetFocusChildMethodInfo
        ResolveStackSidebarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
        ResolveStackSidebarMethod "getFocusable" o = Gtk.Widget.WidgetGetFocusableMethodInfo
        ResolveStackSidebarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
        ResolveStackSidebarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
        ResolveStackSidebarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
        ResolveStackSidebarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
        ResolveStackSidebarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
        ResolveStackSidebarMethod "getHeight" o = Gtk.Widget.WidgetGetHeightMethodInfo
        ResolveStackSidebarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
        ResolveStackSidebarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
        ResolveStackSidebarMethod "getLastChild" o = Gtk.Widget.WidgetGetLastChildMethodInfo
        ResolveStackSidebarMethod "getLayoutManager" o = Gtk.Widget.WidgetGetLayoutManagerMethodInfo
        ResolveStackSidebarMethod "getLimitEvents" o = Gtk.Widget.WidgetGetLimitEventsMethodInfo
        ResolveStackSidebarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
        ResolveStackSidebarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
        ResolveStackSidebarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
        ResolveStackSidebarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
        ResolveStackSidebarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
        ResolveStackSidebarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
        ResolveStackSidebarMethod "getNative" o = Gtk.Widget.WidgetGetNativeMethodInfo
        ResolveStackSidebarMethod "getNextAccessibleSibling" o = Gtk.Accessible.AccessibleGetNextAccessibleSiblingMethodInfo
        ResolveStackSidebarMethod "getNextSibling" o = Gtk.Widget.WidgetGetNextSiblingMethodInfo
        ResolveStackSidebarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
        ResolveStackSidebarMethod "getOverflow" o = Gtk.Widget.WidgetGetOverflowMethodInfo
        ResolveStackSidebarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
        ResolveStackSidebarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
        ResolveStackSidebarMethod "getPlatformState" o = Gtk.Accessible.AccessibleGetPlatformStateMethodInfo
        ResolveStackSidebarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
        ResolveStackSidebarMethod "getPrevSibling" o = Gtk.Widget.WidgetGetPrevSiblingMethodInfo
        ResolveStackSidebarMethod "getPrimaryClipboard" o = Gtk.Widget.WidgetGetPrimaryClipboardMethodInfo
        ResolveStackSidebarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
        ResolveStackSidebarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
        ResolveStackSidebarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
        ResolveStackSidebarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
        ResolveStackSidebarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
        ResolveStackSidebarMethod "getRoot" o = Gtk.Widget.WidgetGetRootMethodInfo
        ResolveStackSidebarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
        ResolveStackSidebarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
        ResolveStackSidebarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
        ResolveStackSidebarMethod "getSize" o = Gtk.Widget.WidgetGetSizeMethodInfo
        ResolveStackSidebarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
        ResolveStackSidebarMethod "getStack" o = StackSidebarGetStackMethodInfo
        ResolveStackSidebarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
        ResolveStackSidebarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
        ResolveStackSidebarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
        ResolveStackSidebarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
        ResolveStackSidebarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
        ResolveStackSidebarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
        ResolveStackSidebarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
        ResolveStackSidebarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
        ResolveStackSidebarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
        ResolveStackSidebarMethod "getWidth" o = Gtk.Widget.WidgetGetWidthMethodInfo
        ResolveStackSidebarMethod "setAccessibleParent" o = Gtk.Accessible.AccessibleSetAccessibleParentMethodInfo
        ResolveStackSidebarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
        ResolveStackSidebarMethod "setCanTarget" o = Gtk.Widget.WidgetSetCanTargetMethodInfo
        ResolveStackSidebarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
        ResolveStackSidebarMethod "setCssClasses" o = Gtk.Widget.WidgetSetCssClassesMethodInfo
        ResolveStackSidebarMethod "setCursor" o = Gtk.Widget.WidgetSetCursorMethodInfo
        ResolveStackSidebarMethod "setCursorFromName" o = Gtk.Widget.WidgetSetCursorFromNameMethodInfo
        ResolveStackSidebarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
        ResolveStackSidebarMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
        ResolveStackSidebarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
        ResolveStackSidebarMethod "setFocusChild" o = Gtk.Widget.WidgetSetFocusChildMethodInfo
        ResolveStackSidebarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
        ResolveStackSidebarMethod "setFocusable" o = Gtk.Widget.WidgetSetFocusableMethodInfo
        ResolveStackSidebarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
        ResolveStackSidebarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
        ResolveStackSidebarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
        ResolveStackSidebarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
        ResolveStackSidebarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
        ResolveStackSidebarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
        ResolveStackSidebarMethod "setLayoutManager" o = Gtk.Widget.WidgetSetLayoutManagerMethodInfo
        ResolveStackSidebarMethod "setLimitEvents" o = Gtk.Widget.WidgetSetLimitEventsMethodInfo
        ResolveStackSidebarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
        ResolveStackSidebarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
        ResolveStackSidebarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
        ResolveStackSidebarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
        ResolveStackSidebarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
        ResolveStackSidebarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
        ResolveStackSidebarMethod "setOverflow" o = Gtk.Widget.WidgetSetOverflowMethodInfo
        ResolveStackSidebarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
        ResolveStackSidebarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
        ResolveStackSidebarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
        ResolveStackSidebarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
        ResolveStackSidebarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
        ResolveStackSidebarMethod "setStack" o = StackSidebarSetStackMethodInfo
        ResolveStackSidebarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
        ResolveStackSidebarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
        ResolveStackSidebarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
        ResolveStackSidebarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
        ResolveStackSidebarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
        ResolveStackSidebarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
        ResolveStackSidebarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
        ResolveStackSidebarMethod l o = O.MethodResolutionFailed l o

    instance (info ~ ResolveStackSidebarMethod t StackSidebar, O.OverloadedMethod info StackSidebar p) => OL.IsLabel t (StackSidebar -> 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 ~ ResolveStackSidebarMethod t StackSidebar, O.OverloadedMethod info StackSidebar p, R.HasField t StackSidebar p) => R.HasField t StackSidebar p where
        getField = O.overloadedMethod @info

    #endif

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

    #endif

    -- VVV Prop "stack"
       -- Type: TInterface (Name {namespace = "Gtk", name = "Stack"})
       -- Flags: [PropertyReadable,PropertyWritable]
       -- Nullable: (Just True,Just False)

    -- | Get the value of the “@stack@” property.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' stackSidebar #stack
    -- @
    getStackSidebarStack :: (MonadIO m, IsStackSidebar o) => o -> m (Maybe Gtk.Stack.Stack)
    getStackSidebarStack :: forall (m :: * -> *) o.
    (MonadIO m, IsStackSidebar o) =>
    o -> m (Maybe Stack)
    getStackSidebarStack o
    obj = IO (Maybe Stack) -> m (Maybe Stack)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO (Maybe Stack) -> m (Maybe Stack))
    -> IO (Maybe Stack) -> m (Maybe Stack)
    forall a b. (a -> b) -> a -> b
    $ o -> String -> (ManagedPtr Stack -> Stack) -> IO (Maybe Stack)
    forall a b.
    (GObject a, GObject b) =>
    a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
    B.Properties.getObjectPropertyObject o
    obj String
    "stack" ManagedPtr Stack -> Stack
    Gtk.Stack.Stack

    -- | Set the value of the “@stack@” property.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.set' stackSidebar [ #stack 'Data.GI.Base.Attributes.:=' value ]
    -- @
    setStackSidebarStack :: (MonadIO m, IsStackSidebar o, Gtk.Stack.IsStack a) => o -> a -> m ()
    setStackSidebarStack :: forall (m :: * -> *) o a.
    (MonadIO m, IsStackSidebar o, IsStack a) =>
    o -> a -> m ()
    setStackSidebarStack o
    obj a
    val = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        o -> String -> Maybe a -> IO ()
    forall a b.
    (GObject a, GObject b) =>
    a -> String -> Maybe b -> IO ()
    B.Properties.setObjectPropertyObject o
    obj String
    "stack" (a -> Maybe a
    forall a. a -> Maybe a
    Just a
    val)

    -- | Construct a t'GValueConstruct' with valid value for the “@stack@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
    constructStackSidebarStack :: (IsStackSidebar o, MIO.MonadIO m, Gtk.Stack.IsStack a) => a -> m (GValueConstruct o)
    constructStackSidebarStack :: forall o (m :: * -> *) a.
    (IsStackSidebar o, MonadIO m, IsStack a) =>
    a -> m (GValueConstruct o)
    constructStackSidebarStack a
    val = IO (GValueConstruct o) -> m (GValueConstruct o)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
    -> IO (GValueConstruct o) -> m (GValueConstruct o)
    forall a b. (a -> b) -> a -> b
    $ do
        IO (GValueConstruct o) -> IO (GValueConstruct o)
    forall a. IO a -> IO a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
    -> IO (GValueConstruct o) -> IO (GValueConstruct o)
    forall a b. (a -> b) -> a -> b
    $ String -> Maybe a -> IO (GValueConstruct o)
    forall a o.
    GObject a =>
    String -> Maybe a -> IO (GValueConstruct o)
    B.Properties.constructObjectPropertyObject String
    "stack" (a -> Maybe a
    forall a. a -> Maybe a
    P.Just a
    val)

    #if defined(ENABLE_OVERLOADING)
    data StackSidebarStackPropertyInfo
    instance AttrInfo StackSidebarStackPropertyInfo where
        type AttrAllowedOps StackSidebarStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
        type AttrBaseTypeConstraint StackSidebarStackPropertyInfo = IsStackSidebar
        type AttrSetTypeConstraint StackSidebarStackPropertyInfo = Gtk.Stack.IsStack
        type AttrTransferTypeConstraint StackSidebarStackPropertyInfo = Gtk.Stack.IsStack
        type AttrTransferType StackSidebarStackPropertyInfo = Gtk.Stack.Stack
        type AttrGetType StackSidebarStackPropertyInfo = (Maybe Gtk.Stack.Stack)
        type AttrLabel StackSidebarStackPropertyInfo = "stack"
        type AttrOrigin StackSidebarStackPropertyInfo = StackSidebar
        attrGet = getStackSidebarStack
        attrSet = setStackSidebarStack
        attrPut = undefined
        attrTransfer _ v = do
            unsafeCastTo Gtk.Stack.Stack v
        attrConstruct = constructStackSidebarStack
        attrClear = undefined
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.StackSidebar.stack"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-StackSidebar.html#g:attr:stack"
            })
    #endif

    #if defined(ENABLE_OVERLOADING)
    instance O.HasAttributeList StackSidebar
    type instance O.AttributeList StackSidebar = StackSidebarAttributeList
    type StackSidebarAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("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), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("limitEvents", Gtk.Widget.WidgetLimitEventsPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overflow", Gtk.Widget.WidgetOverflowPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", StackSidebarStackPropertyInfo), '("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)] :: [(Symbol, DK.Type)])
    #endif

    #if defined(ENABLE_OVERLOADING)
    stackSidebarStack :: AttrLabelProxy "stack"
    stackSidebarStack = AttrLabelProxy

    #endif

    #if defined(ENABLE_OVERLOADING)
    type instance O.SignalList StackSidebar = StackSidebarSignalList
    type StackSidebarSignalList = ('[ '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo)] :: [(Symbol, DK.Type)])

    #endif

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

    foreign import ccall "gtk_stack_sidebar_new" gtk_stack_sidebar_new ::
        IO (Ptr StackSidebar)

    -- | Creates a new @GtkStackSidebar@.
    stackSidebarNew ::
        (B.CallStack.HasCallStack, MonadIO m) =>
        m StackSidebar
        -- ^ __Returns:__ the new @GtkStackSidebar@
    stackSidebarNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m StackSidebar
    stackSidebarNew  = IO StackSidebar -> m StackSidebar
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO StackSidebar -> m StackSidebar)
    -> IO StackSidebar -> m StackSidebar
    forall a b. (a -> b) -> a -> b
    $ do
        result <- IO (Ptr StackSidebar)
    gtk_stack_sidebar_new
        checkUnexpectedReturnNULL "stackSidebarNew" result
        result' <- (newObject StackSidebar) result
        return result'

    #if defined(ENABLE_OVERLOADING)
    #endif

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

    foreign import ccall "gtk_stack_sidebar_get_stack" gtk_stack_sidebar_get_stack ::
        Ptr StackSidebar ->                     -- self : TInterface (Name {namespace = "Gtk", name = "StackSidebar"})
        IO (Ptr Gtk.Stack.Stack)

    -- | Retrieves the stack.
    stackSidebarGetStack ::
        (B.CallStack.HasCallStack, MonadIO m, IsStackSidebar a) =>
        a
        -- ^ /@self@/: a @GtkStackSidebar@
        -> m (Maybe Gtk.Stack.Stack)
        -- ^ __Returns:__ the associated @GtkStack@ or
        --   'P.Nothing' if none has been set explicitly
    stackSidebarGetStack :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsStackSidebar a) =>
    a -> m (Maybe Stack)
    stackSidebarGetStack a
    self = IO (Maybe Stack) -> m (Maybe Stack)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe Stack) -> m (Maybe Stack))
    -> IO (Maybe Stack) -> m (Maybe Stack)
    forall a b. (a -> b) -> a -> b
    $ do
        self' <- a -> IO (Ptr StackSidebar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    self
        result <- gtk_stack_sidebar_get_stack self'
        maybeResult <- convertIfNonNull result $ \Ptr Stack
    result' -> do
            result'' <- ((ManagedPtr Stack -> Stack) -> Ptr Stack -> IO Stack
    forall a b.
    (HasCallStack, GObject a, GObject b) =>
    (ManagedPtr a -> a) -> Ptr b -> IO a
    newObject ManagedPtr Stack -> Stack
    Gtk.Stack.Stack) Ptr Stack
    result'
            return result''
        touchManagedPtr self
        return maybeResult

    #if defined(ENABLE_OVERLOADING)
    data StackSidebarGetStackMethodInfo
    instance (signature ~ (m (Maybe Gtk.Stack.Stack)), MonadIO m, IsStackSidebar a) => O.OverloadedMethod StackSidebarGetStackMethodInfo a signature where
        overloadedMethod = stackSidebarGetStack

    instance O.OverloadedMethodInfo StackSidebarGetStackMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.StackSidebar.stackSidebarGetStack",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-StackSidebar.html#v:stackSidebarGetStack"
            })

    #endif

    -- method StackSidebar::set_stack
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "self"
    --           , argType =
    --               TInterface Name { namespace = "Gtk" , name = "StackSidebar" }
    --           , argCType = Just "GtkStackSidebar*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a `GtkStackSidebar`"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "stack"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Stack" }
    --           , argCType = Just "GtkStack*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a `GtkStack`" , 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_stack_sidebar_set_stack" gtk_stack_sidebar_set_stack ::
        Ptr StackSidebar ->                     -- self : TInterface (Name {namespace = "Gtk", name = "StackSidebar"})
        Ptr Gtk.Stack.Stack ->                  -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
        IO ()

    -- | Set the @GtkStack@ associated with this @GtkStackSidebar@.
    --
    -- The sidebar widget will automatically update according to
    -- the order and items within the given @GtkStack@.
    stackSidebarSetStack ::
        (B.CallStack.HasCallStack, MonadIO m, IsStackSidebar a, Gtk.Stack.IsStack b) =>
        a
        -- ^ /@self@/: a @GtkStackSidebar@
        -> b
        -- ^ /@stack@/: a @GtkStack@
        -> m ()
    stackSidebarSetStack :: forall (m :: * -> *) a b.
    (HasCallStack, MonadIO m, IsStackSidebar a, IsStack b) =>
    a -> b -> m ()
    stackSidebarSetStack a
    self b
    stack = 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
        self' <- a -> IO (Ptr StackSidebar)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    self
        stack' <- unsafeManagedPtrCastPtr stack
        gtk_stack_sidebar_set_stack self' stack'
        touchManagedPtr self
        touchManagedPtr stack
        return ()

    #if defined(ENABLE_OVERLOADING)
    data StackSidebarSetStackMethodInfo
    instance (signature ~ (b -> m ()), MonadIO m, IsStackSidebar a, Gtk.Stack.IsStack b) => O.OverloadedMethod StackSidebarSetStackMethodInfo a signature where
        overloadedMethod = stackSidebarSetStack

    instance O.OverloadedMethodInfo StackSidebarSetStackMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.StackSidebar.stackSidebarSetStack",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-StackSidebar.html#v:stackSidebarSetStack"
            })

    #endif