{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A dialog showing application\'s preferences.
-- 
-- \<picture>
--   \<source srcset=\"preferences-dialog-dark.png\" media=\"(prefers-color-scheme: dark)\">
--   \<img src=\"preferences-dialog.png\" alt=\"preferences-dialog\">
-- \<\/picture>
-- 
-- The @AdwPreferencesDialog@ widget presents an application\'s preferences
-- gathered into pages and groups. The preferences are searchable by the user.
-- 
-- == CSS nodes
-- 
-- @AdwPreferencesDialog@ has a main CSS node with the name @dialog@ and the
-- style class @.preferences@.
-- 
-- /Since: 1.5/

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

module GI.Adw.Objects.PreferencesDialog
    ( 

-- * Exported types
    PreferencesDialog(..)                   ,
    IsPreferencesDialog                     ,
    toPreferencesDialog                     ,


 -- * 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"), [add]("GI.Adw.Objects.PreferencesDialog#g:method:add"), [addBreakpoint]("GI.Adw.Objects.Dialog#g:method:addBreakpoint"), [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"), [addToast]("GI.Adw.Objects.PreferencesDialog#g:method:addToast"), [allocate]("GI.Gtk.Objects.Widget#g:method:allocate"), [announce]("GI.Gtk.Interfaces.Accessible#g:method:announce"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [close]("GI.Adw.Objects.Dialog#g:method:close"), [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"), [forceClose]("GI.Adw.Objects.Dialog#g:method:forceClose"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [hasCssClass]("GI.Gtk.Objects.Widget#g:method:hasCssClass"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [insertAfter]("GI.Gtk.Objects.Widget#g:method:insertAfter"), [insertBefore]("GI.Gtk.Objects.Widget#g:method:insertBefore"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isDrawable]("GI.Gtk.Objects.Widget#g:method:isDrawable"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isFocus]("GI.Gtk.Objects.Widget#g:method:isFocus"), [isSensitive]("GI.Gtk.Objects.Widget#g:method:isSensitive"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [measure]("GI.Gtk.Objects.Widget#g:method:measure"), [mnemonicActivate]("GI.Gtk.Objects.Widget#g:method:mnemonicActivate"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [observeChildren]("GI.Gtk.Objects.Widget#g:method:observeChildren"), [observeControllers]("GI.Gtk.Objects.Widget#g:method:observeControllers"), [pick]("GI.Gtk.Objects.Widget#g:method:pick"), [popSubpage]("GI.Adw.Objects.PreferencesDialog#g:method:popSubpage"), [present]("GI.Adw.Objects.Dialog#g:method:present"), [pushSubpage]("GI.Adw.Objects.PreferencesDialog#g:method:pushSubpage"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [remove]("GI.Adw.Objects.PreferencesDialog#g:method:remove"), [removeController]("GI.Gtk.Objects.Widget#g:method:removeController"), [removeCssClass]("GI.Gtk.Objects.Widget#g:method:removeCssClass"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [resetProperty]("GI.Gtk.Interfaces.Accessible#g:method:resetProperty"), [resetRelation]("GI.Gtk.Interfaces.Accessible#g:method:resetRelation"), [resetState]("GI.Gtk.Interfaces.Accessible#g:method:resetState"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [shouldLayout]("GI.Gtk.Objects.Widget#g:method:shouldLayout"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [snapshotChild]("GI.Gtk.Objects.Widget#g:method:snapshotChild"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [translateCoordinates]("GI.Gtk.Objects.Widget#g:method:translateCoordinates"), [triggerTooltipQuery]("GI.Gtk.Objects.Widget#g:method:triggerTooltipQuery"), [unmap]("GI.Gtk.Objects.Widget#g:method:unmap"), [unparent]("GI.Gtk.Objects.Widget#g:method:unparent"), [unrealize]("GI.Gtk.Objects.Widget#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [updateNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:updateNextAccessibleSibling"), [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
-- [getAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleParent"), [getAccessibleRole]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleRole"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAtContext]("GI.Gtk.Interfaces.Accessible#g:method:getAtContext"), [getBaseline]("GI.Gtk.Objects.Widget#g:method:getBaseline"), [getBounds]("GI.Gtk.Interfaces.Accessible#g:method:getBounds"), [getBuildableId]("GI.Gtk.Interfaces.Buildable#g:method:getBuildableId"), [getCanClose]("GI.Adw.Objects.Dialog#g:method:getCanClose"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCanTarget]("GI.Gtk.Objects.Widget#g:method:getCanTarget"), [getChild]("GI.Adw.Objects.Dialog#g:method:getChild"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getColor]("GI.Gtk.Objects.Widget#g:method:getColor"), [getContentHeight]("GI.Adw.Objects.Dialog#g:method:getContentHeight"), [getContentWidth]("GI.Adw.Objects.Dialog#g:method:getContentWidth"), [getCssClasses]("GI.Gtk.Objects.Widget#g:method:getCssClasses"), [getCssName]("GI.Gtk.Objects.Widget#g:method:getCssName"), [getCurrentBreakpoint]("GI.Adw.Objects.Dialog#g:method:getCurrentBreakpoint"), [getCursor]("GI.Gtk.Objects.Widget#g:method:getCursor"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDefaultWidget]("GI.Adw.Objects.Dialog#g:method:getDefaultWidget"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getFirstAccessibleChild]("GI.Gtk.Interfaces.Accessible#g:method:getFirstAccessibleChild"), [getFirstChild]("GI.Gtk.Objects.Widget#g:method:getFirstChild"), [getFocus]("GI.Adw.Objects.Dialog#g:method:getFocus"), [getFocusChild]("GI.Gtk.Objects.Widget#g:method:getFocusChild"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusable]("GI.Gtk.Objects.Widget#g:method:getFocusable"), [getFollowsContentSize]("GI.Adw.Objects.Dialog#g:method:getFollowsContentSize"), [getFontMap]("GI.Gtk.Objects.Widget#g:method:getFontMap"), [getFontOptions]("GI.Gtk.Objects.Widget#g:method:getFontOptions"), [getFrameClock]("GI.Gtk.Objects.Widget#g:method:getFrameClock"), [getHalign]("GI.Gtk.Objects.Widget#g:method:getHalign"), [getHasTooltip]("GI.Gtk.Objects.Widget#g:method:getHasTooltip"), [getHeight]("GI.Gtk.Objects.Widget#g:method:getHeight"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getLastChild]("GI.Gtk.Objects.Widget#g:method:getLastChild"), [getLayoutManager]("GI.Gtk.Objects.Widget#g:method:getLayoutManager"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNative]("GI.Gtk.Objects.Widget#g:method:getNative"), [getNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:getNextAccessibleSibling"), [getNextSibling]("GI.Gtk.Objects.Widget#g:method:getNextSibling"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOverflow]("GI.Gtk.Objects.Widget#g:method:getOverflow"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getPlatformState]("GI.Gtk.Interfaces.Accessible#g:method:getPlatformState"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPresentationMode]("GI.Adw.Objects.Dialog#g:method:getPresentationMode"), [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"), [getSearchEnabled]("GI.Adw.Objects.PreferencesDialog#g:method:getSearchEnabled"), [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.Dialog#g:method:getTitle"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getVisiblePage]("GI.Adw.Objects.PreferencesDialog#g:method:getVisiblePage"), [getVisiblePageName]("GI.Adw.Objects.PreferencesDialog#g:method:getVisiblePageName"), [getWidth]("GI.Gtk.Objects.Widget#g:method:getWidth").
-- 
-- ==== Setters
-- [setAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:setAccessibleParent"), [setCanClose]("GI.Adw.Objects.Dialog#g:method:setCanClose"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChild]("GI.Adw.Objects.Dialog#g:method:setChild"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setContentHeight]("GI.Adw.Objects.Dialog#g:method:setContentHeight"), [setContentWidth]("GI.Adw.Objects.Dialog#g:method:setContentWidth"), [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"), [setDefaultWidget]("GI.Adw.Objects.Dialog#g:method:setDefaultWidget"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setFocus]("GI.Adw.Objects.Dialog#g:method:setFocus"), [setFocusChild]("GI.Gtk.Objects.Widget#g:method:setFocusChild"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusable]("GI.Gtk.Objects.Widget#g:method:setFocusable"), [setFollowsContentSize]("GI.Adw.Objects.Dialog#g:method:setFollowsContentSize"), [setFontMap]("GI.Gtk.Objects.Widget#g:method:setFontMap"), [setFontOptions]("GI.Gtk.Objects.Widget#g:method:setFontOptions"), [setHalign]("GI.Gtk.Objects.Widget#g:method:setHalign"), [setHasTooltip]("GI.Gtk.Objects.Widget#g:method:setHasTooltip"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setLayoutManager]("GI.Gtk.Objects.Widget#g:method:setLayoutManager"), [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"), [setPresentationMode]("GI.Adw.Objects.Dialog#g:method:setPresentationMode"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setSearchEnabled]("GI.Adw.Objects.PreferencesDialog#g:method:setSearchEnabled"), [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.Dialog#g:method:setTitle"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setValign]("GI.Gtk.Objects.Widget#g:method:setValign"), [setVexpand]("GI.Gtk.Objects.Widget#g:method:setVexpand"), [setVexpandSet]("GI.Gtk.Objects.Widget#g:method:setVexpandSet"), [setVisible]("GI.Gtk.Objects.Widget#g:method:setVisible"), [setVisiblePage]("GI.Adw.Objects.PreferencesDialog#g:method:setVisiblePage"), [setVisiblePageName]("GI.Adw.Objects.PreferencesDialog#g:method:setVisiblePageName").

#if defined(ENABLE_OVERLOADING)
    ResolvePreferencesDialogMethod          ,
#endif

-- ** add #method:add#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogAddMethodInfo          ,
#endif
    preferencesDialogAdd                    ,


-- ** addToast #method:addToast#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogAddToastMethodInfo     ,
#endif
    preferencesDialogAddToast               ,


-- ** getSearchEnabled #method:getSearchEnabled#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogGetSearchEnabledMethodInfo,
#endif
    preferencesDialogGetSearchEnabled       ,


-- ** getVisiblePage #method:getVisiblePage#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogGetVisiblePageMethodInfo,
#endif
    preferencesDialogGetVisiblePage         ,


-- ** getVisiblePageName #method:getVisiblePageName#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogGetVisiblePageNameMethodInfo,
#endif
    preferencesDialogGetVisiblePageName     ,


-- ** new #method:new#

    preferencesDialogNew                    ,


-- ** popSubpage #method:popSubpage#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogPopSubpageMethodInfo   ,
#endif
    preferencesDialogPopSubpage             ,


-- ** pushSubpage #method:pushSubpage#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogPushSubpageMethodInfo  ,
#endif
    preferencesDialogPushSubpage            ,


-- ** remove #method:remove#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogRemoveMethodInfo       ,
#endif
    preferencesDialogRemove                 ,


-- ** setSearchEnabled #method:setSearchEnabled#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogSetSearchEnabledMethodInfo,
#endif
    preferencesDialogSetSearchEnabled       ,


-- ** setVisiblePage #method:setVisiblePage#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogSetVisiblePageMethodInfo,
#endif
    preferencesDialogSetVisiblePage         ,


-- ** setVisiblePageName #method:setVisiblePageName#

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogSetVisiblePageNameMethodInfo,
#endif
    preferencesDialogSetVisiblePageName     ,




 -- * Properties


-- ** searchEnabled #attr:searchEnabled#
-- | Whether search is enabled.
-- 
-- /Since: 1.5/

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogSearchEnabledPropertyInfo,
#endif
    constructPreferencesDialogSearchEnabled ,
    getPreferencesDialogSearchEnabled       ,
#if defined(ENABLE_OVERLOADING)
    preferencesDialogSearchEnabled          ,
#endif
    setPreferencesDialogSearchEnabled       ,


-- ** visiblePage #attr:visiblePage#
-- | The currently visible page.
-- 
-- /Since: 1.5/

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogVisiblePagePropertyInfo,
#endif
    clearPreferencesDialogVisiblePage       ,
    constructPreferencesDialogVisiblePage   ,
    getPreferencesDialogVisiblePage         ,
#if defined(ENABLE_OVERLOADING)
    preferencesDialogVisiblePage            ,
#endif
    setPreferencesDialogVisiblePage         ,


-- ** visiblePageName #attr:visiblePageName#
-- | The name of the currently visible page.
-- 
-- See [property/@adwPreferencesDialog@/:visible-page].
-- 
-- /Since: 1.5/

#if defined(ENABLE_OVERLOADING)
    PreferencesDialogVisiblePageNamePropertyInfo,
#endif
    constructPreferencesDialogVisiblePageName,
    getPreferencesDialogVisiblePageName     ,
#if defined(ENABLE_OVERLOADING)
    preferencesDialogVisiblePageName        ,
#endif
    setPreferencesDialogVisiblePageName     ,




    ) where

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

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

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)
import {-# SOURCE #-} qualified GI.Adw.Enums as Adw.Enums
import {-# SOURCE #-} qualified GI.Adw.Objects.Breakpoint as Adw.Breakpoint
import {-# SOURCE #-} qualified GI.Adw.Objects.Dialog as Adw.Dialog
import {-# SOURCE #-} qualified GI.Adw.Objects.NavigationPage as Adw.NavigationPage
import {-# SOURCE #-} qualified GI.Adw.Objects.PreferencesGroup as Adw.PreferencesGroup
import {-# SOURCE #-} qualified GI.Adw.Objects.PreferencesPage as Adw.PreferencesPage
import {-# SOURCE #-} qualified GI.Adw.Objects.Toast as Adw.Toast
import {-# SOURCE #-} qualified GI.Adw.Structs.BreakpointCondition as Adw.BreakpointCondition
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

#else
import {-# SOURCE #-} qualified GI.Adw.Objects.Dialog as Adw.Dialog
import {-# SOURCE #-} qualified GI.Adw.Objects.NavigationPage as Adw.NavigationPage
import {-# SOURCE #-} qualified GI.Adw.Objects.PreferencesPage as Adw.PreferencesPage
import {-# SOURCE #-} qualified GI.Adw.Objects.Toast as Adw.Toast
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

#endif

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

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

foreign import ccall "adw_preferences_dialog_get_type"
    c_adw_preferences_dialog_get_type :: IO B.Types.GType

instance B.Types.TypedObject PreferencesDialog where
    glibType :: IO GType
glibType = IO GType
c_adw_preferences_dialog_get_type

instance B.Types.GObject PreferencesDialog

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

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

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

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

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

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

#endif

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

#endif

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

-- | Get the value of the “@search-enabled@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' preferencesDialog #searchEnabled
-- @
getPreferencesDialogSearchEnabled :: (MonadIO m, IsPreferencesDialog o) => o -> m Bool
getPreferencesDialogSearchEnabled :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesDialog o) =>
o -> m Bool
getPreferencesDialogSearchEnabled 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
"search-enabled"

-- | Set the value of the “@search-enabled@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' preferencesDialog [ #searchEnabled 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesDialogSearchEnabled :: (MonadIO m, IsPreferencesDialog o) => o -> Bool -> m ()
setPreferencesDialogSearchEnabled :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesDialog o) =>
o -> Bool -> m ()
setPreferencesDialogSearchEnabled 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
"search-enabled" Bool
val

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

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogSearchEnabledPropertyInfo
instance AttrInfo PreferencesDialogSearchEnabledPropertyInfo where
    type AttrAllowedOps PreferencesDialogSearchEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesDialogSearchEnabledPropertyInfo = IsPreferencesDialog
    type AttrSetTypeConstraint PreferencesDialogSearchEnabledPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint PreferencesDialogSearchEnabledPropertyInfo = (~) Bool
    type AttrTransferType PreferencesDialogSearchEnabledPropertyInfo = Bool
    type AttrGetType PreferencesDialogSearchEnabledPropertyInfo = Bool
    type AttrLabel PreferencesDialogSearchEnabledPropertyInfo = "search-enabled"
    type AttrOrigin PreferencesDialogSearchEnabledPropertyInfo = PreferencesDialog
    attrGet = getPreferencesDialogSearchEnabled
    attrSet = setPreferencesDialogSearchEnabled
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesDialogSearchEnabled
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesDialog.searchEnabled"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.7/docs/GI-Adw-Objects-PreferencesDialog.html#g:attr:searchEnabled"
        })
#endif

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogVisiblePagePropertyInfo
instance AttrInfo PreferencesDialogVisiblePagePropertyInfo where
    type AttrAllowedOps PreferencesDialogVisiblePagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint PreferencesDialogVisiblePagePropertyInfo = IsPreferencesDialog
    type AttrSetTypeConstraint PreferencesDialogVisiblePagePropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferTypeConstraint PreferencesDialogVisiblePagePropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferType PreferencesDialogVisiblePagePropertyInfo = Gtk.Widget.Widget
    type AttrGetType PreferencesDialogVisiblePagePropertyInfo = (Maybe Gtk.Widget.Widget)
    type AttrLabel PreferencesDialogVisiblePagePropertyInfo = "visible-page"
    type AttrOrigin PreferencesDialogVisiblePagePropertyInfo = PreferencesDialog
    attrGet = getPreferencesDialogVisiblePage
    attrSet = setPreferencesDialogVisiblePage
    attrTransfer _ v = do
        unsafeCastTo Gtk.Widget.Widget v
    attrConstruct = constructPreferencesDialogVisiblePage
    attrClear = clearPreferencesDialogVisiblePage
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesDialog.visiblePage"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.7/docs/GI-Adw-Objects-PreferencesDialog.html#g:attr:visiblePage"
        })
#endif

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogVisiblePageNamePropertyInfo
instance AttrInfo PreferencesDialogVisiblePageNamePropertyInfo where
    type AttrAllowedOps PreferencesDialogVisiblePageNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesDialogVisiblePageNamePropertyInfo = IsPreferencesDialog
    type AttrSetTypeConstraint PreferencesDialogVisiblePageNamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint PreferencesDialogVisiblePageNamePropertyInfo = (~) T.Text
    type AttrTransferType PreferencesDialogVisiblePageNamePropertyInfo = T.Text
    type AttrGetType PreferencesDialogVisiblePageNamePropertyInfo = (Maybe T.Text)
    type AttrLabel PreferencesDialogVisiblePageNamePropertyInfo = "visible-page-name"
    type AttrOrigin PreferencesDialogVisiblePageNamePropertyInfo = PreferencesDialog
    attrGet = getPreferencesDialogVisiblePageName
    attrSet = setPreferencesDialogVisiblePageName
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesDialogVisiblePageName
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesDialog.visiblePageName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.7/docs/GI-Adw-Objects-PreferencesDialog.html#g:attr:visiblePageName"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PreferencesDialog
type instance O.AttributeList PreferencesDialog = PreferencesDialogAttributeList
type PreferencesDialogAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("canClose", Adw.Dialog.DialogCanClosePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("child", Adw.Dialog.DialogChildPropertyInfo), '("contentHeight", Adw.Dialog.DialogContentHeightPropertyInfo), '("contentWidth", Adw.Dialog.DialogContentWidthPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("currentBreakpoint", Adw.Dialog.DialogCurrentBreakpointPropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("defaultWidget", Adw.Dialog.DialogDefaultWidgetPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusWidget", Adw.Dialog.DialogFocusWidgetPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("followsContentSize", Adw.Dialog.DialogFollowsContentSizePropertyInfo), '("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), '("presentationMode", Adw.Dialog.DialogPresentationModePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchEnabled", PreferencesDialogSearchEnabledPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("title", Adw.Dialog.DialogTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visiblePage", PreferencesDialogVisiblePagePropertyInfo), '("visiblePageName", PreferencesDialogVisiblePageNamePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
preferencesDialogSearchEnabled :: AttrLabelProxy "searchEnabled"
preferencesDialogSearchEnabled = AttrLabelProxy

preferencesDialogVisiblePage :: AttrLabelProxy "visiblePage"
preferencesDialogVisiblePage = AttrLabelProxy

preferencesDialogVisiblePageName :: AttrLabelProxy "visiblePageName"
preferencesDialogVisiblePageName = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "adw_preferences_dialog_new" adw_preferences_dialog_new :: 
    IO (Ptr PreferencesDialog)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method PreferencesDialog::add
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "page"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the page to add" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_preferences_dialog_add" adw_preferences_dialog_add :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    Ptr Adw.PreferencesPage.PreferencesPage -> -- page : TInterface (Name {namespace = "Adw", name = "PreferencesPage"})
    IO ()

-- | Adds a preferences page to /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogAdd ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> b
    -- ^ /@page@/: the page to add
    -> m ()
preferencesDialogAdd :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesDialog a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesDialogAdd a
self b
page = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesPage
page' <- b -> IO (Ptr PreferencesPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
page
    Ptr PreferencesDialog -> Ptr PreferencesPage -> IO ()
adw_preferences_dialog_add Ptr PreferencesDialog
self' Ptr PreferencesPage
page'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
page
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogAddMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesDialogAddMethodInfo a signature where
    overloadedMethod = preferencesDialogAdd

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


#endif

-- method PreferencesDialog::add_toast
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "toast"
--           , argType = TInterface Name { namespace = "Adw" , name = "Toast" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a toast" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferEverything
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_preferences_dialog_add_toast" adw_preferences_dialog_add_toast :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    Ptr Adw.Toast.Toast ->                  -- toast : TInterface (Name {namespace = "Adw", name = "Toast"})
    IO ()

-- | Displays /@toast@/.
-- 
-- See [method/@toastOverlay@/.add_toast].
-- 
-- /Since: 1.5/
preferencesDialogAddToast ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a, Adw.Toast.IsToast b) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> b
    -- ^ /@toast@/: a toast
    -> m ()
preferencesDialogAddToast :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesDialog a, IsToast b) =>
a -> b -> m ()
preferencesDialogAddToast a
self b
toast = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Toast
toast' <- b -> IO (Ptr Toast)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject b
toast
    Ptr PreferencesDialog -> Ptr Toast -> IO ()
adw_preferences_dialog_add_toast Ptr PreferencesDialog
self' Ptr Toast
toast'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
toast
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogAddToastMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesDialog a, Adw.Toast.IsToast b) => O.OverloadedMethod PreferencesDialogAddToastMethodInfo a signature where
    overloadedMethod = preferencesDialogAddToast

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


#endif

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

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

-- | Gets whether search is enabled for /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogGetSearchEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> m Bool
    -- ^ __Returns:__ whether search is enabled for /@self@/.
preferencesDialogGetSearchEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> m Bool
preferencesDialogGetSearchEnabled 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesDialog -> IO CInt
adw_preferences_dialog_get_search_enabled Ptr PreferencesDialog
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 PreferencesDialogGetSearchEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesDialog a) => O.OverloadedMethod PreferencesDialogGetSearchEnabledMethodInfo a signature where
    overloadedMethod = preferencesDialogGetSearchEnabled

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


#endif

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

foreign import ccall "adw_preferences_dialog_get_visible_page" adw_preferences_dialog_get_visible_page :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    IO (Ptr Adw.PreferencesPage.PreferencesPage)

-- | Gets the currently visible page of /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogGetVisiblePage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> m (Maybe Adw.PreferencesPage.PreferencesPage)
    -- ^ __Returns:__ the visible page
preferencesDialogGetVisiblePage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> m (Maybe PreferencesPage)
preferencesDialogGetVisiblePage a
self = IO (Maybe PreferencesPage) -> m (Maybe PreferencesPage)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe PreferencesPage) -> m (Maybe PreferencesPage))
-> IO (Maybe PreferencesPage) -> m (Maybe PreferencesPage)
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesPage
result <- Ptr PreferencesDialog -> IO (Ptr PreferencesPage)
adw_preferences_dialog_get_visible_page Ptr PreferencesDialog
self'
    Maybe PreferencesPage
maybeResult <- Ptr PreferencesPage
-> (Ptr PreferencesPage -> IO PreferencesPage)
-> IO (Maybe PreferencesPage)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr PreferencesPage
result ((Ptr PreferencesPage -> IO PreferencesPage)
 -> IO (Maybe PreferencesPage))
-> (Ptr PreferencesPage -> IO PreferencesPage)
-> IO (Maybe PreferencesPage)
forall a b. (a -> b) -> a -> b
$ \Ptr PreferencesPage
result' -> do
        PreferencesPage
result'' <- ((ManagedPtr PreferencesPage -> PreferencesPage)
-> Ptr PreferencesPage -> IO PreferencesPage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr PreferencesPage -> PreferencesPage
Adw.PreferencesPage.PreferencesPage) Ptr PreferencesPage
result'
        PreferencesPage -> IO PreferencesPage
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return PreferencesPage
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe PreferencesPage -> IO (Maybe PreferencesPage)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe PreferencesPage
maybeResult

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogGetVisiblePageMethodInfo
instance (signature ~ (m (Maybe Adw.PreferencesPage.PreferencesPage)), MonadIO m, IsPreferencesDialog a) => O.OverloadedMethod PreferencesDialogGetVisiblePageMethodInfo a signature where
    overloadedMethod = preferencesDialogGetVisiblePage

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


#endif

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

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

-- | Gets the name of currently visible page of /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogGetVisiblePageName ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the name of the visible page
preferencesDialogGetVisiblePageName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> m (Maybe Text)
preferencesDialogGetVisiblePageName a
self = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr PreferencesDialog -> IO CString
adw_preferences_dialog_get_visible_page_name Ptr PreferencesDialog
self'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

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

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


#endif

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

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

-- | Pop the visible page from the subpage stack of /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogPopSubpage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> m Bool
    -- ^ __Returns:__ @TRUE@ if a page has been popped
preferencesDialogPopSubpage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> m Bool
preferencesDialogPopSubpage 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesDialog -> IO CInt
adw_preferences_dialog_pop_subpage Ptr PreferencesDialog
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 PreferencesDialogPopSubpageMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesDialog a) => O.OverloadedMethod PreferencesDialogPopSubpageMethodInfo a signature where
    overloadedMethod = preferencesDialogPopSubpage

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


#endif

-- method PreferencesDialog::push_subpage
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "page"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "NavigationPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the subpage" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_preferences_dialog_push_subpage" adw_preferences_dialog_push_subpage :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    Ptr Adw.NavigationPage.NavigationPage -> -- page : TInterface (Name {namespace = "Adw", name = "NavigationPage"})
    IO ()

-- | Pushes /@page@/ onto the subpage stack of /@self@/.
-- 
-- The page will be automatically removed when popped.
-- 
-- /Since: 1.5/
preferencesDialogPushSubpage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a, Adw.NavigationPage.IsNavigationPage b) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> b
    -- ^ /@page@/: the subpage
    -> m ()
preferencesDialogPushSubpage :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesDialog a,
 IsNavigationPage b) =>
a -> b -> m ()
preferencesDialogPushSubpage a
self b
page = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr NavigationPage
page' <- b -> IO (Ptr NavigationPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
page
    Ptr PreferencesDialog -> Ptr NavigationPage -> IO ()
adw_preferences_dialog_push_subpage Ptr PreferencesDialog
self' Ptr NavigationPage
page'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
page
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogPushSubpageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesDialog a, Adw.NavigationPage.IsNavigationPage b) => O.OverloadedMethod PreferencesDialogPushSubpageMethodInfo a signature where
    overloadedMethod = preferencesDialogPushSubpage

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


#endif

-- method PreferencesDialog::remove
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "page"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the page to remove" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_preferences_dialog_remove" adw_preferences_dialog_remove :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    Ptr Adw.PreferencesPage.PreferencesPage -> -- page : TInterface (Name {namespace = "Adw", name = "PreferencesPage"})
    IO ()

-- | Removes a page from /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogRemove ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> b
    -- ^ /@page@/: the page to remove
    -> m ()
preferencesDialogRemove :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesDialog a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesDialogRemove a
self b
page = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesPage
page' <- b -> IO (Ptr PreferencesPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
page
    Ptr PreferencesDialog -> Ptr PreferencesPage -> IO ()
adw_preferences_dialog_remove Ptr PreferencesDialog
self' Ptr PreferencesPage
page'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
page
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogRemoveMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesDialogRemoveMethodInfo a signature where
    overloadedMethod = preferencesDialogRemove

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


#endif

-- method PreferencesDialog::set_search_enabled
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "search_enabled"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "whether search is enabled"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | Sets whether search is enabled for /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogSetSearchEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> Bool
    -- ^ /@searchEnabled@/: whether search is enabled
    -> m ()
preferencesDialogSetSearchEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> Bool -> m ()
preferencesDialogSetSearchEnabled a
self Bool
searchEnabled = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let searchEnabled' :: CInt
searchEnabled' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.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
P.fromEnum) Bool
searchEnabled
    Ptr PreferencesDialog -> CInt -> IO ()
adw_preferences_dialog_set_search_enabled Ptr PreferencesDialog
self' CInt
searchEnabled'
    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 PreferencesDialogSetSearchEnabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesDialog a) => O.OverloadedMethod PreferencesDialogSetSearchEnabledMethodInfo a signature where
    overloadedMethod = preferencesDialogSetSearchEnabled

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


#endif

-- method PreferencesDialog::set_visible_page
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "page"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesPage" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a page of @self" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_preferences_dialog_set_visible_page" adw_preferences_dialog_set_visible_page :: 
    Ptr PreferencesDialog ->                -- self : TInterface (Name {namespace = "Adw", name = "PreferencesDialog"})
    Ptr Adw.PreferencesPage.PreferencesPage -> -- page : TInterface (Name {namespace = "Adw", name = "PreferencesPage"})
    IO ()

-- | Makes /@page@/ the visible page of /@self@/.
-- 
-- /Since: 1.5/
preferencesDialogSetVisiblePage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> b
    -- ^ /@page@/: a page of /@self@/
    -> m ()
preferencesDialogSetVisiblePage :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesDialog a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesDialogSetVisiblePage a
self b
page = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesPage
page' <- b -> IO (Ptr PreferencesPage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
page
    Ptr PreferencesDialog -> Ptr PreferencesPage -> IO ()
adw_preferences_dialog_set_visible_page Ptr PreferencesDialog
self' Ptr PreferencesPage
page'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
page
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data PreferencesDialogSetVisiblePageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesDialog a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesDialogSetVisiblePageMethodInfo a signature where
    overloadedMethod = preferencesDialogSetVisiblePage

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


#endif

-- method PreferencesDialog::set_visible_page_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "PreferencesDialog" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a preferences dialog"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "name"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the name of the page to make visible"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

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

-- | Makes the page with the given name visible.
-- 
-- See [property/@preferencesDialog@/:visible-page].
-- 
-- /Since: 1.5/
preferencesDialogSetVisiblePageName ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesDialog a) =>
    a
    -- ^ /@self@/: a preferences dialog
    -> T.Text
    -- ^ /@name@/: the name of the page to make visible
    -> m ()
preferencesDialogSetVisiblePageName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesDialog a) =>
a -> Text -> m ()
preferencesDialogSetVisiblePageName a
self Text
name = 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 PreferencesDialog
self' <- a -> IO (Ptr PreferencesDialog)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
name' <- Text -> IO CString
textToCString Text
name
    Ptr PreferencesDialog -> CString -> IO ()
adw_preferences_dialog_set_visible_page_name Ptr PreferencesDialog
self' CString
name'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif