{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A page used for empty\/error states and similar use-cases.
-- 
-- \<picture>
--   \<source srcset=\"status-page-dark.png\" media=\"(prefers-color-scheme: dark)\">
--   \<img src=\"status-page.png\" alt=\"status-page\">
-- \<\/picture>
-- 
-- The @AdwStatusPage@ widget can have an icon, a title, a description and a
-- custom widget which is displayed below them.
-- 
-- == CSS nodes
-- 
-- @AdwStatusPage@ has a main CSS node with name @statuspage@.
-- 
-- @AdwStatusPage@ can use the
-- <https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html#compact-status-page `.compact`> style class for when it
-- needs to fit into a small space such a sidebar or a popover.
-- 
-- /Since: 1.0/

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Adw.Objects.StatusPage
    ( 

-- * Exported types
    StatusPage(..)                          ,
    IsStatusPage                            ,
    toStatusPage                            ,


 -- * 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"), [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"), [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
-- [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"), [getBuildableId]("GI.Gtk.Interfaces.Buildable#g:method:getBuildableId"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCanTarget]("GI.Gtk.Objects.Widget#g:method:getCanTarget"), [getChild]("GI.Adw.Objects.StatusPage#g:method:getChild"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [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"), [getDescription]("GI.Adw.Objects.StatusPage#g:method:getDescription"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [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"), [getIconName]("GI.Adw.Objects.StatusPage#g:method:getIconName"), [getLastChild]("GI.Gtk.Objects.Widget#g:method:getLastChild"), [getLayoutManager]("GI.Gtk.Objects.Widget#g:method:getLayoutManager"), [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"), [getNextSibling]("GI.Gtk.Objects.Widget#g:method:getNextSibling"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOverflow]("GI.Gtk.Objects.Widget#g:method:getOverflow"), [getPaintable]("GI.Adw.Objects.StatusPage#g:method:getPaintable"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [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"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Adw.Objects.StatusPage#g:method:getTitle"), [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
-- [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChild]("GI.Adw.Objects.StatusPage#g:method:setChild"), [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"), [setDescription]("GI.Adw.Objects.StatusPage#g:method:setDescription"), [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"), [setIconName]("GI.Adw.Objects.StatusPage#g:method:setIconName"), [setLayoutManager]("GI.Gtk.Objects.Widget#g:method:setLayoutManager"), [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"), [setPaintable]("GI.Adw.Objects.StatusPage#g:method:setPaintable"), [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"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setTitle]("GI.Adw.Objects.StatusPage#g:method:setTitle"), [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)
    ResolveStatusPageMethod                 ,
#endif

-- ** getChild #method:getChild#

#if defined(ENABLE_OVERLOADING)
    StatusPageGetChildMethodInfo            ,
#endif
    statusPageGetChild                      ,


-- ** getDescription #method:getDescription#

#if defined(ENABLE_OVERLOADING)
    StatusPageGetDescriptionMethodInfo      ,
#endif
    statusPageGetDescription                ,


-- ** getIconName #method:getIconName#

#if defined(ENABLE_OVERLOADING)
    StatusPageGetIconNameMethodInfo         ,
#endif
    statusPageGetIconName                   ,


-- ** getPaintable #method:getPaintable#

#if defined(ENABLE_OVERLOADING)
    StatusPageGetPaintableMethodInfo        ,
#endif
    statusPageGetPaintable                  ,


-- ** getTitle #method:getTitle#

#if defined(ENABLE_OVERLOADING)
    StatusPageGetTitleMethodInfo            ,
#endif
    statusPageGetTitle                      ,


-- ** new #method:new#

    statusPageNew                           ,


-- ** setChild #method:setChild#

#if defined(ENABLE_OVERLOADING)
    StatusPageSetChildMethodInfo            ,
#endif
    statusPageSetChild                      ,


-- ** setDescription #method:setDescription#

#if defined(ENABLE_OVERLOADING)
    StatusPageSetDescriptionMethodInfo      ,
#endif
    statusPageSetDescription                ,


-- ** setIconName #method:setIconName#

#if defined(ENABLE_OVERLOADING)
    StatusPageSetIconNameMethodInfo         ,
#endif
    statusPageSetIconName                   ,


-- ** setPaintable #method:setPaintable#

#if defined(ENABLE_OVERLOADING)
    StatusPageSetPaintableMethodInfo        ,
#endif
    statusPageSetPaintable                  ,


-- ** setTitle #method:setTitle#

#if defined(ENABLE_OVERLOADING)
    StatusPageSetTitleMethodInfo            ,
#endif
    statusPageSetTitle                      ,




 -- * Properties


-- ** child #attr:child#
-- | The child widget.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    StatusPageChildPropertyInfo             ,
#endif
    clearStatusPageChild                    ,
    constructStatusPageChild                ,
    getStatusPageChild                      ,
    setStatusPageChild                      ,
#if defined(ENABLE_OVERLOADING)
    statusPageChild                         ,
#endif


-- ** description #attr:description#
-- | The description to be displayed below the title.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    StatusPageDescriptionPropertyInfo       ,
#endif
    clearStatusPageDescription              ,
    constructStatusPageDescription          ,
    getStatusPageDescription                ,
    setStatusPageDescription                ,
#if defined(ENABLE_OVERLOADING)
    statusPageDescription                   ,
#endif


-- ** iconName #attr:iconName#
-- | The name of the icon to be used.
-- 
-- Changing this will set [property/@statusPage@/:paintable] to @NULL@.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    StatusPageIconNamePropertyInfo          ,
#endif
    clearStatusPageIconName                 ,
    constructStatusPageIconName             ,
    getStatusPageIconName                   ,
    setStatusPageIconName                   ,
#if defined(ENABLE_OVERLOADING)
    statusPageIconName                      ,
#endif


-- ** paintable #attr:paintable#
-- | The paintable to be used.
-- 
-- Changing this will set [property/@statusPage@/:icon-name] to @NULL@.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    StatusPagePaintablePropertyInfo         ,
#endif
    clearStatusPagePaintable                ,
    constructStatusPagePaintable            ,
    getStatusPagePaintable                  ,
    setStatusPagePaintable                  ,
#if defined(ENABLE_OVERLOADING)
    statusPagePaintable                     ,
#endif


-- ** title #attr:title#
-- | The title to be displayed below the icon.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    StatusPageTitlePropertyInfo             ,
#endif
    constructStatusPageTitle                ,
    getStatusPageTitle                      ,
    setStatusPageTitle                      ,
#if defined(ENABLE_OVERLOADING)
    statusPageTitle                         ,
#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.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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Interfaces.Paintable as Gdk.Paintable
import qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

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

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

foreign import ccall "adw_status_page_get_type"
    c_adw_status_page_get_type :: IO B.Types.GType

instance B.Types.TypedObject StatusPage where
    glibType :: IO GType
glibType = IO GType
c_adw_status_page_get_type

instance B.Types.GObject StatusPage

-- | Type class for types which can be safely cast to `StatusPage`, for instance with `toStatusPage`.
class (SP.GObject o, O.IsDescendantOf StatusPage o) => IsStatusPage o
instance (SP.GObject o, O.IsDescendantOf StatusPage o) => IsStatusPage o

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

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

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

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

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

#endif

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

#endif

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

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

-- | Set the value of the “@child@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' statusPage [ #child 'Data.GI.Base.Attributes.:=' value ]
-- @
setStatusPageChild :: (MonadIO m, IsStatusPage o, Gtk.Widget.IsWidget a) => o -> a -> m ()
setStatusPageChild :: forall (m :: * -> *) o a.
(MonadIO m, IsStatusPage o, IsWidget a) =>
o -> a -> m ()
setStatusPageChild 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
"child" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)

-- | Construct a `GValueConstruct` with valid value for the “@child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStatusPageChild :: (IsStatusPage o, MIO.MonadIO m, Gtk.Widget.IsWidget a) => a -> m (GValueConstruct o)
constructStatusPageChild :: forall o (m :: * -> *) a.
(IsStatusPage o, MonadIO m, IsWidget a) =>
a -> m (GValueConstruct o)
constructStatusPageChild 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
"child" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)

-- | Set the value of the “@child@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #child
-- @
clearStatusPageChild :: (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageChild :: forall (m :: * -> *) o. (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageChild o
obj = 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
$ o -> String -> Maybe Widget -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"child" (Maybe Widget
forall a. Maybe a
Nothing :: Maybe Gtk.Widget.Widget)

#if defined(ENABLE_OVERLOADING)
data StatusPageChildPropertyInfo
instance AttrInfo StatusPageChildPropertyInfo where
    type AttrAllowedOps StatusPageChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StatusPageChildPropertyInfo = IsStatusPage
    type AttrSetTypeConstraint StatusPageChildPropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferTypeConstraint StatusPageChildPropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferType StatusPageChildPropertyInfo = Gtk.Widget.Widget
    type AttrGetType StatusPageChildPropertyInfo = (Maybe Gtk.Widget.Widget)
    type AttrLabel StatusPageChildPropertyInfo = "child"
    type AttrOrigin StatusPageChildPropertyInfo = StatusPage
    attrGet = getStatusPageChild
    attrSet = setStatusPageChild
    attrTransfer _ v = do
        unsafeCastTo Gtk.Widget.Widget v
    attrConstruct = constructStatusPageChild
    attrClear = clearStatusPageChild
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.child"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#g:attr:child"
        })
#endif

-- VVV Prop "description"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just True)

-- | Get the value of the “@description@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' statusPage #description
-- @
getStatusPageDescription :: (MonadIO m, IsStatusPage o) => o -> m (Maybe T.Text)
getStatusPageDescription :: forall (m :: * -> *) o.
(MonadIO m, IsStatusPage o) =>
o -> m (Maybe Text)
getStatusPageDescription o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"description"

-- | Set the value of the “@description@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' statusPage [ #description 'Data.GI.Base.Attributes.:=' value ]
-- @
setStatusPageDescription :: (MonadIO m, IsStatusPage o) => o -> T.Text -> m ()
setStatusPageDescription :: forall (m :: * -> *) o.
(MonadIO m, IsStatusPage o) =>
o -> Text -> m ()
setStatusPageDescription o
obj Text
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 Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"description" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@description@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStatusPageDescription :: (IsStatusPage o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructStatusPageDescription :: forall o (m :: * -> *).
(IsStatusPage o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructStatusPageDescription Text
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 Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"description" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@description@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #description
-- @
clearStatusPageDescription :: (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageDescription :: forall (m :: * -> *) o. (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageDescription o
obj = 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
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"description" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data StatusPageDescriptionPropertyInfo
instance AttrInfo StatusPageDescriptionPropertyInfo where
    type AttrAllowedOps StatusPageDescriptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StatusPageDescriptionPropertyInfo = IsStatusPage
    type AttrSetTypeConstraint StatusPageDescriptionPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint StatusPageDescriptionPropertyInfo = (~) T.Text
    type AttrTransferType StatusPageDescriptionPropertyInfo = T.Text
    type AttrGetType StatusPageDescriptionPropertyInfo = (Maybe T.Text)
    type AttrLabel StatusPageDescriptionPropertyInfo = "description"
    type AttrOrigin StatusPageDescriptionPropertyInfo = StatusPage
    attrGet = getStatusPageDescription
    attrSet = setStatusPageDescription
    attrTransfer _ v = do
        return v
    attrConstruct = constructStatusPageDescription
    attrClear = clearStatusPageDescription
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.description"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#g:attr:description"
        })
#endif

-- VVV Prop "icon-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just True)

-- | Get the value of the “@icon-name@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' statusPage #iconName
-- @
getStatusPageIconName :: (MonadIO m, IsStatusPage o) => o -> m (Maybe T.Text)
getStatusPageIconName :: forall (m :: * -> *) o.
(MonadIO m, IsStatusPage o) =>
o -> m (Maybe Text)
getStatusPageIconName o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"icon-name"

-- | Set the value of the “@icon-name@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' statusPage [ #iconName 'Data.GI.Base.Attributes.:=' value ]
-- @
setStatusPageIconName :: (MonadIO m, IsStatusPage o) => o -> T.Text -> m ()
setStatusPageIconName :: forall (m :: * -> *) o.
(MonadIO m, IsStatusPage o) =>
o -> Text -> m ()
setStatusPageIconName o
obj Text
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 Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"icon-name" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStatusPageIconName :: (IsStatusPage o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructStatusPageIconName :: forall o (m :: * -> *).
(IsStatusPage o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructStatusPageIconName Text
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 Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"icon-name" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@icon-name@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #iconName
-- @
clearStatusPageIconName :: (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageIconName :: forall (m :: * -> *) o. (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPageIconName o
obj = 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
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"icon-name" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data StatusPageIconNamePropertyInfo
instance AttrInfo StatusPageIconNamePropertyInfo where
    type AttrAllowedOps StatusPageIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StatusPageIconNamePropertyInfo = IsStatusPage
    type AttrSetTypeConstraint StatusPageIconNamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint StatusPageIconNamePropertyInfo = (~) T.Text
    type AttrTransferType StatusPageIconNamePropertyInfo = T.Text
    type AttrGetType StatusPageIconNamePropertyInfo = (Maybe T.Text)
    type AttrLabel StatusPageIconNamePropertyInfo = "icon-name"
    type AttrOrigin StatusPageIconNamePropertyInfo = StatusPage
    attrGet = getStatusPageIconName
    attrSet = setStatusPageIconName
    attrTransfer _ v = do
        return v
    attrConstruct = constructStatusPageIconName
    attrClear = clearStatusPageIconName
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.iconName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#g:attr:iconName"
        })
#endif

-- VVV Prop "paintable"
   -- Type: TInterface (Name {namespace = "Gdk", name = "Paintable"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just True)

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

-- | Set the value of the “@paintable@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' statusPage [ #paintable 'Data.GI.Base.Attributes.:=' value ]
-- @
setStatusPagePaintable :: (MonadIO m, IsStatusPage o, Gdk.Paintable.IsPaintable a) => o -> a -> m ()
setStatusPagePaintable :: forall (m :: * -> *) o a.
(MonadIO m, IsStatusPage o, IsPaintable a) =>
o -> a -> m ()
setStatusPagePaintable 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
"paintable" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)

-- | Construct a `GValueConstruct` with valid value for the “@paintable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStatusPagePaintable :: (IsStatusPage o, MIO.MonadIO m, Gdk.Paintable.IsPaintable a) => a -> m (GValueConstruct o)
constructStatusPagePaintable :: forall o (m :: * -> *) a.
(IsStatusPage o, MonadIO m, IsPaintable a) =>
a -> m (GValueConstruct o)
constructStatusPagePaintable 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
"paintable" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)

-- | Set the value of the “@paintable@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #paintable
-- @
clearStatusPagePaintable :: (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPagePaintable :: forall (m :: * -> *) o. (MonadIO m, IsStatusPage o) => o -> m ()
clearStatusPagePaintable o
obj = 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
$ o -> String -> Maybe Paintable -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"paintable" (Maybe Paintable
forall a. Maybe a
Nothing :: Maybe Gdk.Paintable.Paintable)

#if defined(ENABLE_OVERLOADING)
data StatusPagePaintablePropertyInfo
instance AttrInfo StatusPagePaintablePropertyInfo where
    type AttrAllowedOps StatusPagePaintablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StatusPagePaintablePropertyInfo = IsStatusPage
    type AttrSetTypeConstraint StatusPagePaintablePropertyInfo = Gdk.Paintable.IsPaintable
    type AttrTransferTypeConstraint StatusPagePaintablePropertyInfo = Gdk.Paintable.IsPaintable
    type AttrTransferType StatusPagePaintablePropertyInfo = Gdk.Paintable.Paintable
    type AttrGetType StatusPagePaintablePropertyInfo = (Maybe Gdk.Paintable.Paintable)
    type AttrLabel StatusPagePaintablePropertyInfo = "paintable"
    type AttrOrigin StatusPagePaintablePropertyInfo = StatusPage
    attrGet = getStatusPagePaintable
    attrSet = setStatusPagePaintable
    attrTransfer _ v = do
        unsafeCastTo Gdk.Paintable.Paintable v
    attrConstruct = constructStatusPagePaintable
    attrClear = clearStatusPagePaintable
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.paintable"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#g:attr:paintable"
        })
#endif

-- VVV Prop "title"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@title@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' statusPage #title
-- @
getStatusPageTitle :: (MonadIO m, IsStatusPage o) => o -> m T.Text
getStatusPageTitle :: forall (m :: * -> *) o. (MonadIO m, IsStatusPage o) => o -> m Text
getStatusPageTitle o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getStatusPageTitle" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"title"

-- | Set the value of the “@title@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' statusPage [ #title 'Data.GI.Base.Attributes.:=' value ]
-- @
setStatusPageTitle :: (MonadIO m, IsStatusPage o) => o -> T.Text -> m ()
setStatusPageTitle :: forall (m :: * -> *) o.
(MonadIO m, IsStatusPage o) =>
o -> Text -> m ()
setStatusPageTitle o
obj Text
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 Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"title" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStatusPageTitle :: (IsStatusPage o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructStatusPageTitle :: forall o (m :: * -> *).
(IsStatusPage o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructStatusPageTitle Text
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 Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"title" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data StatusPageTitlePropertyInfo
instance AttrInfo StatusPageTitlePropertyInfo where
    type AttrAllowedOps StatusPageTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint StatusPageTitlePropertyInfo = IsStatusPage
    type AttrSetTypeConstraint StatusPageTitlePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint StatusPageTitlePropertyInfo = (~) T.Text
    type AttrTransferType StatusPageTitlePropertyInfo = T.Text
    type AttrGetType StatusPageTitlePropertyInfo = T.Text
    type AttrLabel StatusPageTitlePropertyInfo = "title"
    type AttrOrigin StatusPageTitlePropertyInfo = StatusPage
    attrGet = getStatusPageTitle
    attrSet = setStatusPageTitle
    attrTransfer _ v = do
        return v
    attrConstruct = constructStatusPageTitle
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.title"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#g:attr:title"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList StatusPage
type instance O.AttributeList StatusPage = StatusPageAttributeList
type StatusPageAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("child", StatusPageChildPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("description", StatusPageDescriptionPropertyInfo), '("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), '("iconName", StatusPageIconNamePropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("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), '("paintable", StatusPagePaintablePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("title", StatusPageTitlePropertyInfo), '("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, *)])
#endif

#if defined(ENABLE_OVERLOADING)
statusPageChild :: AttrLabelProxy "child"
statusPageChild = AttrLabelProxy

statusPageDescription :: AttrLabelProxy "description"
statusPageDescription = AttrLabelProxy

statusPageIconName :: AttrLabelProxy "iconName"
statusPageIconName = AttrLabelProxy

statusPagePaintable :: AttrLabelProxy "paintable"
statusPagePaintable = AttrLabelProxy

statusPageTitle :: AttrLabelProxy "title"
statusPageTitle = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList StatusPage = StatusPageSignalList
type StatusPageSignalList = ('[ '("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, *)])

#endif

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

foreign import ccall "adw_status_page_new" adw_status_page_new :: 
    IO (Ptr StatusPage)

-- | Creates a new @AdwStatusPage@.
-- 
-- /Since: 1.0/
statusPageNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m StatusPage
    -- ^ __Returns:__ the newly created @AdwStatusPage@
statusPageNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m StatusPage
statusPageNew  = IO StatusPage -> m StatusPage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StatusPage -> m StatusPage) -> IO StatusPage -> m StatusPage
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
result <- IO (Ptr StatusPage)
adw_status_page_new
    Text -> Ptr StatusPage -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"statusPageNew" Ptr StatusPage
result
    StatusPage
result' <- ((ManagedPtr StatusPage -> StatusPage)
-> Ptr StatusPage -> IO StatusPage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr StatusPage -> StatusPage
StatusPage) Ptr StatusPage
result
    StatusPage -> IO StatusPage
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return StatusPage
result'

#if defined(ENABLE_OVERLOADING)
#endif

-- method StatusPage::get_child
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Gtk" , name = "Widget" })
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_get_child" adw_status_page_get_child :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    IO (Ptr Gtk.Widget.Widget)

-- | Gets the child widget of /@self@/.
-- 
-- /Since: 1.0/
statusPageGetChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> m (Maybe Gtk.Widget.Widget)
    -- ^ __Returns:__ the child widget of /@self@/
statusPageGetChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> m (Maybe Widget)
statusPageGetChild a
self = IO (Maybe Widget) -> m (Maybe Widget)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Widget) -> m (Maybe Widget))
-> IO (Maybe Widget) -> m (Maybe Widget)
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
result <- Ptr StatusPage -> IO (Ptr Widget)
adw_status_page_get_child Ptr StatusPage
self'
    Maybe Widget
maybeResult <- Ptr Widget -> (Ptr Widget -> IO Widget) -> IO (Maybe Widget)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Widget
result ((Ptr Widget -> IO Widget) -> IO (Maybe Widget))
-> (Ptr Widget -> IO Widget) -> IO (Maybe Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
result' -> do
        Widget
result'' <- ((ManagedPtr Widget -> Widget) -> Ptr Widget -> IO Widget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Widget -> Widget
Gtk.Widget.Widget) Ptr Widget
result'
        Widget -> IO Widget
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Widget
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Widget -> IO (Maybe Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Widget
maybeResult

#if defined(ENABLE_OVERLOADING)
data StatusPageGetChildMethodInfo
instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageGetChildMethodInfo a signature where
    overloadedMethod = statusPageGetChild

instance O.OverloadedMethodInfo StatusPageGetChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageGetChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageGetChild"
        })


#endif

-- method StatusPage::get_description
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_get_description" adw_status_page_get_description :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    IO CString

-- | Gets the description for /@self@/.
-- 
-- /Since: 1.0/
statusPageGetDescription ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the description
statusPageGetDescription :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> m (Maybe Text)
statusPageGetDescription a
self = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr StatusPage -> IO CString
adw_status_page_get_description Ptr StatusPage
self'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data StatusPageGetDescriptionMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageGetDescriptionMethodInfo a signature where
    overloadedMethod = statusPageGetDescription

instance O.OverloadedMethodInfo StatusPageGetDescriptionMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageGetDescription",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageGetDescription"
        })


#endif

-- method StatusPage::get_icon_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_get_icon_name" adw_status_page_get_icon_name :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    IO CString

-- | Gets the icon name for /@self@/.
-- 
-- /Since: 1.0/
statusPageGetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the icon name
statusPageGetIconName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> m (Maybe Text)
statusPageGetIconName a
self = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr StatusPage -> IO CString
adw_status_page_get_icon_name Ptr StatusPage
self'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data StatusPageGetIconNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageGetIconNameMethodInfo a signature where
    overloadedMethod = statusPageGetIconName

instance O.OverloadedMethodInfo StatusPageGetIconNameMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageGetIconName",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageGetIconName"
        })


#endif

-- method StatusPage::get_paintable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Gdk" , name = "Paintable" })
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_get_paintable" adw_status_page_get_paintable :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    IO (Ptr Gdk.Paintable.Paintable)

-- | Gets the paintable for /@self@/.
-- 
-- /Since: 1.0/
statusPageGetPaintable ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> m (Maybe Gdk.Paintable.Paintable)
    -- ^ __Returns:__ the paintable
statusPageGetPaintable :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> m (Maybe Paintable)
statusPageGetPaintable a
self = IO (Maybe Paintable) -> m (Maybe Paintable)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Paintable) -> m (Maybe Paintable))
-> IO (Maybe Paintable) -> m (Maybe Paintable)
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Paintable
result <- Ptr StatusPage -> IO (Ptr Paintable)
adw_status_page_get_paintable Ptr StatusPage
self'
    Maybe Paintable
maybeResult <- Ptr Paintable
-> (Ptr Paintable -> IO Paintable) -> IO (Maybe Paintable)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Paintable
result ((Ptr Paintable -> IO Paintable) -> IO (Maybe Paintable))
-> (Ptr Paintable -> IO Paintable) -> IO (Maybe Paintable)
forall a b. (a -> b) -> a -> b
$ \Ptr Paintable
result' -> do
        Paintable
result'' <- ((ManagedPtr Paintable -> Paintable)
-> Ptr Paintable -> IO Paintable
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Paintable -> Paintable
Gdk.Paintable.Paintable) Ptr Paintable
result'
        Paintable -> IO Paintable
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Paintable
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Paintable -> IO (Maybe Paintable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Paintable
maybeResult

#if defined(ENABLE_OVERLOADING)
data StatusPageGetPaintableMethodInfo
instance (signature ~ (m (Maybe Gdk.Paintable.Paintable)), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageGetPaintableMethodInfo a signature where
    overloadedMethod = statusPageGetPaintable

instance O.OverloadedMethodInfo StatusPageGetPaintableMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageGetPaintable",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageGetPaintable"
        })


#endif

-- method StatusPage::get_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_get_title" adw_status_page_get_title :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    IO CString

-- | Gets the title for /@self@/.
-- 
-- /Since: 1.0/
statusPageGetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> m T.Text
    -- ^ __Returns:__ the title
statusPageGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> m Text
statusPageGetTitle a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr StatusPage -> IO CString
adw_status_page_get_title Ptr StatusPage
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"statusPageGetTitle" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data StatusPageGetTitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageGetTitleMethodInfo a signature where
    overloadedMethod = statusPageGetTitle

