{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A t'GI.Gtk.Objects.ListBoxRow.ListBoxRow' used to reveal widgets.
-- 
-- The @AdwExpanderRow@ widget allows the user to reveal or hide widgets below
-- it. It also allows the user to enable the expansion of the row, allowing to
-- disable all that the row contains.
-- 
-- == AdwExpanderRow as GtkBuildable
-- 
-- The @AdwExpanderRow@ implementation of the t'GI.Gtk.Interfaces.Buildable.Buildable' interface
-- supports adding a child as an action widget by specifying “action” as the
-- “type” attribute of a \<child> element.
-- 
-- It also supports adding it as a prefix widget by specifying “prefix” as the
-- “type” attribute of a \<child> element.
-- 
-- == CSS nodes
-- 
-- @AdwExpanderRow@ has a main CSS node with name @row@ and the @.expander@
-- style class. It has the @.empty@ style class when it contains no children.
-- 
-- It contains the subnodes @row.header@ for its main embedded row,
-- @list.nested@ for the list it can expand, and @image.expander-row-arrow@ for
-- its arrow.
-- 
-- /Since: 1.0/

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

module GI.Adw.Objects.ExpanderRow
    ( 

-- * Exported types
    ExpanderRow(..)                         ,
    IsExpanderRow                           ,
    toExpanderRow                           ,


 -- * 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"), [addAction]("GI.Adw.Objects.ExpanderRow#g:method:addAction"), [addController]("GI.Gtk.Objects.Widget#g:method:addController"), [addCssClass]("GI.Gtk.Objects.Widget#g:method:addCssClass"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addPrefix]("GI.Adw.Objects.ExpanderRow#g:method:addPrefix"), [addRow]("GI.Adw.Objects.ExpanderRow#g:method:addRow"), [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"), [changed]("GI.Gtk.Objects.ListBoxRow#g:method:changed"), [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"), [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"), [isSelected]("GI.Gtk.Objects.ListBoxRow#g:method:isSelected"), [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"), [remove]("GI.Adw.Objects.ExpanderRow#g:method:remove"), [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"), [getActionName]("GI.Gtk.Interfaces.Actionable#g:method:getActionName"), [getActionTargetValue]("GI.Gtk.Interfaces.Actionable#g:method:getActionTargetValue"), [getActivatable]("GI.Gtk.Objects.ListBoxRow#g:method:getActivatable"), [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.Gtk.Objects.ListBoxRow#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"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getEnableExpansion]("GI.Adw.Objects.ExpanderRow#g:method:getEnableExpansion"), [getExpanded]("GI.Adw.Objects.ExpanderRow#g:method:getExpanded"), [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"), [getHeader]("GI.Gtk.Objects.ListBoxRow#g:method:getHeader"), [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.ExpanderRow#g:method:getIconName"), [getIndex]("GI.Gtk.Objects.ListBoxRow#g:method:getIndex"), [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"), [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"), [getSelectable]("GI.Gtk.Objects.ListBoxRow#g:method:getSelectable"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getShowEnableSwitch]("GI.Adw.Objects.ExpanderRow#g:method:getShowEnableSwitch"), [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"), [getSubtitle]("GI.Adw.Objects.ExpanderRow#g:method:getSubtitle"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Adw.Objects.PreferencesRow#g:method:getTitle"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getUseUnderline]("GI.Adw.Objects.PreferencesRow#g:method:getUseUnderline"), [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
-- [setActionName]("GI.Gtk.Interfaces.Actionable#g:method:setActionName"), [setActionTargetValue]("GI.Gtk.Interfaces.Actionable#g:method:setActionTargetValue"), [setActivatable]("GI.Gtk.Objects.ListBoxRow#g:method:setActivatable"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChild]("GI.Gtk.Objects.ListBoxRow#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"), [setDetailedActionName]("GI.Gtk.Interfaces.Actionable#g:method:setDetailedActionName"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setEnableExpansion]("GI.Adw.Objects.ExpanderRow#g:method:setEnableExpansion"), [setExpanded]("GI.Adw.Objects.ExpanderRow#g:method:setExpanded"), [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"), [setHeader]("GI.Gtk.Objects.ListBoxRow#g:method:setHeader"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setIconName]("GI.Adw.Objects.ExpanderRow#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"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setSelectable]("GI.Gtk.Objects.ListBoxRow#g:method:setSelectable"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setShowEnableSwitch]("GI.Adw.Objects.ExpanderRow#g:method:setShowEnableSwitch"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setSubtitle]("GI.Adw.Objects.ExpanderRow#g:method:setSubtitle"), [setTitle]("GI.Adw.Objects.PreferencesRow#g:method:setTitle"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setUseUnderline]("GI.Adw.Objects.PreferencesRow#g:method:setUseUnderline"), [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)
    ResolveExpanderRowMethod                ,
#endif

-- ** addAction #method:addAction#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowAddActionMethodInfo          ,
#endif
    expanderRowAddAction                    ,


-- ** addPrefix #method:addPrefix#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowAddPrefixMethodInfo          ,
#endif
    expanderRowAddPrefix                    ,


-- ** addRow #method:addRow#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowAddRowMethodInfo             ,
#endif
    expanderRowAddRow                       ,


-- ** getEnableExpansion #method:getEnableExpansion#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowGetEnableExpansionMethodInfo ,
#endif
    expanderRowGetEnableExpansion           ,


-- ** getExpanded #method:getExpanded#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowGetExpandedMethodInfo        ,
#endif
    expanderRowGetExpanded                  ,


-- ** getIconName #method:getIconName#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowGetIconNameMethodInfo        ,
#endif
    expanderRowGetIconName                  ,


-- ** getShowEnableSwitch #method:getShowEnableSwitch#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowGetShowEnableSwitchMethodInfo,
#endif
    expanderRowGetShowEnableSwitch          ,


-- ** getSubtitle #method:getSubtitle#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowGetSubtitleMethodInfo        ,
#endif
    expanderRowGetSubtitle                  ,


-- ** new #method:new#

    expanderRowNew                          ,


-- ** remove #method:remove#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowRemoveMethodInfo             ,
#endif
    expanderRowRemove                       ,


-- ** setEnableExpansion #method:setEnableExpansion#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSetEnableExpansionMethodInfo ,
#endif
    expanderRowSetEnableExpansion           ,


-- ** setExpanded #method:setExpanded#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSetExpandedMethodInfo        ,
#endif
    expanderRowSetExpanded                  ,


-- ** setIconName #method:setIconName#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSetIconNameMethodInfo        ,
#endif
    expanderRowSetIconName                  ,


-- ** setShowEnableSwitch #method:setShowEnableSwitch#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSetShowEnableSwitchMethodInfo,
#endif
    expanderRowSetShowEnableSwitch          ,


-- ** setSubtitle #method:setSubtitle#

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSetSubtitleMethodInfo        ,
#endif
    expanderRowSetSubtitle                  ,




 -- * Properties


-- ** enableExpansion #attr:enableExpansion#
-- | Whether expansion is enabled.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ExpanderRowEnableExpansionPropertyInfo  ,
#endif
    constructExpanderRowEnableExpansion     ,
#if defined(ENABLE_OVERLOADING)
    expanderRowEnableExpansion              ,
#endif
    getExpanderRowEnableExpansion           ,
    setExpanderRowEnableExpansion           ,


-- ** expanded #attr:expanded#
-- | Whether the row is expanded.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ExpanderRowExpandedPropertyInfo         ,
#endif
    constructExpanderRowExpanded            ,
#if defined(ENABLE_OVERLOADING)
    expanderRowExpanded                     ,
#endif
    getExpanderRowExpanded                  ,
    setExpanderRowExpanded                  ,


-- ** iconName #attr:iconName#
-- | The icon name for this row.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ExpanderRowIconNamePropertyInfo         ,
#endif
    clearExpanderRowIconName                ,
    constructExpanderRowIconName            ,
#if defined(ENABLE_OVERLOADING)
    expanderRowIconName                     ,
#endif
    getExpanderRowIconName                  ,
    setExpanderRowIconName                  ,


-- ** showEnableSwitch #attr:showEnableSwitch#
-- | Whether the switch enabling the expansion is visible.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ExpanderRowShowEnableSwitchPropertyInfo ,
#endif
    constructExpanderRowShowEnableSwitch    ,
#if defined(ENABLE_OVERLOADING)
    expanderRowShowEnableSwitch             ,
#endif
    getExpanderRowShowEnableSwitch          ,
    setExpanderRowShowEnableSwitch          ,


-- ** subtitle #attr:subtitle#
-- | The subtitle for this row.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ExpanderRowSubtitlePropertyInfo         ,
#endif
    constructExpanderRowSubtitle            ,
#if defined(ENABLE_OVERLOADING)
    expanderRowSubtitle                     ,
#endif
    getExpanderRowSubtitle                  ,
    setExpanderRowSubtitle                  ,




    ) 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.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 {-# SOURCE #-} qualified GI.Adw.Objects.PreferencesRow as Adw.PreferencesRow
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
import qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import qualified GI.Gtk.Objects.ListBoxRow as Gtk.ListBoxRow
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

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

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

foreign import ccall "adw_expander_row_get_type"
    c_adw_expander_row_get_type :: IO B.Types.GType

instance B.Types.TypedObject ExpanderRow where
    glibType :: IO GType
glibType = IO GType
c_adw_expander_row_get_type

instance B.Types.GObject ExpanderRow

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

instance O.HasParentTypes ExpanderRow
type instance O.ParentTypes ExpanderRow = '[Adw.PreferencesRow.PreferencesRow, Gtk.ListBoxRow.ListBoxRow, Gtk.Widget.Widget, GObject.Object.Object, Gtk.Accessible.Accessible, Gtk.Actionable.Actionable, Gtk.Buildable.Buildable, Gtk.ConstraintTarget.ConstraintTarget]

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

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

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

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

#endif

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

#endif

-- VVV Prop "enable-expansion"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@enable-expansion@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' expanderRow #enableExpansion
-- @
getExpanderRowEnableExpansion :: (MonadIO m, IsExpanderRow o) => o -> m Bool
getExpanderRowEnableExpansion :: forall (m :: * -> *) o. (MonadIO m, IsExpanderRow o) => o -> m Bool
getExpanderRowEnableExpansion o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"enable-expansion"

-- | Set the value of the “@enable-expansion@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' expanderRow [ #enableExpansion 'Data.GI.Base.Attributes.:=' value ]
-- @
setExpanderRowEnableExpansion :: (MonadIO m, IsExpanderRow o) => o -> Bool -> m ()
setExpanderRowEnableExpansion :: forall (m :: * -> *) o.
(MonadIO m, IsExpanderRow o) =>
o -> Bool -> m ()
setExpanderRowEnableExpansion o
obj Bool
val = IO () -> m ()
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 -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"enable-expansion" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@enable-expansion@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructExpanderRowEnableExpansion :: (IsExpanderRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructExpanderRowEnableExpansion :: forall o (m :: * -> *).
(IsExpanderRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructExpanderRowEnableExpansion Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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 (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 -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"enable-expansion" Bool
val

#if defined(ENABLE_OVERLOADING)
data ExpanderRowEnableExpansionPropertyInfo
instance AttrInfo ExpanderRowEnableExpansionPropertyInfo where
    type AttrAllowedOps ExpanderRowEnableExpansionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ExpanderRowEnableExpansionPropertyInfo = IsExpanderRow
    type AttrSetTypeConstraint ExpanderRowEnableExpansionPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint ExpanderRowEnableExpansionPropertyInfo = (~) Bool
    type AttrTransferType ExpanderRowEnableExpansionPropertyInfo = Bool
    type AttrGetType ExpanderRowEnableExpansionPropertyInfo = Bool
    type AttrLabel ExpanderRowEnableExpansionPropertyInfo = "enable-expansion"
    type AttrOrigin ExpanderRowEnableExpansionPropertyInfo = ExpanderRow
    attrGet = getExpanderRowEnableExpansion
    attrSet = setExpanderRowEnableExpansion
    attrTransfer _ v = do
        return v
    attrConstruct = constructExpanderRowEnableExpansion
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ExpanderRow.enableExpansion"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.1/docs/GI-Adw-Objects-ExpanderRow.html#g:attr:enableExpansion"
        })
#endif

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

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

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

-- | Construct a `GValueConstruct` with valid value for the “@expanded@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructExpanderRowExpanded :: (IsExpanderRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructExpanderRowExpanded :: forall o (m :: * -> *).
(IsExpanderRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructExpanderRowExpanded Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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 (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 -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"expanded" Bool
val

#if defined(ENABLE_OVERLOADING)
data ExpanderRowExpandedPropertyInfo
instance AttrInfo ExpanderRowExpandedPropertyInfo where
    type AttrAllowedOps ExpanderRowExpandedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ExpanderRowExpandedPropertyInfo = IsExpanderRow
    type AttrSetTypeConstraint ExpanderRowExpandedPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint ExpanderRowExpandedPropertyInfo = (~) Bool
    type AttrTransferType ExpanderRowExpandedPropertyInfo = Bool
    type AttrGetType ExpanderRowExpandedPropertyInfo = Bool
    type AttrLabel ExpanderRowExpandedPropertyInfo = "expanded"
    type AttrOrigin ExpanderRowExpandedPropertyInfo = ExpanderRow
    attrGet = getExpanderRowExpanded
    attrSet = setExpanderRowExpanded
    attrTransfer _ v = do
        return v
    attrConstruct = constructExpanderRowExpanded
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ExpanderRow.expanded"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.1/docs/GI-Adw-Objects-ExpanderRow.html#g:attr:expanded"
        })
#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' expanderRow #iconName
-- @
getExpanderRowIconName :: (MonadIO m, IsExpanderRow o) => o -> m (Maybe T.Text)
getExpanderRowIconName :: forall (m :: * -> *) o.
(MonadIO m, IsExpanderRow o) =>
o -> m (Maybe Text)
getExpanderRowIconName o
obj = IO (Maybe Text) -> m (Maybe Text)
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' expanderRow [ #iconName 'Data.GI.Base.Attributes.:=' value ]
-- @
setExpanderRowIconName :: (MonadIO m, IsExpanderRow o) => o -> T.Text -> m ()
setExpanderRowIconName :: forall (m :: * -> *) o.
(MonadIO m, IsExpanderRow o) =>
o -> Text -> m ()
setExpanderRowIconName o
obj Text
val = IO () -> m ()
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`.
constructExpanderRowIconName :: (IsExpanderRow o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructExpanderRowIconName :: forall o (m :: * -> *).
(IsExpanderRow o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructExpanderRowIconName Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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 (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
-- @
clearExpanderRowIconName :: (MonadIO m, IsExpanderRow o) => o -> m ()
clearExpanderRowIconName :: forall (m :: * -> *) o. (MonadIO m, IsExpanderRow o) => o -> m ()
clearExpanderRowIconName o
obj = IO () -> m ()
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 ExpanderRowIconNamePropertyInfo
instance AttrInfo ExpanderRowIconNamePropertyInfo where
    type AttrAllowedOps ExpanderRowIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint ExpanderRowIconNamePropertyInfo = IsExpanderRow
    type AttrSetTypeConstraint ExpanderRowIconNamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint ExpanderRowIconNamePropertyInfo = (~) T.Text
    type AttrTransferType ExpanderRowIconNamePropertyInfo = T.Text
    type AttrGetType ExpanderRowIconNamePropertyInfo = (Maybe T.Text)
    type AttrLabel ExpanderRowIconNamePropertyInfo = "icon-name"
    type AttrOrigin ExpanderRowIconNamePropertyInfo = ExpanderRow
    attrGet = getExpanderRowIconName
    attrSet = setExpanderRowIconName
    attrTransfer _ v = do
        return v
    attrConstruct = constructExpanderRowIconName
    attrClear = clearExpanderRowIconName
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ExpanderRow.iconName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.1/docs/GI-Adw-Objects-ExpanderRow.html#g:attr:iconName"
        })
#endif

-- VVV Prop "show-enable-switch"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@show-enable-switch@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' expanderRow #showEnableSwitch
-- @
getExpanderRowShowEnableSwitch :: (MonadIO m, IsExpanderRow o) => o -> m Bool
getExpanderRowShowEnableSwitch :: forall (m :: * -> *) o. (MonadIO m, IsExpanderRow o) => o -> m Bool
getExpanderRowShowEnableSwitch o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"show-enable-switch"

-- | Set the value of the “@show-enable-switch@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' expanderRow [ #showEnableSwitch 'Data.GI.Base.Attributes.:=' value ]
-- @
setExpanderRowShowEnableSwitch :: (MonadIO m, IsExpanderRow o) => o -> Bool -> m ()
setExpanderRowShowEnableSwitch :: forall (m :: * -> *) o.
(MonadIO m, IsExpanderRow o) =>
o -> Bool -> m ()
setExpanderRowShowEnableSwitch o
obj Bool
val = IO () -> m ()
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 -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"show-enable-switch" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@show-enable-switch@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructExpanderRowShowEnableSwitch :: (IsExpanderRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructExpanderRowShowEnableSwitch :: forall o (m :: * -> *).
(IsExpanderRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructExpanderRowShowEnableSwitch Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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 (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 -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"show-enable-switch" Bool
val

#if defined(ENABLE_OVERLOADING)
data ExpanderRowShowEnableSwitchPropertyInfo
instance AttrInfo ExpanderRowShowEnableSwitchPropertyInfo where
    type AttrAllowedOps ExpanderRowShowEnableSwitchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ExpanderRowShowEnableSwitchPropertyInfo = IsExpanderRow
    type AttrSetTypeConstraint ExpanderRowShowEnableSwitchPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint ExpanderRowShowEnableSwitchPropertyInfo = (~) Bool
    type AttrTransferType ExpanderRowShowEnableSwitchPropertyInfo = Bool
    type AttrGetType ExpanderRowShowEnableSwitchPropertyInfo = Bool
    type AttrLabel ExpanderRowShowEnableSwitchPropertyInfo = "show-enable-switch"
    type AttrOrigin ExpanderRowShowEnableSwitchPropertyInfo = ExpanderRow
    attrGet = getExpanderRowShowEnableSwitch
    attrSet = setExpanderRowShowEnableSwitch
    attrTransfer _ v = do
        return v
    attrConstruct = constructExpanderRowShowEnableSwitch
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ExpanderRow.showEnableSwitch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.1/docs/GI-Adw-Objects-ExpanderRow.html#g:attr:showEnableSwitch"
        })
#endif

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

-- | Get the value of the “@subtitle@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' expanderRow #subtitle
-- @
getExpanderRowSubtitle :: (MonadIO m, IsExpanderRow o) => o -> m T.Text
getExpanderRowSubtitle :: forall (m :: * -> *) o. (MonadIO m, IsExpanderRow o) => o -> m Text
getExpanderRowSubtitle o
obj = IO Text -> m Text
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
"getExpanderRowSubtitle" (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
"subtitle"

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

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

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

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ExpanderRow
type instance O.AttributeList ExpanderRow = ExpanderRowAttributeList
type ExpanderRowAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("activatable", Gtk.ListBoxRow.ListBoxRowActivatablePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("child", Gtk.ListBoxRow.ListBoxRowChildPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("enableExpansion", ExpanderRowEnableExpansionPropertyInfo), '("expanded", ExpanderRowExpandedPropertyInfo), '("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", ExpanderRowIconNamePropertyInfo), '("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), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectable", Gtk.ListBoxRow.ListBoxRowSelectablePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showEnableSwitch", ExpanderRowShowEnableSwitchPropertyInfo), '("subtitle", ExpanderRowSubtitlePropertyInfo), '("title", Adw.PreferencesRow.PreferencesRowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useUnderline", Adw.PreferencesRow.PreferencesRowUseUnderlinePropertyInfo), '("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)
expanderRowEnableExpansion :: AttrLabelProxy "enableExpansion"
expanderRowEnableExpansion = AttrLabelProxy

expanderRowExpanded :: AttrLabelProxy "expanded"
expanderRowExpanded = AttrLabelProxy

expanderRowIconName :: AttrLabelProxy "iconName"
expanderRowIconName = AttrLabelProxy

expanderRowShowEnableSwitch :: AttrLabelProxy "showEnableSwitch"
expanderRowShowEnableSwitch = AttrLabelProxy

expanderRowSubtitle :: AttrLabelProxy "subtitle"
expanderRowSubtitle = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ExpanderRow = ExpanderRowSignalList
type ExpanderRowSignalList = ('[ '("activate", Gtk.ListBoxRow.ListBoxRowActivateSignalInfo), '("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 ExpanderRow::new
-- method type : Constructor
-- Args: []
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Adw" , name = "ExpanderRow" })
-- throws : False
-- Skip return : False

foreign import ccall "adw_expander_row_new" adw_expander_row_new :: 
    IO (Ptr ExpanderRow)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method ExpanderRow::add_action
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "widget"
--           , argType = TInterface Name { namespace = "Gtk" , name = "Widget" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a 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_expander_row_add_action" adw_expander_row_add_action :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
    IO ()

-- | Adds an action widget to /@self@/.
-- 
-- /Since: 1.0/
expanderRowAddAction ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> b
    -- ^ /@widget@/: a widget
    -> m ()
expanderRowAddAction :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsExpanderRow a, IsWidget b) =>
a -> b -> m ()
expanderRowAddAction a
self b
widget = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
widget' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
widget
    Ptr ExpanderRow -> Ptr Widget -> IO ()
adw_expander_row_add_action Ptr ExpanderRow
self' Ptr Widget
widget'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
widget
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowAddActionMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) => O.OverloadedMethod ExpanderRowAddActionMethodInfo a signature where
    overloadedMethod = expanderRowAddAction

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


#endif

-- method ExpanderRow::add_prefix
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "widget"
--           , argType = TInterface Name { namespace = "Gtk" , name = "Widget" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a 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_expander_row_add_prefix" adw_expander_row_add_prefix :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
    IO ()

-- | Adds a prefix widget to /@self@/.
-- 
-- /Since: 1.0/
expanderRowAddPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> b
    -- ^ /@widget@/: a widget
    -> m ()
expanderRowAddPrefix :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsExpanderRow a, IsWidget b) =>
a -> b -> m ()
expanderRowAddPrefix a
self b
widget = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
widget' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
widget
    Ptr ExpanderRow -> Ptr Widget -> IO ()
adw_expander_row_add_prefix Ptr ExpanderRow
self' Ptr Widget
widget'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
widget
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowAddPrefixMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) => O.OverloadedMethod ExpanderRowAddPrefixMethodInfo a signature where
    overloadedMethod = expanderRowAddPrefix

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


#endif

-- method ExpanderRow::add_row
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , 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 = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a 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_expander_row_add_row" adw_expander_row_add_row :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
    IO ()

-- | Adds a widget to /@self@/.
-- 
-- The widget will appear in the expanding list below /@self@/.
-- 
-- /Since: 1.0/
expanderRowAddRow ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> b
    -- ^ /@child@/: a widget
    -> m ()
expanderRowAddRow :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsExpanderRow a, IsWidget b) =>
a -> b -> m ()
expanderRowAddRow a
self b
child = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
child' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
child
    Ptr ExpanderRow -> Ptr Widget -> IO ()
adw_expander_row_add_row Ptr ExpanderRow
self' Ptr Widget
child'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
child
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowAddRowMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) => O.OverloadedMethod ExpanderRowAddRowMethodInfo a signature where
    overloadedMethod = expanderRowAddRow

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


#endif

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

foreign import ccall "adw_expander_row_get_enable_expansion" adw_expander_row_get_enable_expansion :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    IO CInt

-- | Gets whether the expansion of /@self@/ is enabled.
-- 
-- /Since: 1.0/
expanderRowGetEnableExpansion ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> m Bool
    -- ^ __Returns:__ whether the expansion of /@self@/ is enabled.
expanderRowGetEnableExpansion :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> m Bool
expanderRowGetEnableExpansion a
self = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ExpanderRow -> IO CInt
adw_expander_row_get_enable_expansion Ptr ExpanderRow
self'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data ExpanderRowGetEnableExpansionMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowGetEnableExpansionMethodInfo a signature where
    overloadedMethod = expanderRowGetEnableExpansion

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


#endif

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

foreign import ccall "adw_expander_row_get_expanded" adw_expander_row_get_expanded :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    IO CInt

-- | Gets whether /@self@/ is expanded.
-- 
-- /Since: 1.0/
expanderRowGetExpanded ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> m Bool
    -- ^ __Returns:__ whether /@self@/ is expanded
expanderRowGetExpanded :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> m Bool
expanderRowGetExpanded a
self = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ExpanderRow -> IO CInt
adw_expander_row_get_expanded Ptr ExpanderRow
self'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data ExpanderRowGetExpandedMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowGetExpandedMethodInfo a signature where
    overloadedMethod = expanderRowGetExpanded

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


#endif

-- method ExpanderRow::get_icon_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , 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_expander_row_get_icon_name" adw_expander_row_get_icon_name :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    IO CString

-- | Gets the icon name for /@self@/.
-- 
-- /Since: 1.0/
expanderRowGetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the icon name for /@self@/
expanderRowGetIconName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> m (Maybe Text)
expanderRowGetIconName a
self = IO (Maybe Text) -> m (Maybe Text)
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 ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr ExpanderRow -> IO CString
adw_expander_row_get_icon_name Ptr ExpanderRow
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 (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 (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

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

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


#endif

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

foreign import ccall "adw_expander_row_get_show_enable_switch" adw_expander_row_get_show_enable_switch :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    IO CInt

-- | Gets whether the switch enabling the expansion of /@self@/ is visible.
-- 
-- /Since: 1.0/
expanderRowGetShowEnableSwitch ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> m Bool
    -- ^ __Returns:__ whether the switch enabling the expansion is visible
expanderRowGetShowEnableSwitch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> m Bool
expanderRowGetShowEnableSwitch a
self = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ExpanderRow -> IO CInt
adw_expander_row_get_show_enable_switch Ptr ExpanderRow
self'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data ExpanderRowGetShowEnableSwitchMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowGetShowEnableSwitchMethodInfo a signature where
    overloadedMethod = expanderRowGetShowEnableSwitch

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


#endif

-- method ExpanderRow::get_subtitle
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , 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_expander_row_get_subtitle" adw_expander_row_get_subtitle :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    IO CString

-- | Gets the subtitle for /@self@/.
-- 
-- /Since: 1.0/
expanderRowGetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> m T.Text
    -- ^ __Returns:__ the subtitle for /@self@/
expanderRowGetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> m Text
expanderRowGetSubtitle a
self = IO Text -> m Text
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 ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr ExpanderRow -> IO CString
adw_expander_row_get_subtitle Ptr ExpanderRow
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"expanderRowGetSubtitle" 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 (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data ExpanderRowGetSubtitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowGetSubtitleMethodInfo a signature where
    overloadedMethod = expanderRowGetSubtitle

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


#endif

-- method ExpanderRow::remove
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , 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 = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | /No description available in the introspection data./
expanderRowRemove ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) =>
    a
    -> b
    -> m ()
expanderRowRemove :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsExpanderRow a, IsWidget b) =>
a -> b -> m ()
expanderRowRemove a
self b
child = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
child' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
child
    Ptr ExpanderRow -> Ptr Widget -> IO ()
adw_expander_row_remove Ptr ExpanderRow
self' Ptr Widget
child'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
child
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowRemoveMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsExpanderRow a, Gtk.Widget.IsWidget b) => O.OverloadedMethod ExpanderRowRemoveMethodInfo a signature where
    overloadedMethod = expanderRowRemove

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


#endif

-- method ExpanderRow::set_enable_expansion
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "enable_expansion"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "whether to enable the expansion"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_expander_row_set_enable_expansion" adw_expander_row_set_enable_expansion :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    CInt ->                                 -- enable_expansion : TBasicType TBoolean
    IO ()

-- | Sets whether the expansion of /@self@/ is enabled.
-- 
-- /Since: 1.0/
expanderRowSetEnableExpansion ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> Bool
    -- ^ /@enableExpansion@/: whether to enable the expansion
    -> m ()
expanderRowSetEnableExpansion :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> Bool -> m ()
expanderRowSetEnableExpansion a
self Bool
enableExpansion = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let enableExpansion' :: CInt
enableExpansion' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
enableExpansion
    Ptr ExpanderRow -> CInt -> IO ()
adw_expander_row_set_enable_expansion Ptr ExpanderRow
self' CInt
enableExpansion'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowSetEnableExpansionMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowSetEnableExpansionMethodInfo a signature where
    overloadedMethod = expanderRowSetEnableExpansion

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


#endif

-- method ExpanderRow::set_expanded
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "expanded"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "whether to expand the row"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_expander_row_set_expanded" adw_expander_row_set_expanded :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    CInt ->                                 -- expanded : TBasicType TBoolean
    IO ()

-- | Sets whether /@self@/ is expanded.
-- 
-- /Since: 1.0/
expanderRowSetExpanded ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> Bool
    -- ^ /@expanded@/: whether to expand the row
    -> m ()
expanderRowSetExpanded :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> Bool -> m ()
expanderRowSetExpanded a
self Bool
expanded = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let expanded' :: CInt
expanded' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
expanded
    Ptr ExpanderRow -> CInt -> IO ()
adw_expander_row_set_expanded Ptr ExpanderRow
self' CInt
expanded'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowSetExpandedMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowSetExpandedMethodInfo a signature where
    overloadedMethod = expanderRowSetExpanded

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


#endif

-- method ExpanderRow::set_icon_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , 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_expander_row_set_icon_name" adw_expander_row_set_icon_name :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    CString ->                              -- icon_name : TBasicType TUTF8
    IO ()

-- | Sets the icon name for /@self@/.
-- 
-- /Since: 1.0/
expanderRowSetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> Maybe (T.Text)
    -- ^ /@iconName@/: the icon name
    -> m ()
expanderRowSetIconName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> Maybe Text -> m ()
expanderRowSetIconName a
self Maybe Text
iconName = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
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 (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 (m :: * -> *) a. Monad m => a -> m a
return CString
jIconName'
    Ptr ExpanderRow -> CString -> IO ()
adw_expander_row_set_icon_name Ptr ExpanderRow
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 (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif

-- method ExpanderRow::set_show_enable_switch
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ExpanderRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwExpanderRow`" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "show_enable_switch"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "whether to show the switch enabling the expansion"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_expander_row_set_show_enable_switch" adw_expander_row_set_show_enable_switch :: 
    Ptr ExpanderRow ->                      -- self : TInterface (Name {namespace = "Adw", name = "ExpanderRow"})
    CInt ->                                 -- show_enable_switch : TBasicType TBoolean
    IO ()

-- | Sets whether the switch enabling the expansion of /@self@/ is visible.
-- 
-- /Since: 1.0/
expanderRowSetShowEnableSwitch ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> Bool
    -- ^ /@showEnableSwitch@/: whether to show the switch enabling the expansion
    -> m ()
expanderRowSetShowEnableSwitch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> Bool -> m ()
expanderRowSetShowEnableSwitch a
self Bool
showEnableSwitch = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let showEnableSwitch' :: CInt
showEnableSwitch' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
showEnableSwitch
    Ptr ExpanderRow -> CInt -> IO ()
adw_expander_row_set_show_enable_switch Ptr ExpanderRow
self' CInt
showEnableSwitch'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ExpanderRowSetShowEnableSwitchMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsExpanderRow a) => O.OverloadedMethod ExpanderRowSetShowEnableSwitchMethodInfo a signature where
    overloadedMethod = expanderRowSetShowEnableSwitch

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


#endif

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

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

-- | Sets the subtitle for /@self@/.
-- 
-- /Since: 1.0/
expanderRowSetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsExpanderRow a) =>
    a
    -- ^ /@self@/: a @AdwExpanderRow@
    -> T.Text
    -- ^ /@subtitle@/: the subtitle
    -> m ()
expanderRowSetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsExpanderRow a) =>
a -> Text -> m ()
expanderRowSetSubtitle a
self Text
subtitle = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ExpanderRow
self' <- a -> IO (Ptr ExpanderRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
subtitle' <- Text -> IO CString
textToCString Text
subtitle
    Ptr ExpanderRow -> CString -> IO ()
adw_expander_row_set_subtitle Ptr ExpanderRow
self' CString
subtitle'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
subtitle'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif