{-# LANGUAGE TypeApplications #-}


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

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

module GI.Adw.Objects.PreferencesWindow
    ( 

-- * Exported types
    PreferencesWindow(..)                   ,
    IsPreferencesWindow                     ,
    toPreferencesWindow                     ,


 -- * 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.PreferencesWindow#g:method:add"), [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.PreferencesWindow#g:method:addToast"), [allocate]("GI.Gtk.Objects.Widget#g:method:allocate"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [close]("GI.Gtk.Objects.Window#g:method:close"), [closeSubpage]("GI.Adw.Objects.PreferencesWindow#g:method:closeSubpage"), [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"), [destroy]("GI.Gtk.Objects.Window#g:method:destroy"), [disposeTemplate]("GI.Gtk.Objects.Widget#g:method:disposeTemplate"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [fullscreen]("GI.Gtk.Objects.Window#g:method:fullscreen"), [fullscreenOnMonitor]("GI.Gtk.Objects.Window#g:method:fullscreenOnMonitor"), [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"), [hasGroup]("GI.Gtk.Objects.Window#g:method:hasGroup"), [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"), [isActive]("GI.Gtk.Objects.Window#g:method:isActive"), [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"), [isFullscreen]("GI.Gtk.Objects.Window#g:method:isFullscreen"), [isMaximized]("GI.Gtk.Objects.Window#g:method:isMaximized"), [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"), [maximize]("GI.Gtk.Objects.Window#g:method:maximize"), [measure]("GI.Gtk.Objects.Widget#g:method:measure"), [minimize]("GI.Gtk.Objects.Window#g:method:minimize"), [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"), [present]("GI.Gtk.Objects.Window#g:method:present"), [presentSubpage]("GI.Adw.Objects.PreferencesWindow#g:method:presentSubpage"), [presentWithTime]("GI.Gtk.Objects.Window#g:method:presentWithTime"), [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.PreferencesWindow#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"), [unfullscreen]("GI.Gtk.Objects.Window#g:method:unfullscreen"), [unmap]("GI.Gtk.Objects.Widget#g:method:unmap"), [unmaximize]("GI.Gtk.Objects.Window#g:method:unmaximize"), [unminimize]("GI.Gtk.Objects.Window#g:method:unminimize"), [unparent]("GI.Gtk.Objects.Widget#g:method:unparent"), [unrealize]("GI.Gtk.Objects.Widget#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [updateProperty]("GI.Gtk.Interfaces.Accessible#g:method:updateProperty"), [updateRelation]("GI.Gtk.Interfaces.Accessible#g:method:updateRelation"), [updateState]("GI.Gtk.Interfaces.Accessible#g:method:updateState"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAccessibleRole]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleRole"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getApplication]("GI.Gtk.Objects.Window#g:method:getApplication"), [getBuildableId]("GI.Gtk.Interfaces.Buildable#g:method:getBuildableId"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCanNavigateBack]("GI.Adw.Objects.PreferencesWindow#g:method:getCanNavigateBack"), [getCanTarget]("GI.Gtk.Objects.Widget#g:method:getCanTarget"), [getChild]("GI.Gtk.Objects.Window#g:method:getChild"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getContent]("GI.Adw.Objects.Window#g:method:getContent"), [getCssClasses]("GI.Gtk.Objects.Widget#g:method:getCssClasses"), [getCssName]("GI.Gtk.Objects.Widget#g:method:getCssName"), [getCursor]("GI.Gtk.Objects.Widget#g:method:getCursor"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDecorated]("GI.Gtk.Objects.Window#g:method:getDecorated"), [getDefaultSize]("GI.Gtk.Objects.Window#g:method:getDefaultSize"), [getDefaultWidget]("GI.Gtk.Objects.Window#g:method:getDefaultWidget"), [getDeletable]("GI.Gtk.Objects.Window#g:method:getDeletable"), [getDestroyWithParent]("GI.Gtk.Objects.Window#g:method:getDestroyWithParent"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getFirstChild]("GI.Gtk.Objects.Widget#g:method:getFirstChild"), [getFocus]("GI.Gtk.Objects.Window#g:method:getFocus"), [getFocusChild]("GI.Gtk.Objects.Widget#g:method:getFocusChild"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusVisible]("GI.Gtk.Objects.Window#g:method:getFocusVisible"), [getFocusable]("GI.Gtk.Objects.Widget#g:method:getFocusable"), [getFontMap]("GI.Gtk.Objects.Widget#g:method:getFontMap"), [getFontOptions]("GI.Gtk.Objects.Widget#g:method:getFontOptions"), [getFrameClock]("GI.Gtk.Objects.Widget#g:method:getFrameClock"), [getGroup]("GI.Gtk.Objects.Window#g:method:getGroup"), [getHalign]("GI.Gtk.Objects.Widget#g:method:getHalign"), [getHandleMenubarAccel]("GI.Gtk.Objects.Window#g:method:getHandleMenubarAccel"), [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"), [getHideOnClose]("GI.Gtk.Objects.Window#g:method:getHideOnClose"), [getIconName]("GI.Gtk.Objects.Window#g:method:getIconName"), [getLastChild]("GI.Gtk.Objects.Widget#g:method:getLastChild"), [getLayoutManager]("GI.Gtk.Objects.Widget#g:method:getLayoutManager"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getMnemonicsVisible]("GI.Gtk.Objects.Window#g:method:getMnemonicsVisible"), [getModal]("GI.Gtk.Objects.Window#g:method:getModal"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNative]("GI.Gtk.Objects.Widget#g:method:getNative"), [getNextSibling]("GI.Gtk.Objects.Widget#g:method:getNextSibling"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOverflow]("GI.Gtk.Objects.Widget#g:method:getOverflow"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPrevSibling]("GI.Gtk.Objects.Widget#g:method:getPrevSibling"), [getPrimaryClipboard]("GI.Gtk.Objects.Widget#g:method:getPrimaryClipboard"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRealized]("GI.Gtk.Objects.Widget#g:method:getRealized"), [getReceivesDefault]("GI.Gtk.Objects.Widget#g:method:getReceivesDefault"), [getRenderer]("GI.Gtk.Interfaces.Native#g:method:getRenderer"), [getRequestMode]("GI.Gtk.Objects.Widget#g:method:getRequestMode"), [getResizable]("GI.Gtk.Objects.Window#g:method:getResizable"), [getRoot]("GI.Gtk.Objects.Widget#g:method:getRoot"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getSearchEnabled]("GI.Adw.Objects.PreferencesWindow#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"), [getSurface]("GI.Gtk.Interfaces.Native#g:method:getSurface"), [getSurfaceTransform]("GI.Gtk.Interfaces.Native#g:method:getSurfaceTransform"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Gtk.Objects.Window#g:method:getTitle"), [getTitlebar]("GI.Gtk.Objects.Window#g:method:getTitlebar"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getTransientFor]("GI.Gtk.Objects.Window#g:method:getTransientFor"), [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.PreferencesWindow#g:method:getVisiblePage"), [getVisiblePageName]("GI.Adw.Objects.PreferencesWindow#g:method:getVisiblePageName"), [getWidth]("GI.Gtk.Objects.Widget#g:method:getWidth").
-- 
-- ==== Setters
-- [setApplication]("GI.Gtk.Objects.Window#g:method:setApplication"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanNavigateBack]("GI.Adw.Objects.PreferencesWindow#g:method:setCanNavigateBack"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChild]("GI.Gtk.Objects.Window#g:method:setChild"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setContent]("GI.Adw.Objects.Window#g:method:setContent"), [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"), [setDecorated]("GI.Gtk.Objects.Window#g:method:setDecorated"), [setDefaultSize]("GI.Gtk.Objects.Window#g:method:setDefaultSize"), [setDefaultWidget]("GI.Gtk.Objects.Window#g:method:setDefaultWidget"), [setDeletable]("GI.Gtk.Objects.Window#g:method:setDeletable"), [setDestroyWithParent]("GI.Gtk.Objects.Window#g:method:setDestroyWithParent"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setDisplay]("GI.Gtk.Objects.Window#g:method:setDisplay"), [setFocus]("GI.Gtk.Objects.Window#g:method:setFocus"), [setFocusChild]("GI.Gtk.Objects.Widget#g:method:setFocusChild"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusVisible]("GI.Gtk.Objects.Window#g:method:setFocusVisible"), [setFocusable]("GI.Gtk.Objects.Widget#g:method:setFocusable"), [setFontMap]("GI.Gtk.Objects.Widget#g:method:setFontMap"), [setFontOptions]("GI.Gtk.Objects.Widget#g:method:setFontOptions"), [setHalign]("GI.Gtk.Objects.Widget#g:method:setHalign"), [setHandleMenubarAccel]("GI.Gtk.Objects.Window#g:method:setHandleMenubarAccel"), [setHasTooltip]("GI.Gtk.Objects.Widget#g:method:setHasTooltip"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setHideOnClose]("GI.Gtk.Objects.Window#g:method:setHideOnClose"), [setIconName]("GI.Gtk.Objects.Window#g:method:setIconName"), [setLayoutManager]("GI.Gtk.Objects.Widget#g:method:setLayoutManager"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setMnemonicsVisible]("GI.Gtk.Objects.Window#g:method:setMnemonicsVisible"), [setModal]("GI.Gtk.Objects.Window#g:method:setModal"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setOverflow]("GI.Gtk.Objects.Widget#g:method:setOverflow"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setResizable]("GI.Gtk.Objects.Window#g:method:setResizable"), [setSearchEnabled]("GI.Adw.Objects.PreferencesWindow#g:method:setSearchEnabled"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStartupId]("GI.Gtk.Objects.Window#g:method:setStartupId"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setTitle]("GI.Gtk.Objects.Window#g:method:setTitle"), [setTitlebar]("GI.Gtk.Objects.Window#g:method:setTitlebar"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setTransientFor]("GI.Gtk.Objects.Window#g:method:setTransientFor"), [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.PreferencesWindow#g:method:setVisiblePage"), [setVisiblePageName]("GI.Adw.Objects.PreferencesWindow#g:method:setVisiblePageName").

#if defined(ENABLE_OVERLOADING)
    ResolvePreferencesWindowMethod          ,
#endif

-- ** add #method:add#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowAddMethodInfo          ,
#endif
    preferencesWindowAdd                    ,


-- ** addToast #method:addToast#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowAddToastMethodInfo     ,
#endif
    preferencesWindowAddToast               ,


-- ** closeSubpage #method:closeSubpage#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowCloseSubpageMethodInfo ,
#endif
    preferencesWindowCloseSubpage           ,


-- ** getCanNavigateBack #method:getCanNavigateBack#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowGetCanNavigateBackMethodInfo,
#endif
    preferencesWindowGetCanNavigateBack     ,


-- ** getSearchEnabled #method:getSearchEnabled#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowGetSearchEnabledMethodInfo,
#endif
    preferencesWindowGetSearchEnabled       ,


-- ** getVisiblePage #method:getVisiblePage#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowGetVisiblePageMethodInfo,
#endif
    preferencesWindowGetVisiblePage         ,


-- ** getVisiblePageName #method:getVisiblePageName#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowGetVisiblePageNameMethodInfo,
#endif
    preferencesWindowGetVisiblePageName     ,


-- ** new #method:new#

    preferencesWindowNew                    ,


-- ** presentSubpage #method:presentSubpage#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowPresentSubpageMethodInfo,
#endif
    preferencesWindowPresentSubpage         ,


-- ** remove #method:remove#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowRemoveMethodInfo       ,
#endif
    preferencesWindowRemove                 ,


-- ** setCanNavigateBack #method:setCanNavigateBack#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowSetCanNavigateBackMethodInfo,
#endif
    preferencesWindowSetCanNavigateBack     ,


-- ** setSearchEnabled #method:setSearchEnabled#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowSetSearchEnabledMethodInfo,
#endif
    preferencesWindowSetSearchEnabled       ,


-- ** setVisiblePage #method:setVisiblePage#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowSetVisiblePageMethodInfo,
#endif
    preferencesWindowSetVisiblePage         ,


-- ** setVisiblePageName #method:setVisiblePageName#

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowSetVisiblePageNameMethodInfo,
#endif
    preferencesWindowSetVisiblePageName     ,




 -- * Properties


-- ** canNavigateBack #attr:canNavigateBack#
-- | Whether gestures and shortcuts for closing subpages are enabled.
-- 
-- The supported gestures are:
-- 
-- * One-finger swipe on touchscreens
-- * Horizontal scrolling on touchpads (usually two-finger swipe)
-- * Back mouse button
-- 
-- 
-- The keyboard back key is also supported, as well as the
-- \<kbd>Alt\<\/kbd>+\<kbd>←\<\/kbd> shortcut.
-- 
-- For right-to-left locales, gestures and shortcuts are reversed.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowCanNavigateBackPropertyInfo,
#endif
    constructPreferencesWindowCanNavigateBack,
    getPreferencesWindowCanNavigateBack     ,
#if defined(ENABLE_OVERLOADING)
    preferencesWindowCanNavigateBack        ,
#endif
    setPreferencesWindowCanNavigateBack     ,


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

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowSearchEnabledPropertyInfo,
#endif
    constructPreferencesWindowSearchEnabled ,
    getPreferencesWindowSearchEnabled       ,
#if defined(ENABLE_OVERLOADING)
    preferencesWindowSearchEnabled          ,
#endif
    setPreferencesWindowSearchEnabled       ,


-- ** visiblePage #attr:visiblePage#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowVisiblePagePropertyInfo,
#endif
    clearPreferencesWindowVisiblePage       ,
    constructPreferencesWindowVisiblePage   ,
    getPreferencesWindowVisiblePage         ,
#if defined(ENABLE_OVERLOADING)
    preferencesWindowVisiblePage            ,
#endif
    setPreferencesWindowVisiblePage         ,


-- ** visiblePageName #attr:visiblePageName#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    PreferencesWindowVisiblePageNamePropertyInfo,
#endif
    constructPreferencesWindowVisiblePageName,
    getPreferencesWindowVisiblePageName     ,
#if defined(ENABLE_OVERLOADING)
    preferencesWindowVisiblePageName        ,
#endif
    setPreferencesWindowVisiblePageName     ,




    ) where

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

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

import {-# SOURCE #-} qualified GI.Adw.Objects.PreferencesPage as Adw.PreferencesPage
import {-# SOURCE #-} qualified GI.Adw.Objects.Toast as Adw.Toast
import {-# SOURCE #-} qualified GI.Adw.Objects.Window as Adw.Window
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.Interfaces.Native as Gtk.Native
import qualified GI.Gtk.Interfaces.Root as Gtk.Root
import qualified GI.Gtk.Interfaces.ShortcutManager as Gtk.ShortcutManager
import qualified GI.Gtk.Objects.Widget as Gtk.Widget
import qualified GI.Gtk.Objects.Window as Gtk.Window

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

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

foreign import ccall "adw_preferences_window_get_type"
    c_adw_preferences_window_get_type :: IO B.Types.GType

instance B.Types.TypedObject PreferencesWindow where
    glibType :: IO GType
glibType = IO GType
c_adw_preferences_window_get_type

instance B.Types.GObject PreferencesWindow

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

instance O.HasParentTypes PreferencesWindow
type instance O.ParentTypes PreferencesWindow = '[Adw.Window.Window, Gtk.Window.Window, Gtk.Widget.Widget, GObject.Object.Object, Gtk.Accessible.Accessible, Gtk.Buildable.Buildable, Gtk.ConstraintTarget.ConstraintTarget, Gtk.Native.Native, Gtk.Root.Root, Gtk.ShortcutManager.ShortcutManager]

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

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

#if defined(ENABLE_OVERLOADING)
type family ResolvePreferencesWindowMethod (t :: Symbol) (o :: *) :: * where
    ResolvePreferencesWindowMethod "actionSetEnabled" o = Gtk.Widget.WidgetActionSetEnabledMethodInfo
    ResolvePreferencesWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolvePreferencesWindowMethod "activateAction" o = Gtk.Widget.WidgetActivateActionMethodInfo
    ResolvePreferencesWindowMethod "activateDefault" o = Gtk.Widget.WidgetActivateDefaultMethodInfo
    ResolvePreferencesWindowMethod "add" o = PreferencesWindowAddMethodInfo
    ResolvePreferencesWindowMethod "addController" o = Gtk.Widget.WidgetAddControllerMethodInfo
    ResolvePreferencesWindowMethod "addCssClass" o = Gtk.Widget.WidgetAddCssClassMethodInfo
    ResolvePreferencesWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolvePreferencesWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolvePreferencesWindowMethod "addToast" o = PreferencesWindowAddToastMethodInfo
    ResolvePreferencesWindowMethod "allocate" o = Gtk.Widget.WidgetAllocateMethodInfo
    ResolvePreferencesWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolvePreferencesWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolvePreferencesWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolvePreferencesWindowMethod "close" o = Gtk.Window.WindowCloseMethodInfo
    ResolvePreferencesWindowMethod "closeSubpage" o = PreferencesWindowCloseSubpageMethodInfo
    ResolvePreferencesWindowMethod "computeBounds" o = Gtk.Widget.WidgetComputeBoundsMethodInfo
    ResolvePreferencesWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolvePreferencesWindowMethod "computePoint" o = Gtk.Widget.WidgetComputePointMethodInfo
    ResolvePreferencesWindowMethod "computeTransform" o = Gtk.Widget.WidgetComputeTransformMethodInfo
    ResolvePreferencesWindowMethod "contains" o = Gtk.Widget.WidgetContainsMethodInfo
    ResolvePreferencesWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolvePreferencesWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolvePreferencesWindowMethod "destroy" o = Gtk.Window.WindowDestroyMethodInfo
    ResolvePreferencesWindowMethod "disposeTemplate" o = Gtk.Widget.WidgetDisposeTemplateMethodInfo
    ResolvePreferencesWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolvePreferencesWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolvePreferencesWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolvePreferencesWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolvePreferencesWindowMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
    ResolvePreferencesWindowMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
    ResolvePreferencesWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolvePreferencesWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolvePreferencesWindowMethod "hasCssClass" o = Gtk.Widget.WidgetHasCssClassMethodInfo
    ResolvePreferencesWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolvePreferencesWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolvePreferencesWindowMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
    ResolvePreferencesWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolvePreferencesWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolvePreferencesWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolvePreferencesWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolvePreferencesWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolvePreferencesWindowMethod "insertAfter" o = Gtk.Widget.WidgetInsertAfterMethodInfo
    ResolvePreferencesWindowMethod "insertBefore" o = Gtk.Widget.WidgetInsertBeforeMethodInfo
    ResolvePreferencesWindowMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
    ResolvePreferencesWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolvePreferencesWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolvePreferencesWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolvePreferencesWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolvePreferencesWindowMethod "isFullscreen" o = Gtk.Window.WindowIsFullscreenMethodInfo
    ResolvePreferencesWindowMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
    ResolvePreferencesWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolvePreferencesWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolvePreferencesWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolvePreferencesWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolvePreferencesWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolvePreferencesWindowMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
    ResolvePreferencesWindowMethod "measure" o = Gtk.Widget.WidgetMeasureMethodInfo
    ResolvePreferencesWindowMethod "minimize" o = Gtk.Window.WindowMinimizeMethodInfo
    ResolvePreferencesWindowMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolvePreferencesWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolvePreferencesWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolvePreferencesWindowMethod "observeChildren" o = Gtk.Widget.WidgetObserveChildrenMethodInfo
    ResolvePreferencesWindowMethod "observeControllers" o = Gtk.Widget.WidgetObserveControllersMethodInfo
    ResolvePreferencesWindowMethod "pick" o = Gtk.Widget.WidgetPickMethodInfo
    ResolvePreferencesWindowMethod "present" o = Gtk.Window.WindowPresentMethodInfo
    ResolvePreferencesWindowMethod "presentSubpage" o = PreferencesWindowPresentSubpageMethodInfo
    ResolvePreferencesWindowMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
    ResolvePreferencesWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolvePreferencesWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolvePreferencesWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolvePreferencesWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolvePreferencesWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolvePreferencesWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolvePreferencesWindowMethod "remove" o = PreferencesWindowRemoveMethodInfo
    ResolvePreferencesWindowMethod "removeController" o = Gtk.Widget.WidgetRemoveControllerMethodInfo
    ResolvePreferencesWindowMethod "removeCssClass" o = Gtk.Widget.WidgetRemoveCssClassMethodInfo
    ResolvePreferencesWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolvePreferencesWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolvePreferencesWindowMethod "resetProperty" o = Gtk.Accessible.AccessibleResetPropertyMethodInfo
    ResolvePreferencesWindowMethod "resetRelation" o = Gtk.Accessible.AccessibleResetRelationMethodInfo
    ResolvePreferencesWindowMethod "resetState" o = Gtk.Accessible.AccessibleResetStateMethodInfo
    ResolvePreferencesWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolvePreferencesWindowMethod "shouldLayout" o = Gtk.Widget.WidgetShouldLayoutMethodInfo
    ResolvePreferencesWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolvePreferencesWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolvePreferencesWindowMethod "snapshotChild" o = Gtk.Widget.WidgetSnapshotChildMethodInfo
    ResolvePreferencesWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolvePreferencesWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolvePreferencesWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolvePreferencesWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolvePreferencesWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolvePreferencesWindowMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
    ResolvePreferencesWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolvePreferencesWindowMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
    ResolvePreferencesWindowMethod "unminimize" o = Gtk.Window.WindowUnminimizeMethodInfo
    ResolvePreferencesWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolvePreferencesWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolvePreferencesWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolvePreferencesWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolvePreferencesWindowMethod "updateProperty" o = Gtk.Accessible.AccessibleUpdatePropertyMethodInfo
    ResolvePreferencesWindowMethod "updateRelation" o = Gtk.Accessible.AccessibleUpdateRelationMethodInfo
    ResolvePreferencesWindowMethod "updateState" o = Gtk.Accessible.AccessibleUpdateStateMethodInfo
    ResolvePreferencesWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolvePreferencesWindowMethod "getAccessibleRole" o = Gtk.Accessible.AccessibleGetAccessibleRoleMethodInfo
    ResolvePreferencesWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolvePreferencesWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolvePreferencesWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolvePreferencesWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolvePreferencesWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolvePreferencesWindowMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
    ResolvePreferencesWindowMethod "getBuildableId" o = Gtk.Buildable.BuildableGetBuildableIdMethodInfo
    ResolvePreferencesWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolvePreferencesWindowMethod "getCanNavigateBack" o = PreferencesWindowGetCanNavigateBackMethodInfo
    ResolvePreferencesWindowMethod "getCanTarget" o = Gtk.Widget.WidgetGetCanTargetMethodInfo
    ResolvePreferencesWindowMethod "getChild" o = Gtk.Window.WindowGetChildMethodInfo
    ResolvePreferencesWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolvePreferencesWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolvePreferencesWindowMethod "getContent" o = Adw.Window.WindowGetContentMethodInfo
    ResolvePreferencesWindowMethod "getCssClasses" o = Gtk.Widget.WidgetGetCssClassesMethodInfo
    ResolvePreferencesWindowMethod "getCssName" o = Gtk.Widget.WidgetGetCssNameMethodInfo
    ResolvePreferencesWindowMethod "getCursor" o = Gtk.Widget.WidgetGetCursorMethodInfo
    ResolvePreferencesWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolvePreferencesWindowMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
    ResolvePreferencesWindowMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
    ResolvePreferencesWindowMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
    ResolvePreferencesWindowMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
    ResolvePreferencesWindowMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
    ResolvePreferencesWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolvePreferencesWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolvePreferencesWindowMethod "getFirstChild" o = Gtk.Widget.WidgetGetFirstChildMethodInfo
    ResolvePreferencesWindowMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
    ResolvePreferencesWindowMethod "getFocusChild" o = Gtk.Widget.WidgetGetFocusChildMethodInfo
    ResolvePreferencesWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolvePreferencesWindowMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
    ResolvePreferencesWindowMethod "getFocusable" o = Gtk.Widget.WidgetGetFocusableMethodInfo
    ResolvePreferencesWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolvePreferencesWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolvePreferencesWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolvePreferencesWindowMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
    ResolvePreferencesWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolvePreferencesWindowMethod "getHandleMenubarAccel" o = Gtk.Window.WindowGetHandleMenubarAccelMethodInfo
    ResolvePreferencesWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolvePreferencesWindowMethod "getHeight" o = Gtk.Widget.WidgetGetHeightMethodInfo
    ResolvePreferencesWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolvePreferencesWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolvePreferencesWindowMethod "getHideOnClose" o = Gtk.Window.WindowGetHideOnCloseMethodInfo
    ResolvePreferencesWindowMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
    ResolvePreferencesWindowMethod "getLastChild" o = Gtk.Widget.WidgetGetLastChildMethodInfo
    ResolvePreferencesWindowMethod "getLayoutManager" o = Gtk.Widget.WidgetGetLayoutManagerMethodInfo
    ResolvePreferencesWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolvePreferencesWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolvePreferencesWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolvePreferencesWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolvePreferencesWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolvePreferencesWindowMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
    ResolvePreferencesWindowMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
    ResolvePreferencesWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolvePreferencesWindowMethod "getNative" o = Gtk.Widget.WidgetGetNativeMethodInfo
    ResolvePreferencesWindowMethod "getNextSibling" o = Gtk.Widget.WidgetGetNextSiblingMethodInfo
    ResolvePreferencesWindowMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolvePreferencesWindowMethod "getOverflow" o = Gtk.Widget.WidgetGetOverflowMethodInfo
    ResolvePreferencesWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolvePreferencesWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolvePreferencesWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolvePreferencesWindowMethod "getPrevSibling" o = Gtk.Widget.WidgetGetPrevSiblingMethodInfo
    ResolvePreferencesWindowMethod "getPrimaryClipboard" o = Gtk.Widget.WidgetGetPrimaryClipboardMethodInfo
    ResolvePreferencesWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolvePreferencesWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolvePreferencesWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolvePreferencesWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolvePreferencesWindowMethod "getRenderer" o = Gtk.Native.NativeGetRendererMethodInfo
    ResolvePreferencesWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolvePreferencesWindowMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
    ResolvePreferencesWindowMethod "getRoot" o = Gtk.Widget.WidgetGetRootMethodInfo
    ResolvePreferencesWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolvePreferencesWindowMethod "getSearchEnabled" o = PreferencesWindowGetSearchEnabledMethodInfo
    ResolvePreferencesWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolvePreferencesWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolvePreferencesWindowMethod "getSize" o = Gtk.Widget.WidgetGetSizeMethodInfo
    ResolvePreferencesWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolvePreferencesWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolvePreferencesWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolvePreferencesWindowMethod "getSurface" o = Gtk.Native.NativeGetSurfaceMethodInfo
    ResolvePreferencesWindowMethod "getSurfaceTransform" o = Gtk.Native.NativeGetSurfaceTransformMethodInfo
    ResolvePreferencesWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolvePreferencesWindowMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
    ResolvePreferencesWindowMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
    ResolvePreferencesWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolvePreferencesWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolvePreferencesWindowMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
    ResolvePreferencesWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolvePreferencesWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolvePreferencesWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolvePreferencesWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolvePreferencesWindowMethod "getVisiblePage" o = PreferencesWindowGetVisiblePageMethodInfo
    ResolvePreferencesWindowMethod "getVisiblePageName" o = PreferencesWindowGetVisiblePageNameMethodInfo
    ResolvePreferencesWindowMethod "getWidth" o = Gtk.Widget.WidgetGetWidthMethodInfo
    ResolvePreferencesWindowMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
    ResolvePreferencesWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolvePreferencesWindowMethod "setCanNavigateBack" o = PreferencesWindowSetCanNavigateBackMethodInfo
    ResolvePreferencesWindowMethod "setCanTarget" o = Gtk.Widget.WidgetSetCanTargetMethodInfo
    ResolvePreferencesWindowMethod "setChild" o = Gtk.Window.WindowSetChildMethodInfo
    ResolvePreferencesWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolvePreferencesWindowMethod "setContent" o = Adw.Window.WindowSetContentMethodInfo
    ResolvePreferencesWindowMethod "setCssClasses" o = Gtk.Widget.WidgetSetCssClassesMethodInfo
    ResolvePreferencesWindowMethod "setCursor" o = Gtk.Widget.WidgetSetCursorMethodInfo
    ResolvePreferencesWindowMethod "setCursorFromName" o = Gtk.Widget.WidgetSetCursorFromNameMethodInfo
    ResolvePreferencesWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolvePreferencesWindowMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolvePreferencesWindowMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
    ResolvePreferencesWindowMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
    ResolvePreferencesWindowMethod "setDefaultWidget" o = Gtk.Window.WindowSetDefaultWidgetMethodInfo
    ResolvePreferencesWindowMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
    ResolvePreferencesWindowMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
    ResolvePreferencesWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolvePreferencesWindowMethod "setDisplay" o = Gtk.Window.WindowSetDisplayMethodInfo
    ResolvePreferencesWindowMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
    ResolvePreferencesWindowMethod "setFocusChild" o = Gtk.Widget.WidgetSetFocusChildMethodInfo
    ResolvePreferencesWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolvePreferencesWindowMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
    ResolvePreferencesWindowMethod "setFocusable" o = Gtk.Widget.WidgetSetFocusableMethodInfo
    ResolvePreferencesWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolvePreferencesWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolvePreferencesWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolvePreferencesWindowMethod "setHandleMenubarAccel" o = Gtk.Window.WindowSetHandleMenubarAccelMethodInfo
    ResolvePreferencesWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolvePreferencesWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolvePreferencesWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolvePreferencesWindowMethod "setHideOnClose" o = Gtk.Window.WindowSetHideOnCloseMethodInfo
    ResolvePreferencesWindowMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
    ResolvePreferencesWindowMethod "setLayoutManager" o = Gtk.Widget.WidgetSetLayoutManagerMethodInfo
    ResolvePreferencesWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolvePreferencesWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolvePreferencesWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolvePreferencesWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolvePreferencesWindowMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
    ResolvePreferencesWindowMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
    ResolvePreferencesWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolvePreferencesWindowMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolvePreferencesWindowMethod "setOverflow" o = Gtk.Widget.WidgetSetOverflowMethodInfo
    ResolvePreferencesWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolvePreferencesWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolvePreferencesWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolvePreferencesWindowMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
    ResolvePreferencesWindowMethod "setSearchEnabled" o = PreferencesWindowSetSearchEnabledMethodInfo
    ResolvePreferencesWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolvePreferencesWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolvePreferencesWindowMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
    ResolvePreferencesWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolvePreferencesWindowMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
    ResolvePreferencesWindowMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
    ResolvePreferencesWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolvePreferencesWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolvePreferencesWindowMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
    ResolvePreferencesWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolvePreferencesWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolvePreferencesWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolvePreferencesWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolvePreferencesWindowMethod "setVisiblePage" o = PreferencesWindowSetVisiblePageMethodInfo
    ResolvePreferencesWindowMethod "setVisiblePageName" o = PreferencesWindowSetVisiblePageNameMethodInfo
    ResolvePreferencesWindowMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data PreferencesWindowCanNavigateBackPropertyInfo
instance AttrInfo PreferencesWindowCanNavigateBackPropertyInfo where
    type AttrAllowedOps PreferencesWindowCanNavigateBackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesWindowCanNavigateBackPropertyInfo = IsPreferencesWindow
    type AttrSetTypeConstraint PreferencesWindowCanNavigateBackPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint PreferencesWindowCanNavigateBackPropertyInfo = (~) Bool
    type AttrTransferType PreferencesWindowCanNavigateBackPropertyInfo = Bool
    type AttrGetType PreferencesWindowCanNavigateBackPropertyInfo = Bool
    type AttrLabel PreferencesWindowCanNavigateBackPropertyInfo = "can-navigate-back"
    type AttrOrigin PreferencesWindowCanNavigateBackPropertyInfo = PreferencesWindow
    attrGet = getPreferencesWindowCanNavigateBack
    attrSet = setPreferencesWindowCanNavigateBack
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesWindowCanNavigateBack
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesWindow.canNavigateBack"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesWindow.html#g:attr:canNavigateBack"
        })
#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' preferencesWindow #searchEnabled
-- @
getPreferencesWindowSearchEnabled :: (MonadIO m, IsPreferencesWindow o) => o -> m Bool
getPreferencesWindowSearchEnabled :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> m Bool
getPreferencesWindowSearchEnabled 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' preferencesWindow [ #searchEnabled 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesWindowSearchEnabled :: (MonadIO m, IsPreferencesWindow o) => o -> Bool -> m ()
setPreferencesWindowSearchEnabled :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> Bool -> m ()
setPreferencesWindowSearchEnabled 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`.
constructPreferencesWindowSearchEnabled :: (IsPreferencesWindow o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructPreferencesWindowSearchEnabled :: forall o (m :: * -> *).
(IsPreferencesWindow o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructPreferencesWindowSearchEnabled 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 PreferencesWindowSearchEnabledPropertyInfo
instance AttrInfo PreferencesWindowSearchEnabledPropertyInfo where
    type AttrAllowedOps PreferencesWindowSearchEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesWindowSearchEnabledPropertyInfo = IsPreferencesWindow
    type AttrSetTypeConstraint PreferencesWindowSearchEnabledPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint PreferencesWindowSearchEnabledPropertyInfo = (~) Bool
    type AttrTransferType PreferencesWindowSearchEnabledPropertyInfo = Bool
    type AttrGetType PreferencesWindowSearchEnabledPropertyInfo = Bool
    type AttrLabel PreferencesWindowSearchEnabledPropertyInfo = "search-enabled"
    type AttrOrigin PreferencesWindowSearchEnabledPropertyInfo = PreferencesWindow
    attrGet = getPreferencesWindowSearchEnabled
    attrSet = setPreferencesWindowSearchEnabled
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesWindowSearchEnabled
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesWindow.searchEnabled"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesWindow.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' preferencesWindow #visiblePage
-- @
getPreferencesWindowVisiblePage :: (MonadIO m, IsPreferencesWindow o) => o -> m (Maybe Gtk.Widget.Widget)
getPreferencesWindowVisiblePage :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> m (Maybe Widget)
getPreferencesWindowVisiblePage 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' preferencesWindow [ #visiblePage 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesWindowVisiblePage :: (MonadIO m, IsPreferencesWindow o, Gtk.Widget.IsWidget a) => o -> a -> m ()
setPreferencesWindowVisiblePage :: forall (m :: * -> *) o a.
(MonadIO m, IsPreferencesWindow o, IsWidget a) =>
o -> a -> m ()
setPreferencesWindowVisiblePage 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`.
constructPreferencesWindowVisiblePage :: (IsPreferencesWindow o, MIO.MonadIO m, Gtk.Widget.IsWidget a) => a -> m (GValueConstruct o)
constructPreferencesWindowVisiblePage :: forall o (m :: * -> *) a.
(IsPreferencesWindow o, MonadIO m, IsWidget a) =>
a -> m (GValueConstruct o)
constructPreferencesWindowVisiblePage 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
-- @
clearPreferencesWindowVisiblePage :: (MonadIO m, IsPreferencesWindow o) => o -> m ()
clearPreferencesWindowVisiblePage :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> m ()
clearPreferencesWindowVisiblePage 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 PreferencesWindowVisiblePagePropertyInfo
instance AttrInfo PreferencesWindowVisiblePagePropertyInfo where
    type AttrAllowedOps PreferencesWindowVisiblePagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint PreferencesWindowVisiblePagePropertyInfo = IsPreferencesWindow
    type AttrSetTypeConstraint PreferencesWindowVisiblePagePropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferTypeConstraint PreferencesWindowVisiblePagePropertyInfo = Gtk.Widget.IsWidget
    type AttrTransferType PreferencesWindowVisiblePagePropertyInfo = Gtk.Widget.Widget
    type AttrGetType PreferencesWindowVisiblePagePropertyInfo = (Maybe Gtk.Widget.Widget)
    type AttrLabel PreferencesWindowVisiblePagePropertyInfo = "visible-page"
    type AttrOrigin PreferencesWindowVisiblePagePropertyInfo = PreferencesWindow
    attrGet = getPreferencesWindowVisiblePage
    attrSet = setPreferencesWindowVisiblePage
    attrTransfer _ v = do
        unsafeCastTo Gtk.Widget.Widget v
    attrConstruct = constructPreferencesWindowVisiblePage
    attrClear = clearPreferencesWindowVisiblePage
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesWindow.visiblePage"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesWindow.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' preferencesWindow #visiblePageName
-- @
getPreferencesWindowVisiblePageName :: (MonadIO m, IsPreferencesWindow o) => o -> m (Maybe T.Text)
getPreferencesWindowVisiblePageName :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> m (Maybe Text)
getPreferencesWindowVisiblePageName 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' preferencesWindow [ #visiblePageName 'Data.GI.Base.Attributes.:=' value ]
-- @
setPreferencesWindowVisiblePageName :: (MonadIO m, IsPreferencesWindow o) => o -> T.Text -> m ()
setPreferencesWindowVisiblePageName :: forall (m :: * -> *) o.
(MonadIO m, IsPreferencesWindow o) =>
o -> Text -> m ()
setPreferencesWindowVisiblePageName 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`.
constructPreferencesWindowVisiblePageName :: (IsPreferencesWindow o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructPreferencesWindowVisiblePageName :: forall o (m :: * -> *).
(IsPreferencesWindow o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructPreferencesWindowVisiblePageName 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 PreferencesWindowVisiblePageNamePropertyInfo
instance AttrInfo PreferencesWindowVisiblePageNamePropertyInfo where
    type AttrAllowedOps PreferencesWindowVisiblePageNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint PreferencesWindowVisiblePageNamePropertyInfo = IsPreferencesWindow
    type AttrSetTypeConstraint PreferencesWindowVisiblePageNamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint PreferencesWindowVisiblePageNamePropertyInfo = (~) T.Text
    type AttrTransferType PreferencesWindowVisiblePageNamePropertyInfo = T.Text
    type AttrGetType PreferencesWindowVisiblePageNamePropertyInfo = (Maybe T.Text)
    type AttrLabel PreferencesWindowVisiblePageNamePropertyInfo = "visible-page-name"
    type AttrOrigin PreferencesWindowVisiblePageNamePropertyInfo = PreferencesWindow
    attrGet = getPreferencesWindowVisiblePageName
    attrSet = setPreferencesWindowVisiblePageName
    attrTransfer _ v = do
        return v
    attrConstruct = constructPreferencesWindowVisiblePageName
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.PreferencesWindow.visiblePageName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.3/docs/GI-Adw-Objects-PreferencesWindow.html#g:attr:visiblePageName"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PreferencesWindow
type instance O.AttributeList PreferencesWindow = PreferencesWindowAttributeList
type PreferencesWindowAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canNavigateBack", PreferencesWindowCanNavigateBackPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("child", Gtk.Window.WindowChildPropertyInfo), '("content", Adw.Window.WindowContentPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidget", Gtk.Window.WindowDefaultWidgetPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("display", Gtk.Window.WindowDisplayPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("focusWidget", Gtk.Window.WindowFocusWidgetPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("fullscreened", Gtk.Window.WindowFullscreenedPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("handleMenubarAccel", Gtk.Window.WindowHandleMenubarAccelPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideOnClose", Gtk.Window.WindowHideOnClosePropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maximized", Gtk.Window.WindowMaximizedPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overflow", Gtk.Widget.WidgetOverflowPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchEnabled", PreferencesWindowSearchEnabledPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("titlebar", Gtk.Window.WindowTitlebarPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visiblePage", PreferencesWindowVisiblePagePropertyInfo), '("visiblePageName", PreferencesWindowVisiblePageNamePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
preferencesWindowCanNavigateBack :: AttrLabelProxy "canNavigateBack"
preferencesWindowCanNavigateBack = AttrLabelProxy

preferencesWindowSearchEnabled :: AttrLabelProxy "searchEnabled"
preferencesWindowSearchEnabled = AttrLabelProxy

preferencesWindowVisiblePage :: AttrLabelProxy "visiblePage"
preferencesWindowVisiblePage = AttrLabelProxy

preferencesWindowVisiblePageName :: AttrLabelProxy "visiblePageName"
preferencesWindowVisiblePageName = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList PreferencesWindow = PreferencesWindowSignalList
type PreferencesWindowSignalList = ('[ '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("closeRequest", Gtk.Window.WindowCloseRequestSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo)] :: [(Symbol, *)])

#endif

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

foreign import ccall "adw_preferences_window_new" adw_preferences_window_new :: 
    IO (Ptr PreferencesWindow)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

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

-- | Adds a preferences page to /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowAdd ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences window
    -> b
    -- ^ /@page@/: the page to add
    -> m ()
preferencesWindowAdd :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesWindow a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesWindowAdd 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
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 PreferencesWindow -> Ptr PreferencesPage -> IO ()
adw_preferences_window_add Ptr PreferencesWindow
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 PreferencesWindowAddMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesWindowAddMethodInfo a signature where
    overloadedMethod = preferencesWindowAdd

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


#endif

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

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

-- | Displays /@toast@/.
-- 
-- See [method/@toastOverlay@/.add_toast].
-- 
-- /Since: 1.0/
preferencesWindowAddToast ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a, Adw.Toast.IsToast b) =>
    a
    -- ^ /@self@/: a preferences window
    -> b
    -- ^ /@toast@/: a toast
    -> m ()
preferencesWindowAddToast :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesWindow a, IsToast b) =>
a -> b -> m ()
preferencesWindowAddToast 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
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 PreferencesWindow -> Ptr Toast -> IO ()
adw_preferences_window_add_toast Ptr PreferencesWindow
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 PreferencesWindowAddToastMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesWindow a, Adw.Toast.IsToast b) => O.OverloadedMethod PreferencesWindowAddToastMethodInfo a signature where
    overloadedMethod = preferencesWindowAddToast

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


#endif

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

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

-- | Closes the current subpage.
-- 
-- If there is no presented subpage, this does nothing.
-- 
-- /Since: 1.0/
preferencesWindowCloseSubpage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> m ()
preferencesWindowCloseSubpage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> m ()
preferencesWindowCloseSubpage a
self = 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesWindow -> IO ()
adw_preferences_window_close_subpage Ptr PreferencesWindow
self'
    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 PreferencesWindowCloseSubpageMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowCloseSubpageMethodInfo a signature where
    overloadedMethod = preferencesWindowCloseSubpage

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


#endif

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

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

-- | Gets whether gestures and shortcuts for closing subpages are enabled.
-- 
-- /Since: 1.0/
preferencesWindowGetCanNavigateBack ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> m Bool
    -- ^ __Returns:__ whether gestures and shortcuts are enabled.
preferencesWindowGetCanNavigateBack :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> m Bool
preferencesWindowGetCanNavigateBack 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesWindow -> IO CInt
adw_preferences_window_get_can_navigate_back Ptr PreferencesWindow
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 PreferencesWindowGetCanNavigateBackMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowGetCanNavigateBackMethodInfo a signature where
    overloadedMethod = preferencesWindowGetCanNavigateBack

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


#endif

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

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

-- | Gets whether search is enabled for /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowGetSearchEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> m Bool
    -- ^ __Returns:__ whether search is enabled for /@self@/.
preferencesWindowGetSearchEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> m Bool
preferencesWindowGetSearchEnabled 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr PreferencesWindow -> IO CInt
adw_preferences_window_get_search_enabled Ptr PreferencesWindow
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 PreferencesWindowGetSearchEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowGetSearchEnabledMethodInfo a signature where
    overloadedMethod = preferencesWindowGetSearchEnabled

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


#endif

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

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

-- | Gets the currently visible page of /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowGetVisiblePage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> m (Maybe Adw.PreferencesPage.PreferencesPage)
    -- ^ __Returns:__ the visible page
preferencesWindowGetVisiblePage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> m (Maybe PreferencesPage)
preferencesWindowGetVisiblePage 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr PreferencesPage
result <- Ptr PreferencesWindow -> IO (Ptr PreferencesPage)
adw_preferences_window_get_visible_page Ptr PreferencesWindow
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 PreferencesWindowGetVisiblePageMethodInfo
instance (signature ~ (m (Maybe Adw.PreferencesPage.PreferencesPage)), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowGetVisiblePageMethodInfo a signature where
    overloadedMethod = preferencesWindowGetVisiblePage

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


#endif

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

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

-- | Gets the name of currently visible page of /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowGetVisiblePageName ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the name of the visible page
preferencesWindowGetVisiblePageName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> m (Maybe Text)
preferencesWindowGetVisiblePageName 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr PreferencesWindow -> IO CString
adw_preferences_window_get_visible_page_name Ptr PreferencesWindow
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 PreferencesWindowGetVisiblePageNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowGetVisiblePageNameMethodInfo a signature where
    overloadedMethod = preferencesWindowGetVisiblePageName

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


#endif

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

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

-- | Sets /@subpage@/ as the window\'s subpage and opens it.
-- 
-- The transition can be cancelled by the user, in which case visible child will
-- change back to the previously visible child.
-- 
-- /Since: 1.0/
preferencesWindowPresentSubpage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a, Gtk.Widget.IsWidget b) =>
    a
    -- ^ /@self@/: a preferences window
    -> b
    -- ^ /@subpage@/: the subpage
    -> m ()
preferencesWindowPresentSubpage :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesWindow a, IsWidget b) =>
a -> b -> m ()
preferencesWindowPresentSubpage a
self b
subpage = 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Widget
subpage' <- b -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
subpage
    Ptr PreferencesWindow -> Ptr Widget -> IO ()
adw_preferences_window_present_subpage Ptr PreferencesWindow
self' Ptr Widget
subpage'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
subpage
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif

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

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

-- | Removes a page from /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowRemove ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences window
    -> b
    -- ^ /@page@/: the page to remove
    -> m ()
preferencesWindowRemove :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesWindow a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesWindowRemove 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
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 PreferencesWindow -> Ptr PreferencesPage -> IO ()
adw_preferences_window_remove Ptr PreferencesWindow
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 PreferencesWindowRemoveMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesWindowRemoveMethodInfo a signature where
    overloadedMethod = preferencesWindowRemove

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


#endif

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

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

-- | Sets whether gestures and shortcuts for closing subpages are enabled.
-- 
-- The supported gestures are:
-- 
-- * One-finger swipe on touchscreens
-- * Horizontal scrolling on touchpads (usually two-finger swipe)
-- * Back mouse button
-- 
-- 
-- The keyboard back key is also supported, as well as the
-- \<kbd>Alt\<\/kbd>+\<kbd>←\<\/kbd> shortcut.
-- 
-- For right-to-left locales, gestures and shortcuts are reversed.
-- 
-- /Since: 1.0/
preferencesWindowSetCanNavigateBack ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> Bool
    -- ^ /@canNavigateBack@/: the new value
    -> m ()
preferencesWindowSetCanNavigateBack :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> Bool -> m ()
preferencesWindowSetCanNavigateBack a
self Bool
canNavigateBack = 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let canNavigateBack' :: CInt
canNavigateBack' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
canNavigateBack
    Ptr PreferencesWindow -> CInt -> IO ()
adw_preferences_window_set_can_navigate_back Ptr PreferencesWindow
self' CInt
canNavigateBack'
    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 PreferencesWindowSetCanNavigateBackMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowSetCanNavigateBackMethodInfo a signature where
    overloadedMethod = preferencesWindowSetCanNavigateBack

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


#endif

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

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

-- | Sets whether search is enabled for /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowSetSearchEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> Bool
    -- ^ /@searchEnabled@/: whether search is enabled
    -> m ()
preferencesWindowSetSearchEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> Bool -> m ()
preferencesWindowSetSearchEnabled 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
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
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
searchEnabled
    Ptr PreferencesWindow -> CInt -> IO ()
adw_preferences_window_set_search_enabled Ptr PreferencesWindow
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 PreferencesWindowSetSearchEnabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowSetSearchEnabledMethodInfo a signature where
    overloadedMethod = preferencesWindowSetSearchEnabled

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


#endif

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

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

-- | Makes /@page@/ the visible page of /@self@/.
-- 
-- /Since: 1.0/
preferencesWindowSetVisiblePage ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) =>
    a
    -- ^ /@self@/: a preferences window
    -> b
    -- ^ /@page@/: a page of /@self@/
    -> m ()
preferencesWindowSetVisiblePage :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPreferencesWindow a,
 IsPreferencesPage b) =>
a -> b -> m ()
preferencesWindowSetVisiblePage 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
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 PreferencesWindow -> Ptr PreferencesPage -> IO ()
adw_preferences_window_set_visible_page Ptr PreferencesWindow
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 PreferencesWindowSetVisiblePageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsPreferencesWindow a, Adw.PreferencesPage.IsPreferencesPage b) => O.OverloadedMethod PreferencesWindowSetVisiblePageMethodInfo a signature where
    overloadedMethod = preferencesWindowSetVisiblePage

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


#endif

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

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

-- | Makes the page with the given name visible.
-- 
-- See [property/@viewStack@/:visible-child].
-- 
-- /Since: 1.0/
preferencesWindowSetVisiblePageName ::
    (B.CallStack.HasCallStack, MonadIO m, IsPreferencesWindow a) =>
    a
    -- ^ /@self@/: a preferences window
    -> T.Text
    -- ^ /@name@/: the name of the page to make visible
    -> m ()
preferencesWindowSetVisiblePageName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPreferencesWindow a) =>
a -> Text -> m ()
preferencesWindowSetVisiblePageName 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 PreferencesWindow
self' <- a -> IO (Ptr PreferencesWindow)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
name' <- Text -> IO CString
textToCString Text
name
    Ptr PreferencesWindow -> CString -> IO ()
adw_preferences_window_set_visible_page_name Ptr PreferencesWindow
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 PreferencesWindowSetVisiblePageNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsPreferencesWindow a) => O.OverloadedMethod PreferencesWindowSetVisiblePageNameMethodInfo a signature where
    overloadedMethod = preferencesWindowSetVisiblePageName

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


#endif