instance O.OverloadedMethodInfo StatusPageGetTitleMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageGetTitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageGetTitle"
        })


#endif

-- method StatusPage::set_child
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "child"
--           , argType = TInterface Name { namespace = "Gtk" , name = "Widget" }
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the child widget" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_set_child" adw_status_page_set_child :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
    IO ()

-- | Sets the child widget of /@self@/.
-- 
-- /Since: 1.0/
statusPageSetChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a, Gtk.Widget.IsWidget b) =>
    a
    -- ^ /@self@/: a status page
    -> Maybe (b)
    -- ^ /@child@/: the child widget
    -> m ()
statusPageSetChild :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsStatusPage a, IsWidget b) =>
a -> Maybe b -> m ()
statusPageSetChild a
self Maybe b
child = 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
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
maybeChild <- case Maybe b
child of
        Maybe b
Nothing -> Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Widget
forall a. Ptr a
nullPtr
        Just b
jChild -> do
            Ptr Widget
jChild' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jChild
            Ptr Widget -> IO (Ptr Widget)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Widget
jChild'
    Ptr StatusPage -> Ptr Widget -> IO ()
adw_status_page_set_child Ptr StatusPage
self' Ptr Widget
maybeChild
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
child b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StatusPageSetChildMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsStatusPage a, Gtk.Widget.IsWidget b) => O.OverloadedMethod StatusPageSetChildMethodInfo a signature where
    overloadedMethod = statusPageSetChild

instance O.OverloadedMethodInfo StatusPageSetChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageSetChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageSetChild"
        })


#endif

-- method StatusPage::set_description
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "description"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the description" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_set_description" adw_status_page_set_description :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    CString ->                              -- description : TBasicType TUTF8
    IO ()

-- | Sets the description for /@self@/.
-- 
-- The description is displayed below the title.
-- 
-- /Since: 1.0/
statusPageSetDescription ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> Maybe (T.Text)
    -- ^ /@description@/: the description
    -> m ()
statusPageSetDescription :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> Maybe Text -> m ()
statusPageSetDescription a
self Maybe Text
description = 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
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
maybeDescription <- case Maybe Text
description of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jDescription -> do
            CString
jDescription' <- Text -> IO CString
textToCString Text
jDescription
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jDescription'
    Ptr StatusPage -> CString -> IO ()
adw_status_page_set_description Ptr StatusPage
self' CString
maybeDescription
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeDescription
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StatusPageSetDescriptionMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageSetDescriptionMethodInfo a signature where
    overloadedMethod = statusPageSetDescription

instance O.OverloadedMethodInfo StatusPageSetDescriptionMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageSetDescription",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageSetDescription"
        })


#endif

-- method StatusPage::set_icon_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "icon_name"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the icon name" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_set_icon_name" adw_status_page_set_icon_name :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    CString ->                              -- icon_name : TBasicType TUTF8
    IO ()

