{-# 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 present preferences.
-- 
-- The @AdwPreferencesRow@ widget has a title that [class/@preferencesWindow@/]
-- will use to let the user look for a preference. It doesn\'t present the title
-- in any way and lets you present the preference as you please.
-- 
-- [class/@actionRow@/] and its derivatives are convenient to use as preference
-- rows as they take care of presenting the preference\'s title while letting you
-- compose the inputs of the preference around it.
-- 
-- /Since: 1.0/

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

module GI.Adw.Objects.PreferencesRow
    ( 

-- * Exported types
    PreferencesRow(..)                      ,
    IsPreferencesRow                        ,
    toPreferencesRow                        ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [actionSetEnabled]("GI.Gtk.Objects.Widget#g:method:actionSetEnabled"), [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [activateAction]("GI.Gtk.Objects.Widget#g:method:activateAction"), [activateDefault]("GI.Gtk.Objects.Widget#g:method:activateDefault"), [addController]("GI.Gtk.Objects.Widget#g:method:addController"), [addCssClass]("GI.Gtk.Objects.Widget#g:method:addCssClass"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [allocate]("GI.Gtk.Objects.Widget#g:method:allocate"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [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"), [disposeTemplate]("GI.Gtk.Objects.Widget#g:method:disposeTemplate"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [hasCssClass]("GI.Gtk.Objects.Widget#g:method:hasCssClass"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [insertAfter]("GI.Gtk.Objects.Widget#g:method:insertAfter"), [insertBefore]("GI.Gtk.Objects.Widget#g:method:insertBefore"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isDrawable]("GI.Gtk.Objects.Widget#g:method:isDrawable"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isFocus]("GI.Gtk.Objects.Widget#g:method:isFocus"), [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"), [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"), [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"), [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"), [getSize]("GI.Gtk.Objects.Widget#g:method:getSize"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Adw.Objects.PreferencesRow#g:method:getTitle"), [getTitleSelectable]("GI.Adw.Objects.PreferencesRow#g:method:getTitleSelectable"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getUseMarkup]("GI.Adw.Objects.PreferencesRow#g:method:getUseMarkup"), [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"), [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"), [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"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setTitle]("GI.Adw.Objects.PreferencesRow#g:method:setTitle"), [setTitleSelectable]("GI.Adw.Objects.PreferencesRow#g:method:setTitleSelectable"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setUseMarkup]("GI.Adw.Objects.PreferencesRow#g:method:setUseMarkup"), [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)
    ResolvePreferencesRowMethod             ,
#endif

-- ** getTitle #method:getTitle#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowGetTitleMethodInfo        ,
#endif
    preferencesRowGetTitle                  ,


-- ** getTitleSelectable #method:getTitleSelectable#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowGetTitleSelectableMethodInfo,
#endif
    preferencesRowGetTitleSelectable        ,


-- ** getUseMarkup #method:getUseMarkup#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowGetUseMarkupMethodInfo    ,
#endif
    preferencesRowGetUseMarkup              ,


-- ** getUseUnderline #method:getUseUnderline#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowGetUseUnderlineMethodInfo ,
#endif
    preferencesRowGetUseUnderline           ,


-- ** new #method:new#

    preferencesRowNew                       ,


-- ** setTitle #method:setTitle#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowSetTitleMethodInfo        ,
#endif
    preferencesRowSetTitle                  ,


-- ** setTitleSelectable #method:setTitleSelectable#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowSetTitleSelectableMethodInfo,
#endif
    preferencesRowSetTitleSelectable        ,


-- ** setUseMarkup #method:setUseMarkup#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowSetUseMarkupMethodInfo    ,
#endif
    preferencesRowSetUseMarkup              ,


-- ** setUseUnderline #method:setUseUnderline#

#if defined(ENABLE_OVERLOADING)
    PreferencesRowSetUseUnderlineMethodInfo ,
#endif
    preferencesRowSetUseUnderline           ,




 -- * Properties


-- ** title #attr:title#
-- | The title of the preference represented by this row.
-- 
-- The title is interpreted as Pango markup unless
-- [property/@preferencesRow@/:use-markup] is set to @FALSE@.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    PreferencesRowTitlePropertyInfo         ,
#endif
    constructPreferencesRowTitle            ,
    getPreferencesRowTitle                  ,
#if defined(ENABLE_OVERLOADING)
    preferencesRowTitle                     ,
#endif
    setPreferencesRowTitle                  ,


-- ** titleSelectable #attr:titleSelectable#
-- | Whether the user can copy the title from the label.
-- 
-- See also [Label:selectable]("GI.Gtk.Objects.Label#g:attr:selectable").
-- 
-- /Since: 1.1/

#if defined(ENABLE_OVERLOADING)
    PreferencesRowTitleSelectablePropertyInfo,
#endif
    constructPreferencesRowTitleSelectable  ,
    getPreferencesRowTitleSelectable        ,
#if defined(ENABLE_OVERLOADING)
    preferencesRowTitleSelectable           ,
#endif
    setPreferencesRowTitleSelectable        ,


-- ** useMarkup #attr:useMarkup#
-- | Whether to use Pango markup for the title label.
-- 
-- Subclasses may also use it for other labels, such as subtitle.
-- 
-- See also 'GI.Pango.Functions.parseMarkup'.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    PreferencesRowUseMarkupPropertyInfo     ,
#endif
    constructPreferencesRowUseMarkup        ,
    getPreferencesRowUseMarkup              ,
#if defined(ENABLE_OVERLOADING)
    preferencesRowUseMarkup                 ,
#endif
    setPreferencesRowUseMarkup              ,


-- ** useUnderline #attr:useUnderline#
-- | Whether an embedded underline in the title indicates a mnemonic.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    PreferencesRowUseUnderlinePropertyInfo  ,
#endif
    constructPreferencesRowUseUnderline     ,
    getPreferencesRowUseUnderline           ,
#if defined(ENABLE_OVERLOADING)
    preferencesRowUseUnderline              ,
#endif
    setPreferencesRowUseUnderline           ,




    ) where

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

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R

import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.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 PreferencesRow = PreferencesRow (SP.ManagedPtr PreferencesRow)
    deriving (PreferencesRow -> PreferencesRow -> Bool
(PreferencesRow -> PreferencesRow -> Bool)
-> (PreferencesRow -> PreferencesRow -> Bool) -> Eq PreferencesRow
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PreferencesRow -> PreferencesRow -> Bool
== :: PreferencesRow -> PreferencesRow -> Bool
$c/= :: PreferencesRow -> PreferencesRow -> Bool
/= :: PreferencesRow -> PreferencesRow -> Bool
Eq)

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

foreign import ccall "adw_preferences_row_get_type"
    c_adw_preferences_row_get_type :: IO B.Types.GType

instance B.Types.TypedObject PreferencesRow where
    glibType :: IO GType
glibType = IO GType
c_adw_preferences_row_get_type

instance B.Types.GObject PreferencesRow

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

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

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

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

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

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

#endif

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

#endif

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

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

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

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

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

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

-- | Get the value of the “@title-selectable@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' preferencesRow #titleSelectable
-- @
getPreferencesRowTitleSelectable :: (MonadIO m, IsPreferencesRow o) => o -> m Bool
getPreferencesRowTitleSelectable :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> m Bool
getPreferencesRowTitleSelectable o
obj = IO Bool -> m Bool
forall a. IO a -> m a
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
"title-selectable"

-- | Set the value of the “@title-selectable@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' preferencesRow [ #titleSelectable 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesRowTitleSelectable :: (MonadIO m, IsPreferencesRow o) => o -> Bool -> m ()
setPreferencesRowTitleSelectable :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> Bool -> m ()
setPreferencesRowTitleSelectable o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"title-selectable" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@title-selectable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructPreferencesRowTitleSelectable :: (IsPreferencesRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructPreferencesRowTitleSelectable :: forall o (m :: * -> *).
(IsPreferencesRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructPreferencesRowTitleSelectable Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"title-selectable" Bool
val

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

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

-- | Get the value of the “@use-markup@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' preferencesRow #useMarkup
-- @
getPreferencesRowUseMarkup :: (MonadIO m, IsPreferencesRow o) => o -> m Bool
getPreferencesRowUseMarkup :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> m Bool
getPreferencesRowUseMarkup o
obj = IO Bool -> m Bool
forall a. IO a -> m a
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
"use-markup"

-- | Set the value of the “@use-markup@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' preferencesRow [ #useMarkup 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesRowUseMarkup :: (MonadIO m, IsPreferencesRow o) => o -> Bool -> m ()
setPreferencesRowUseMarkup :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> Bool -> m ()
setPreferencesRowUseMarkup o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"use-markup" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructPreferencesRowUseMarkup :: (IsPreferencesRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructPreferencesRowUseMarkup :: forall o (m :: * -> *).
(IsPreferencesRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructPreferencesRowUseMarkup Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"use-markup" Bool
val

#if defined(ENABLE_OVERLOADING)
data PreferencesRowUseMarkupPropertyInfo
instance AttrInfo PreferencesRowUseMarkupPropertyInfo where
    type AttrAllowedOps PreferencesRowUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesRowUseMarkupPropertyInfo = IsPreferencesRow
    type AttrSetTypeConstraint PreferencesRowUseMarkupPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint PreferencesRowUseMarkupPropertyInfo = (~) Bool
    type AttrTransferType PreferencesRowUseMarkupPropertyInfo = Bool
    type AttrGetType PreferencesRowUseMarkupPropertyInfo = Bool
    type AttrLabel PreferencesRowUseMarkupPropertyInfo = "use-markup"
    type AttrOrigin PreferencesRowUseMarkupPropertyInfo = PreferencesRow
    attrGet = getPreferencesRowUseMarkup
    attrSet = setPreferencesRowUseMarkup
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesRowUseMarkup
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesRow.useMarkup"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesRow.html#g:attr:useMarkup"
        })
#endif

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

-- | Get the value of the “@use-underline@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' preferencesRow #useUnderline
-- @
getPreferencesRowUseUnderline :: (MonadIO m, IsPreferencesRow o) => o -> m Bool
getPreferencesRowUseUnderline :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> m Bool
getPreferencesRowUseUnderline o
obj = IO Bool -> m Bool
forall a. IO a -> m a
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
"use-underline"

-- | Set the value of the “@use-underline@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' preferencesRow [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesRowUseUnderline :: (MonadIO m, IsPreferencesRow o) => o -> Bool -> m ()
setPreferencesRowUseUnderline :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesRow o) =>
o -> Bool -> m ()
setPreferencesRowUseUnderline o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"use-underline" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructPreferencesRowUseUnderline :: (IsPreferencesRow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructPreferencesRowUseUnderline :: forall o (m :: * -> *).
(IsPreferencesRow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructPreferencesRowUseUnderline Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"use-underline" Bool
val

#if defined(ENABLE_OVERLOADING)
data PreferencesRowUseUnderlinePropertyInfo
instance AttrInfo PreferencesRowUseUnderlinePropertyInfo where
    type AttrAllowedOps PreferencesRowUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesRowUseUnderlinePropertyInfo = IsPreferencesRow
    type AttrSetTypeConstraint PreferencesRowUseUnderlinePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint PreferencesRowUseUnderlinePropertyInfo = (~) Bool
    type AttrTransferType PreferencesRowUseUnderlinePropertyInfo = Bool
    type AttrGetType PreferencesRowUseUnderlinePropertyInfo = Bool
    type AttrLabel PreferencesRowUseUnderlinePropertyInfo = "use-underline"
    type AttrOrigin PreferencesRowUseUnderlinePropertyInfo = PreferencesRow
    attrGet = getPreferencesRowUseUnderline
    attrSet = setPreferencesRowUseUnderline
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesRowUseUnderline
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesRow.useUnderline"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesRow.html#g:attr:useUnderline"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PreferencesRow
type instance O.AttributeList PreferencesRow = PreferencesRowAttributeList
type PreferencesRowAttributeList = ('[ '("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), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("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), '("title", PreferencesRowTitlePropertyInfo), '("titleSelectable", PreferencesRowTitleSelectablePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useMarkup", PreferencesRowUseMarkupPropertyInfo), '("useUnderline", 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)
preferencesRowTitle :: AttrLabelProxy "title"
preferencesRowTitle = AttrLabelProxy

preferencesRowTitleSelectable :: AttrLabelProxy "titleSelectable"
preferencesRowTitleSelectable = AttrLabelProxy

preferencesRowUseMarkup :: AttrLabelProxy "useMarkup"
preferencesRowUseMarkup = AttrLabelProxy

preferencesRowUseUnderline :: AttrLabelProxy "useUnderline"
preferencesRowUseUnderline = AttrLabelProxy

#endif

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

foreign import ccall "adw_preferences_row_new" adw_preferences_row_new :: 
    IO (Ptr PreferencesRow)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method PreferencesRow::get_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences row" , 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_preferences_row_get_title" adw_preferences_row_get_title :: 
    Ptr PreferencesRow ->                   -- self : TInterface (Name {namespace = "Adw", name = "PreferencesRow"})
    IO CString

-- | Gets the title of the preference represented by /@self@/.
-- 
-- /Since: 1.0/
preferencesRowGetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> m T.Text
    -- ^ __Returns:__ the title
preferencesRowGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> m Text
preferencesRowGetTitle a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr PreferencesRow -> IO CString
adw_preferences_row_get_title Ptr PreferencesRow
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"preferencesRowGetTitle" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data PreferencesRowGetTitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowGetTitleMethodInfo a signature where
    overloadedMethod = preferencesRowGetTitle

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


#endif

-- method PreferencesRow::get_title_selectable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwPreferencesRow`"
--                 , 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_preferences_row_get_title_selectable" adw_preferences_row_get_title_selectable :: 
    Ptr PreferencesRow ->                   -- self : TInterface (Name {namespace = "Adw", name = "PreferencesRow"})
    IO CInt

-- | Gets whether the user can copy the title from the label
-- 
-- /Since: 1.1/
preferencesRowGetTitleSelectable ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a @AdwPreferencesRow@
    -> m Bool
    -- ^ __Returns:__ whether the user can copy the title from the label
preferencesRowGetTitleSelectable :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> m Bool
preferencesRowGetTitleSelectable a
self = IO Bool -> m Bool
forall a. IO a -> m a
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 PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesRow -> IO CInt
adw_preferences_row_get_title_selectable Ptr PreferencesRow
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data PreferencesRowGetTitleSelectableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowGetTitleSelectableMethodInfo a signature where
    overloadedMethod = preferencesRowGetTitleSelectable

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


#endif

-- method PreferencesRow::get_use_markup
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences row" , 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_preferences_row_get_use_markup" adw_preferences_row_get_use_markup :: 
    Ptr PreferencesRow ->                   -- self : TInterface (Name {namespace = "Adw", name = "PreferencesRow"})
    IO CInt

-- | Gets whether to use Pango markup for the title label.
-- 
-- /Since: 1.2/
preferencesRowGetUseMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> m Bool
    -- ^ __Returns:__ whether to use markup
preferencesRowGetUseMarkup :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> m Bool
preferencesRowGetUseMarkup a
self = IO Bool -> m Bool
forall a. IO a -> m a
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 PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesRow -> IO CInt
adw_preferences_row_get_use_markup Ptr PreferencesRow
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data PreferencesRowGetUseMarkupMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowGetUseMarkupMethodInfo a signature where
    overloadedMethod = preferencesRowGetUseMarkup

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


#endif

-- method PreferencesRow::get_use_underline
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences row" , 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_preferences_row_get_use_underline" adw_preferences_row_get_use_underline :: 
    Ptr PreferencesRow ->                   -- self : TInterface (Name {namespace = "Adw", name = "PreferencesRow"})
    IO CInt

-- | Gets whether an embedded underline in the title indicates a mnemonic.
-- 
-- /Since: 1.0/
preferencesRowGetUseUnderline ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> m Bool
    -- ^ __Returns:__ whether an embedded underline in the title indicates a mnemonic
preferencesRowGetUseUnderline :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> m Bool
preferencesRowGetUseUnderline a
self = IO Bool -> m Bool
forall a. IO a -> m a
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 PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesRow -> IO CInt
adw_preferences_row_get_use_underline Ptr PreferencesRow
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data PreferencesRowGetUseUnderlineMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowGetUseUnderlineMethodInfo a signature where
    overloadedMethod = preferencesRowGetUseUnderline

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


#endif

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

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

-- | Sets the title of the preference represented by /@self@/.
-- 
-- The title is interpreted as Pango markup unless
-- [property/@preferencesRow@/:use-markup] is set to @FALSE@.
-- 
-- /Since: 1.0/
preferencesRowSetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> T.Text
    -- ^ /@title@/: the title
    -> m ()
preferencesRowSetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> Text -> m ()
preferencesRowSetTitle a
self Text
title = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
title' <- Text -> IO CString
textToCString Text
title
    Ptr PreferencesRow -> CString -> IO ()
adw_preferences_row_set_title Ptr PreferencesRow
self' CString
title'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
title'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif

-- method PreferencesRow::set_title_selectable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwPreferencesRow`"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "title_selectable"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "`TRUE` if the user can copy the title from the label"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | Sets whether the user can copy the title from the label
-- 
-- See also [Label:selectable]("GI.Gtk.Objects.Label#g:attr:selectable").
-- 
-- /Since: 1.1/
preferencesRowSetTitleSelectable ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a @AdwPreferencesRow@
    -> Bool
    -- ^ /@titleSelectable@/: @TRUE@ if the user can copy the title from the label
    -> m ()
preferencesRowSetTitleSelectable :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> Bool -> m ()
preferencesRowSetTitleSelectable a
self Bool
titleSelectable = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let titleSelectable' :: CInt
titleSelectable' = (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
titleSelectable
    Ptr PreferencesRow -> CInt -> IO ()
adw_preferences_row_set_title_selectable Ptr PreferencesRow
self' CInt
titleSelectable'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesRowSetTitleSelectableMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowSetTitleSelectableMethodInfo a signature where
    overloadedMethod = preferencesRowSetTitleSelectable

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


#endif

-- method PreferencesRow::set_use_markup
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences row" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "use_markup"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "whether to use markup"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | Sets whether to use Pango markup for the title label.
-- 
-- Subclasses may also use it for other labels, such as subtitle.
-- 
-- See also 'GI.Pango.Functions.parseMarkup'.
-- 
-- /Since: 1.2/
preferencesRowSetUseMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> Bool
    -- ^ /@useMarkup@/: whether to use markup
    -> m ()
preferencesRowSetUseMarkup :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> Bool -> m ()
preferencesRowSetUseMarkup a
self Bool
useMarkup = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let useMarkup' :: CInt
useMarkup' = (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
useMarkup
    Ptr PreferencesRow -> CInt -> IO ()
adw_preferences_row_set_use_markup Ptr PreferencesRow
self' CInt
useMarkup'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesRowSetUseMarkupMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowSetUseMarkupMethodInfo a signature where
    overloadedMethod = preferencesRowSetUseMarkup

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


#endif

-- method PreferencesRow::set_use_underline
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesRow" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences row" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "use_underline"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "`TRUE` if underlines in the text indicate mnemonics"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | Sets whether an embedded underline in the title indicates a mnemonic.
-- 
-- /Since: 1.0/
preferencesRowSetUseUnderline ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesRow a) =>
    a
    -- ^ /@self@/: a preferences row
    -> Bool
    -- ^ /@useUnderline@/: @TRUE@ if underlines in the text indicate mnemonics
    -> m ()
preferencesRowSetUseUnderline :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesRow a) =>
a -> Bool -> m ()
preferencesRowSetUseUnderline a
self Bool
useUnderline = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesRow
self' <- a -> IO (Ptr PreferencesRow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let useUnderline' :: CInt
useUnderline' = (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
useUnderline
    Ptr PreferencesRow -> CInt -> IO ()
adw_preferences_row_set_use_underline Ptr PreferencesRow
self' CInt
useUnderline'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesRowSetUseUnderlineMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesRow a) => O.OverloadedMethod PreferencesRowSetUseUnderlineMethodInfo a signature where
    overloadedMethod = preferencesRowSetUseUnderline

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


#endif