{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A view switcher title.
-- 
-- \<picture>
--   \<source srcset=\"view-switcher-title-dark.png\" media=\"(prefers-color-scheme: dark)\">
--   \<img src=\"view-switcher-title.png\" alt=\"view-switcher-title\">
-- \<\/picture>
-- 
-- A widget letting you switch between multiple views contained by a
-- [class/@viewStack@/] via an [class/@viewSwitcher@/].
-- 
-- It is designed to be used as the title widget of a [class/@headerBar@/], and
-- will display the window\'s title when the window is too narrow to fit the view
-- switcher e.g. on mobile phones, or if there are less than two views.
-- 
-- In order to center the title in narrow windows, the header bar should have
-- [property/@headerBar@/:centering-policy] set to
-- @ADW_CENTERING_POLICY_STRICT@.
-- 
-- @AdwViewSwitcherTitle@ is intended to be used together with
-- [class/@viewSwitcherBar@/].
-- 
-- A common use case is to bind the [property/@viewSwitcherBar@/:reveal] property
-- to [property/@viewSwitcherTitle@/:title-visible] to automatically reveal the
-- view switcher bar when the title label is displayed in place of the view
-- switcher, as follows:
-- 
-- 
-- === /xml code/
-- ><object class="GtkWindow">
-- >  <property name="titlebar">
-- >    <object class="AdwHeaderBar">
-- >      <property name="centering-policy">strict</property>
-- >      <property name="title-widget">
-- >        <object class="AdwViewSwitcherTitle" id="title">
-- >          <property name="stack">stack</property>
-- >        </object>
-- >      </property>
-- >    </object>
-- >  </property>
-- >  <property name="child">
-- >    <object class="GtkBox">
-- >      <property name="orientation">vertical</property>
-- >      <child>
-- >        <object class="AdwViewStack" id="stack"/>
-- >      </child>
-- >      <child>
-- >        <object class="AdwViewSwitcherBar">
-- >          <property name="stack">stack</property>
-- >          <binding name="reveal">
-- >            <lookup name="title-visible">title</lookup>
-- >          </binding>
-- >        </object>
-- >      </child>
-- >    </object>
-- >  </property>
-- ></object>
-- 
-- 
-- == CSS nodes
-- 
-- @AdwViewSwitcherTitle@ has a single CSS node with name @viewswitchertitle@.

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

module GI.Adw.Objects.ViewSwitcherTitle
    ( 

-- * Exported types
    ViewSwitcherTitle(..)                   ,
    IsViewSwitcherTitle                     ,
    toViewSwitcherTitle                     ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [actionSetEnabled]("GI.Gtk.Objects.Widget#g:method:actionSetEnabled"), [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [activateAction]("GI.Gtk.Objects.Widget#g:method:activateAction"), [activateDefault]("GI.Gtk.Objects.Widget#g:method:activateDefault"), [addController]("GI.Gtk.Objects.Widget#g:method:addController"), [addCssClass]("GI.Gtk.Objects.Widget#g:method:addCssClass"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [allocate]("GI.Gtk.Objects.Widget#g:method:allocate"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [computeBounds]("GI.Gtk.Objects.Widget#g:method:computeBounds"), [computeExpand]("GI.Gtk.Objects.Widget#g:method:computeExpand"), [computePoint]("GI.Gtk.Objects.Widget#g:method:computePoint"), [computeTransform]("GI.Gtk.Objects.Widget#g:method:computeTransform"), [contains]("GI.Gtk.Objects.Widget#g:method:contains"), [createPangoContext]("GI.Gtk.Objects.Widget#g:method:createPangoContext"), [createPangoLayout]("GI.Gtk.Objects.Widget#g:method:createPangoLayout"), [disposeTemplate]("GI.Gtk.Objects.Widget#g:method:disposeTemplate"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [hasCssClass]("GI.Gtk.Objects.Widget#g:method:hasCssClass"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [insertAfter]("GI.Gtk.Objects.Widget#g:method:insertAfter"), [insertBefore]("GI.Gtk.Objects.Widget#g:method:insertBefore"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isDrawable]("GI.Gtk.Objects.Widget#g:method:isDrawable"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isFocus]("GI.Gtk.Objects.Widget#g:method:isFocus"), [isSensitive]("GI.Gtk.Objects.Widget#g:method:isSensitive"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [measure]("GI.Gtk.Objects.Widget#g:method:measure"), [mnemonicActivate]("GI.Gtk.Objects.Widget#g:method:mnemonicActivate"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [observeChildren]("GI.Gtk.Objects.Widget#g:method:observeChildren"), [observeControllers]("GI.Gtk.Objects.Widget#g:method:observeControllers"), [pick]("GI.Gtk.Objects.Widget#g:method:pick"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeController]("GI.Gtk.Objects.Widget#g:method:removeController"), [removeCssClass]("GI.Gtk.Objects.Widget#g:method:removeCssClass"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [resetProperty]("GI.Gtk.Interfaces.Accessible#g:method:resetProperty"), [resetRelation]("GI.Gtk.Interfaces.Accessible#g:method:resetRelation"), [resetState]("GI.Gtk.Interfaces.Accessible#g:method:resetState"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [shouldLayout]("GI.Gtk.Objects.Widget#g:method:shouldLayout"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [snapshotChild]("GI.Gtk.Objects.Widget#g:method:snapshotChild"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [translateCoordinates]("GI.Gtk.Objects.Widget#g:method:translateCoordinates"), [triggerTooltipQuery]("GI.Gtk.Objects.Widget#g:method:triggerTooltipQuery"), [unmap]("GI.Gtk.Objects.Widget#g:method:unmap"), [unparent]("GI.Gtk.Objects.Widget#g:method:unparent"), [unrealize]("GI.Gtk.Objects.Widget#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [updateNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:updateNextAccessibleSibling"), [updateProperty]("GI.Gtk.Interfaces.Accessible#g:method:updateProperty"), [updateRelation]("GI.Gtk.Interfaces.Accessible#g:method:updateRelation"), [updateState]("GI.Gtk.Interfaces.Accessible#g:method:updateState"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleParent"), [getAccessibleRole]("GI.Gtk.Interfaces.Accessible#g:method:getAccessibleRole"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAtContext]("GI.Gtk.Interfaces.Accessible#g:method:getAtContext"), [getBounds]("GI.Gtk.Interfaces.Accessible#g:method:getBounds"), [getBuildableId]("GI.Gtk.Interfaces.Buildable#g:method:getBuildableId"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getCanTarget]("GI.Gtk.Objects.Widget#g:method:getCanTarget"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getColor]("GI.Gtk.Objects.Widget#g:method:getColor"), [getCssClasses]("GI.Gtk.Objects.Widget#g:method:getCssClasses"), [getCssName]("GI.Gtk.Objects.Widget#g:method:getCssName"), [getCursor]("GI.Gtk.Objects.Widget#g:method:getCursor"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getFirstAccessibleChild]("GI.Gtk.Interfaces.Accessible#g:method:getFirstAccessibleChild"), [getFirstChild]("GI.Gtk.Objects.Widget#g:method:getFirstChild"), [getFocusChild]("GI.Gtk.Objects.Widget#g:method:getFocusChild"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusable]("GI.Gtk.Objects.Widget#g:method:getFocusable"), [getFontMap]("GI.Gtk.Objects.Widget#g:method:getFontMap"), [getFontOptions]("GI.Gtk.Objects.Widget#g:method:getFontOptions"), [getFrameClock]("GI.Gtk.Objects.Widget#g:method:getFrameClock"), [getHalign]("GI.Gtk.Objects.Widget#g:method:getHalign"), [getHasTooltip]("GI.Gtk.Objects.Widget#g:method:getHasTooltip"), [getHeight]("GI.Gtk.Objects.Widget#g:method:getHeight"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getLastChild]("GI.Gtk.Objects.Widget#g:method:getLastChild"), [getLayoutManager]("GI.Gtk.Objects.Widget#g:method:getLayoutManager"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNative]("GI.Gtk.Objects.Widget#g:method:getNative"), [getNextAccessibleSibling]("GI.Gtk.Interfaces.Accessible#g:method:getNextAccessibleSibling"), [getNextSibling]("GI.Gtk.Objects.Widget#g:method:getNextSibling"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOverflow]("GI.Gtk.Objects.Widget#g:method:getOverflow"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getPlatformState]("GI.Gtk.Interfaces.Accessible#g:method:getPlatformState"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPrevSibling]("GI.Gtk.Objects.Widget#g:method:getPrevSibling"), [getPrimaryClipboard]("GI.Gtk.Objects.Widget#g:method:getPrimaryClipboard"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRealized]("GI.Gtk.Objects.Widget#g:method:getRealized"), [getReceivesDefault]("GI.Gtk.Objects.Widget#g:method:getReceivesDefault"), [getRequestMode]("GI.Gtk.Objects.Widget#g:method:getRequestMode"), [getRoot]("GI.Gtk.Objects.Widget#g:method:getRoot"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSize]("GI.Gtk.Objects.Widget#g:method:getSize"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getStack]("GI.Adw.Objects.ViewSwitcherTitle#g:method:getStack"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getSubtitle]("GI.Adw.Objects.ViewSwitcherTitle#g:method:getSubtitle"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Adw.Objects.ViewSwitcherTitle#g:method:getTitle"), [getTitleVisible]("GI.Adw.Objects.ViewSwitcherTitle#g:method:getTitleVisible"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getViewSwitcherEnabled]("GI.Adw.Objects.ViewSwitcherTitle#g:method:getViewSwitcherEnabled"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getWidth]("GI.Gtk.Objects.Widget#g:method:getWidth").
-- 
-- ==== Setters
-- [setAccessibleParent]("GI.Gtk.Interfaces.Accessible#g:method:setAccessibleParent"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setCanTarget]("GI.Gtk.Objects.Widget#g:method:setCanTarget"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setCssClasses]("GI.Gtk.Objects.Widget#g:method:setCssClasses"), [setCursor]("GI.Gtk.Objects.Widget#g:method:setCursor"), [setCursorFromName]("GI.Gtk.Objects.Widget#g:method:setCursorFromName"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setFocusChild]("GI.Gtk.Objects.Widget#g:method:setFocusChild"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusable]("GI.Gtk.Objects.Widget#g:method:setFocusable"), [setFontMap]("GI.Gtk.Objects.Widget#g:method:setFontMap"), [setFontOptions]("GI.Gtk.Objects.Widget#g:method:setFontOptions"), [setHalign]("GI.Gtk.Objects.Widget#g:method:setHalign"), [setHasTooltip]("GI.Gtk.Objects.Widget#g:method:setHasTooltip"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setLayoutManager]("GI.Gtk.Objects.Widget#g:method:setLayoutManager"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setOverflow]("GI.Gtk.Objects.Widget#g:method:setOverflow"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStack]("GI.Adw.Objects.ViewSwitcherTitle#g:method:setStack"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setSubtitle]("GI.Adw.Objects.ViewSwitcherTitle#g:method:setSubtitle"), [setTitle]("GI.Adw.Objects.ViewSwitcherTitle#g:method:setTitle"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setValign]("GI.Gtk.Objects.Widget#g:method:setValign"), [setVexpand]("GI.Gtk.Objects.Widget#g:method:setVexpand"), [setVexpandSet]("GI.Gtk.Objects.Widget#g:method:setVexpandSet"), [setViewSwitcherEnabled]("GI.Adw.Objects.ViewSwitcherTitle#g:method:setViewSwitcherEnabled"), [setVisible]("GI.Gtk.Objects.Widget#g:method:setVisible").

#if defined(ENABLE_OVERLOADING)
    ResolveViewSwitcherTitleMethod          ,
#endif

-- ** getStack #method:getStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetStackMethodInfo     ,
#endif
    viewSwitcherTitleGetStack               ,


-- ** getSubtitle #method:getSubtitle#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetSubtitleMethodInfo  ,
#endif
    viewSwitcherTitleGetSubtitle            ,


-- ** getTitle #method:getTitle#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetTitleMethodInfo     ,
#endif
    viewSwitcherTitleGetTitle               ,


-- ** getTitleVisible #method:getTitleVisible#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetTitleVisibleMethodInfo,
#endif
    viewSwitcherTitleGetTitleVisible        ,


-- ** getViewSwitcherEnabled #method:getViewSwitcherEnabled#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetViewSwitcherEnabledMethodInfo,
#endif
    viewSwitcherTitleGetViewSwitcherEnabled ,


-- ** new #method:new#

    viewSwitcherTitleNew                    ,


-- ** setStack #method:setStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSetStackMethodInfo     ,
#endif
    viewSwitcherTitleSetStack               ,


-- ** setSubtitle #method:setSubtitle#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSetSubtitleMethodInfo  ,
#endif
    viewSwitcherTitleSetSubtitle            ,


-- ** setTitle #method:setTitle#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSetTitleMethodInfo     ,
#endif
    viewSwitcherTitleSetTitle               ,


-- ** setViewSwitcherEnabled #method:setViewSwitcherEnabled#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSetViewSwitcherEnabledMethodInfo,
#endif
    viewSwitcherTitleSetViewSwitcherEnabled ,




 -- * Properties


-- ** stack #attr:stack#
-- | The stack the view switcher controls.

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleStackPropertyInfo      ,
#endif
    clearViewSwitcherTitleStack             ,
    constructViewSwitcherTitleStack         ,
    getViewSwitcherTitleStack               ,
    setViewSwitcherTitleStack               ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitleStack                  ,
#endif


-- ** subtitle #attr:subtitle#
-- | The subtitle to display.
-- 
-- The subtitle should give the user additional details.

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSubtitlePropertyInfo   ,
#endif
    constructViewSwitcherTitleSubtitle      ,
    getViewSwitcherTitleSubtitle            ,
    setViewSwitcherTitleSubtitle            ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitleSubtitle               ,
#endif


-- ** title #attr:title#
-- | The title to display.
-- 
-- The title typically identifies the current view or content item, and
-- generally does not use the application name.

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleTitlePropertyInfo      ,
#endif
    constructViewSwitcherTitleTitle         ,
    getViewSwitcherTitleTitle               ,
    setViewSwitcherTitleTitle               ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitleTitle                  ,
#endif


-- ** titleVisible #attr:titleVisible#
-- | Whether the title is currently visible.
-- 
-- If the title is visible, it means the view switcher is hidden an it may be
-- wanted to show an alternative switcher, e.g. a [class/@viewSwitcherBar@/].

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleTitleVisiblePropertyInfo,
#endif
    getViewSwitcherTitleTitleVisible        ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitleTitleVisible           ,
#endif


-- ** viewSwitcherEnabled #attr:viewSwitcherEnabled#
-- | Whether the view switcher is enabled.
-- 
-- If it is disabled, the title will be displayed instead. This allows to
-- programmatically hide the view switcher even if it fits in the available
-- space.
-- 
-- This can be used e.g. to ensure the view switcher is hidden below a certain
-- window width, or any other constraint you find suitable.

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleViewSwitcherEnabledPropertyInfo,
#endif
    constructViewSwitcherTitleViewSwitcherEnabled,
    getViewSwitcherTitleViewSwitcherEnabled ,
    setViewSwitcherTitleViewSwitcherEnabled ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitleViewSwitcherEnabled    ,
#endif




    ) where

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

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

import {-# SOURCE #-} qualified GI.Adw.Objects.ViewStack as Adw.ViewStack
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Interfaces.Accessible as Gtk.Accessible
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.ConstraintTarget as Gtk.ConstraintTarget
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

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

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

foreign import ccall "adw_view_switcher_title_get_type"
    c_adw_view_switcher_title_get_type :: IO B.Types.GType

instance B.Types.TypedObject ViewSwitcherTitle where
    glibType :: IO GType
glibType = IO GType
c_adw_view_switcher_title_get_type

instance B.Types.GObject ViewSwitcherTitle

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

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

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

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

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

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

#endif

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

#endif

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

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

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

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

-- | Set the value of the “@stack@” 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' #stack
-- @
clearViewSwitcherTitleStack :: (MonadIO m, IsViewSwitcherTitle o) => o -> m ()
clearViewSwitcherTitleStack :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m ()
clearViewSwitcherTitleStack 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 ViewStack -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"stack" (Maybe ViewStack
forall a. Maybe a
Nothing :: Maybe Adw.ViewStack.ViewStack)

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleStackPropertyInfo
instance AttrInfo ViewSwitcherTitleStackPropertyInfo where
    type AttrAllowedOps ViewSwitcherTitleStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint ViewSwitcherTitleStackPropertyInfo = IsViewSwitcherTitle
    type AttrSetTypeConstraint ViewSwitcherTitleStackPropertyInfo = Adw.ViewStack.IsViewStack
    type AttrTransferTypeConstraint ViewSwitcherTitleStackPropertyInfo = Adw.ViewStack.IsViewStack
    type AttrTransferType ViewSwitcherTitleStackPropertyInfo = Adw.ViewStack.ViewStack
    type AttrGetType ViewSwitcherTitleStackPropertyInfo = (Maybe Adw.ViewStack.ViewStack)
    type AttrLabel ViewSwitcherTitleStackPropertyInfo = "stack"
    type AttrOrigin ViewSwitcherTitleStackPropertyInfo = ViewSwitcherTitle
    attrGet = getViewSwitcherTitleStack
    attrSet = setViewSwitcherTitleStack
    attrTransfer _ v = do
        unsafeCastTo Adw.ViewStack.ViewStack v
    attrConstruct = constructViewSwitcherTitleStack
    attrClear = clearViewSwitcherTitleStack
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ViewSwitcherTitle.stack"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.5/docs/GI-Adw-Objects-ViewSwitcherTitle.html#g:attr:stack"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleTitleVisiblePropertyInfo
instance AttrInfo ViewSwitcherTitleTitleVisiblePropertyInfo where
    type AttrAllowedOps ViewSwitcherTitleTitleVisiblePropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherTitleTitleVisiblePropertyInfo = IsViewSwitcherTitle
    type AttrSetTypeConstraint ViewSwitcherTitleTitleVisiblePropertyInfo = (~) ()
    type AttrTransferTypeConstraint ViewSwitcherTitleTitleVisiblePropertyInfo = (~) ()
    type AttrTransferType ViewSwitcherTitleTitleVisiblePropertyInfo = ()
    type AttrGetType ViewSwitcherTitleTitleVisiblePropertyInfo = Bool
    type AttrLabel ViewSwitcherTitleTitleVisiblePropertyInfo = "title-visible"
    type AttrOrigin ViewSwitcherTitleTitleVisiblePropertyInfo = ViewSwitcherTitle
    attrGet = getViewSwitcherTitleTitleVisible
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ViewSwitcherTitle.titleVisible"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.5/docs/GI-Adw-Objects-ViewSwitcherTitle.html#g:attr:titleVisible"
        })
#endif

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleViewSwitcherEnabledPropertyInfo
instance AttrInfo ViewSwitcherTitleViewSwitcherEnabledPropertyInfo where
    type AttrAllowedOps ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = IsViewSwitcherTitle
    type AttrSetTypeConstraint ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = (~) Bool
    type AttrTransferType ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = Bool
    type AttrGetType ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = Bool
    type AttrLabel ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = "view-switcher-enabled"
    type AttrOrigin ViewSwitcherTitleViewSwitcherEnabledPropertyInfo = ViewSwitcherTitle
    attrGet = getViewSwitcherTitleViewSwitcherEnabled
    attrSet = setViewSwitcherTitleViewSwitcherEnabled
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherTitleViewSwitcherEnabled
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.ViewSwitcherTitle.viewSwitcherEnabled"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.5/docs/GI-Adw-Objects-ViewSwitcherTitle.html#g:attr:viewSwitcherEnabled"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ViewSwitcherTitle
type instance O.AttributeList ViewSwitcherTitle = ViewSwitcherTitleAttributeList
type ViewSwitcherTitleAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overflow", Gtk.Widget.WidgetOverflowPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", ViewSwitcherTitleStackPropertyInfo), '("subtitle", ViewSwitcherTitleSubtitlePropertyInfo), '("title", ViewSwitcherTitleTitlePropertyInfo), '("titleVisible", ViewSwitcherTitleTitleVisiblePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("viewSwitcherEnabled", ViewSwitcherTitleViewSwitcherEnabledPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
viewSwitcherTitleStack :: AttrLabelProxy "stack"
viewSwitcherTitleStack = AttrLabelProxy

viewSwitcherTitleSubtitle :: AttrLabelProxy "subtitle"
viewSwitcherTitleSubtitle = AttrLabelProxy

viewSwitcherTitleTitle :: AttrLabelProxy "title"
viewSwitcherTitleTitle = AttrLabelProxy

viewSwitcherTitleTitleVisible :: AttrLabelProxy "titleVisible"
viewSwitcherTitleTitleVisible = AttrLabelProxy

viewSwitcherTitleViewSwitcherEnabled :: AttrLabelProxy "viewSwitcherEnabled"
viewSwitcherTitleViewSwitcherEnabled = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "adw_view_switcher_title_new" adw_view_switcher_title_new :: 
    IO (Ptr ViewSwitcherTitle)

-- | Creates a new @AdwViewSwitcherTitle@.
viewSwitcherTitleNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m ViewSwitcherTitle
    -- ^ __Returns:__ the newly created @AdwViewSwitcherTitle@
viewSwitcherTitleNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m ViewSwitcherTitle
viewSwitcherTitleNew  = IO ViewSwitcherTitle -> m ViewSwitcherTitle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ViewSwitcherTitle -> m ViewSwitcherTitle)
-> IO ViewSwitcherTitle -> m ViewSwitcherTitle
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcherTitle
result <- IO (Ptr ViewSwitcherTitle)
adw_view_switcher_title_new
    Text -> Ptr ViewSwitcherTitle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"viewSwitcherTitleNew" Ptr ViewSwitcherTitle
result
    ViewSwitcherTitle
result' <- ((ManagedPtr ViewSwitcherTitle -> ViewSwitcherTitle)
-> Ptr ViewSwitcherTitle -> IO ViewSwitcherTitle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr ViewSwitcherTitle -> ViewSwitcherTitle
ViewSwitcherTitle) Ptr ViewSwitcherTitle
result
    ViewSwitcherTitle -> IO ViewSwitcherTitle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ViewSwitcherTitle
result'

#if defined(ENABLE_OVERLOADING)
#endif

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

foreign import ccall "adw_view_switcher_title_get_stack" adw_view_switcher_title_get_stack :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    IO (Ptr Adw.ViewStack.ViewStack)

-- | Gets the stack controlled by /@self@/.
viewSwitcherTitleGetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m (Maybe Adw.ViewStack.ViewStack)
    -- ^ __Returns:__ the stack
viewSwitcherTitleGetStack :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m (Maybe ViewStack)
viewSwitcherTitleGetStack a
self = IO (Maybe ViewStack) -> m (Maybe ViewStack)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ViewStack) -> m (Maybe ViewStack))
-> IO (Maybe ViewStack) -> m (Maybe ViewStack)
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr ViewStack
result <- Ptr ViewSwitcherTitle -> IO (Ptr ViewStack)
adw_view_switcher_title_get_stack Ptr ViewSwitcherTitle
self'
    Maybe ViewStack
maybeResult <- Ptr ViewStack
-> (Ptr ViewStack -> IO ViewStack) -> IO (Maybe ViewStack)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr ViewStack
result ((Ptr ViewStack -> IO ViewStack) -> IO (Maybe ViewStack))
-> (Ptr ViewStack -> IO ViewStack) -> IO (Maybe ViewStack)
forall a b. (a -> b) -> a -> b
$ \Ptr ViewStack
result' -> do
        ViewStack
result'' <- ((ManagedPtr ViewStack -> ViewStack)
-> Ptr ViewStack -> IO ViewStack
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr ViewStack -> ViewStack
Adw.ViewStack.ViewStack) Ptr ViewStack
result'
        ViewStack -> IO ViewStack
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ViewStack
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe ViewStack -> IO (Maybe ViewStack)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ViewStack
maybeResult

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetStackMethodInfo
instance (signature ~ (m (Maybe Adw.ViewStack.ViewStack)), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetStack

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


#endif

-- method ViewSwitcherTitle::get_subtitle
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , 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_view_switcher_title_get_subtitle" adw_view_switcher_title_get_subtitle :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    IO CString

-- | Gets the subtitle of /@self@/.
viewSwitcherTitleGetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m T.Text
    -- ^ __Returns:__ the subtitle
viewSwitcherTitleGetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m Text
viewSwitcherTitleGetSubtitle a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr ViewSwitcherTitle -> IO CString
adw_view_switcher_title_get_subtitle Ptr ViewSwitcherTitle
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"viewSwitcherTitleGetSubtitle" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetSubtitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetSubtitleMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetSubtitle

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


#endif

-- method ViewSwitcherTitle::get_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , 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_view_switcher_title_get_title" adw_view_switcher_title_get_title :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    IO CString

-- | Gets the title of /@self@/.
viewSwitcherTitleGetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m T.Text
    -- ^ __Returns:__ the title
viewSwitcherTitleGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m Text
viewSwitcherTitleGetTitle a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr ViewSwitcherTitle -> IO CString
adw_view_switcher_title_get_title Ptr ViewSwitcherTitle
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"viewSwitcherTitleGetTitle" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetTitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetTitleMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetTitle

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


#endif

-- method ViewSwitcherTitle::get_title_visible
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , 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_view_switcher_title_get_title_visible" adw_view_switcher_title_get_title_visible :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    IO CInt

-- | Gets whether the title of /@self@/ is currently visible.
-- 
-- If the title is visible, it means the view switcher is hidden an it may be
-- wanted to show an alternative switcher, e.g. a [class/@viewSwitcherBar@/].
viewSwitcherTitleGetTitleVisible ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m Bool
    -- ^ __Returns:__ whether the title of /@self@/ is currently visible
viewSwitcherTitleGetTitleVisible :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m Bool
viewSwitcherTitleGetTitleVisible 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 ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ViewSwitcherTitle -> IO CInt
adw_view_switcher_title_get_title_visible Ptr ViewSwitcherTitle
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 ViewSwitcherTitleGetTitleVisibleMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetTitleVisibleMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetTitleVisible

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


#endif

-- method ViewSwitcherTitle::get_view_switcher_enabled
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , 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_view_switcher_title_get_view_switcher_enabled" adw_view_switcher_title_get_view_switcher_enabled :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    IO CInt

-- | Gets whether /@self@/\'s view switcher is enabled.
viewSwitcherTitleGetViewSwitcherEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m Bool
    -- ^ __Returns:__ whether the view switcher is enabled
viewSwitcherTitleGetViewSwitcherEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m Bool
viewSwitcherTitleGetViewSwitcherEnabled 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 ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ViewSwitcherTitle -> IO CInt
adw_view_switcher_title_get_view_switcher_enabled Ptr ViewSwitcherTitle
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 ViewSwitcherTitleGetViewSwitcherEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetViewSwitcherEnabledMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetViewSwitcherEnabled

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


#endif

-- method ViewSwitcherTitle::set_stack
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "stack"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewStack" }
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a stack" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_view_switcher_title_set_stack" adw_view_switcher_title_set_stack :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    Ptr Adw.ViewStack.ViewStack ->          -- stack : TInterface (Name {namespace = "Adw", name = "ViewStack"})
    IO ()

-- | Sets the stack controlled by /@self@/.
viewSwitcherTitleSetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a, Adw.ViewStack.IsViewStack b) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Maybe (b)
    -- ^ /@stack@/: a stack
    -> m ()
viewSwitcherTitleSetStack :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a, IsViewStack b) =>
a -> Maybe b -> m ()
viewSwitcherTitleSetStack a
self Maybe b
stack = 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 ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr ViewStack
maybeStack <- case Maybe b
stack of
        Maybe b
Nothing -> Ptr ViewStack -> IO (Ptr ViewStack)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ViewStack
forall a. Ptr a
nullPtr
        Just b
jStack -> do
            Ptr ViewStack
jStack' <- b -> IO (Ptr ViewStack)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jStack
            Ptr ViewStack -> IO (Ptr ViewStack)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ViewStack
jStack'
    Ptr ViewSwitcherTitle -> Ptr ViewStack -> IO ()
adw_view_switcher_title_set_stack Ptr ViewSwitcherTitle
self' Ptr ViewStack
maybeStack
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
stack b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleSetStackMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsViewSwitcherTitle a, Adw.ViewStack.IsViewStack b) => O.OverloadedMethod ViewSwitcherTitleSetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleSetStack

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


#endif

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

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

-- | Sets the subtitle of /@self@/.
-- 
-- The subtitle should give the user additional details.
viewSwitcherTitleSetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> T.Text
    -- ^ /@subtitle@/: a subtitle
    -> m ()
viewSwitcherTitleSetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> Text -> m ()
viewSwitcherTitleSetSubtitle a
self Text
subtitle = 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 ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
subtitle' <- Text -> IO CString
textToCString Text
subtitle
    Ptr ViewSwitcherTitle -> CString -> IO ()
adw_view_switcher_title_set_subtitle Ptr ViewSwitcherTitle
self' CString
subtitle'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
subtitle'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif

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

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

-- | Sets the title of /@self@/.
-- 
-- The title typically identifies the current view or content item, and
-- generally does not use the application name.
viewSwitcherTitleSetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> T.Text
    -- ^ /@title@/: a title
    -> m ()
viewSwitcherTitleSetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> Text -> m ()
viewSwitcherTitleSetTitle a
self Text
title = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
title' <- Text -> IO CString
textToCString Text
title
    Ptr ViewSwitcherTitle -> CString -> IO ()
adw_view_switcher_title_set_title Ptr ViewSwitcherTitle
self' CString
title'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
title'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif

-- method ViewSwitcherTitle::set_view_switcher_enabled
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "ViewSwitcherTitle" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher title"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "enabled"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "whether the view switcher 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_view_switcher_title_set_view_switcher_enabled" adw_view_switcher_title_set_view_switcher_enabled :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Adw", name = "ViewSwitcherTitle"})
    CInt ->                                 -- enabled : TBasicType TBoolean
    IO ()

-- | Sets whether /@self@/\'s view switcher is enabled.
-- 
-- If it is disabled, the title will be displayed instead. This allows to
-- programmatically hide the view switcher even if it fits in the available
-- space.
-- 
-- This can be used e.g. to ensure the view switcher is hidden below a certain
-- window width, or any other constraint you find suitable.
viewSwitcherTitleSetViewSwitcherEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Bool
    -- ^ /@enabled@/: whether the view switcher is enabled
    -> m ()
viewSwitcherTitleSetViewSwitcherEnabled :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> Bool -> m ()
viewSwitcherTitleSetViewSwitcherEnabled a
self Bool
enabled = 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 ViewSwitcherTitle
self' <- a -> IO (Ptr ViewSwitcherTitle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let enabled' :: CInt
enabled' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
enabled
    Ptr ViewSwitcherTitle -> CInt -> IO ()
adw_view_switcher_title_set_view_switcher_enabled Ptr ViewSwitcherTitle
self' CInt
enabled'
    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 ViewSwitcherTitleSetViewSwitcherEnabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleSetViewSwitcherEnabledMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleSetViewSwitcherEnabled

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


#endif