-- | Sets the icon name for /@self@/.
-- 
-- Changing this will set [property/@statusPage@/:paintable] to @NULL@.
-- 
-- /Since: 1.0/
statusPageSetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> Maybe (T.Text)
    -- ^ /@iconName@/: the icon name
    -> m ()
statusPageSetIconName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> Maybe Text -> m ()
statusPageSetIconName a
self Maybe Text
iconName = 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
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
maybeIconName <- case Maybe Text
iconName of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jIconName -> do
            CString
jIconName' <- Text -> IO CString
textToCString Text
jIconName
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jIconName'
    Ptr StatusPage -> CString -> IO ()
adw_status_page_set_icon_name Ptr StatusPage
self' CString
maybeIconName
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeIconName
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StatusPageSetIconNameMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageSetIconNameMethodInfo a signature where
    overloadedMethod = statusPageSetIconName

instance O.OverloadedMethodInfo StatusPageSetIconNameMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageSetIconName",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageSetIconName"
        })


#endif

-- method StatusPage::set_paintable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "paintable"
--           , argType =
--               TInterface Name { namespace = "Gdk" , name = "Paintable" }
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the paintable" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_set_paintable" adw_status_page_set_paintable :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    Ptr Gdk.Paintable.Paintable ->          -- paintable : TInterface (Name {namespace = "Gdk", name = "Paintable"})
    IO ()

-- | Sets the paintable for /@self@/.
-- 
-- Changing this will set [property/@statusPage@/:icon-name] to @NULL@.
-- 
-- /Since: 1.0/
statusPageSetPaintable ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a, Gdk.Paintable.IsPaintable b) =>
    a
    -- ^ /@self@/: a status page
    -> Maybe (b)
    -- ^ /@paintable@/: the paintable
    -> m ()
statusPageSetPaintable :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsStatusPage a, IsPaintable b) =>
a -> Maybe b -> m ()
statusPageSetPaintable a
self Maybe b
paintable = 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
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Paintable
maybePaintable <- case Maybe b
paintable of
        Maybe b
Nothing -> Ptr Paintable -> IO (Ptr Paintable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Paintable
forall a. Ptr a
nullPtr
        Just b
jPaintable -> do
            Ptr Paintable
jPaintable' <- b -> IO (Ptr Paintable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jPaintable
            Ptr Paintable -> IO (Ptr Paintable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Paintable
jPaintable'
    Ptr StatusPage -> Ptr Paintable -> IO ()
adw_status_page_set_paintable Ptr StatusPage
self' Ptr Paintable
maybePaintable
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
paintable b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StatusPageSetPaintableMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsStatusPage a, Gdk.Paintable.IsPaintable b) => O.OverloadedMethod StatusPageSetPaintableMethodInfo a signature where
    overloadedMethod = statusPageSetPaintable

instance O.OverloadedMethodInfo StatusPageSetPaintableMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageSetPaintable",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageSetPaintable"
        })


#endif

-- method StatusPage::set_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "StatusPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a status page" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "title"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the title" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_status_page_set_title" adw_status_page_set_title :: 
    Ptr StatusPage ->                       -- self : TInterface (Name {namespace = "Adw", name = "StatusPage"})
    CString ->                              -- title : TBasicType TUTF8
    IO ()

-- | Sets the title for /@self@/.
-- 
-- The title is displayed below the icon.
-- 
-- /Since: 1.0/
statusPageSetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsStatusPage a) =>
    a
    -- ^ /@self@/: a status page
    -> T.Text
    -- ^ /@title@/: the title
    -> m ()
statusPageSetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStatusPage a) =>
a -> Text -> m ()
statusPageSetTitle a
self Text
title = 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
    Ptr StatusPage
self' <- a -> IO (Ptr StatusPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
title' <- Text -> IO CString
textToCString Text
title
    Ptr StatusPage -> CString -> IO ()
adw_status_page_set_title Ptr StatusPage
self' CString
title'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
title'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StatusPageSetTitleMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusPage a) => O.OverloadedMethod StatusPageSetTitleMethodInfo a signature where
    overloadedMethod = statusPageSetTitle

instance O.OverloadedMethodInfo StatusPageSetTitleMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.StatusPage.statusPageSetTitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-StatusPage.html#v:statusPageSetTitle"
        })


#endif