{-# 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.
-- 
-- A widget letting you switch between multiple views contained by a
-- t'GI.Gtk.Objects.Stack.Stack', 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.
-- 
-- @HdyViewSwitcherTitle@ 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"/>
-- >  <child type="titlebar">
-- >    <object class="HdyHeaderBar">
-- >      <property name="centering-policy">strict</property>
-- >      <child type="title">
-- >        <object class="HdyViewSwitcherTitle"
-- >                id="view_switcher_title">
-- >          <property name="stack">stack</property>
-- >        </object>
-- >      </child>
-- >    </object>
-- >  </child>
-- >  <child>
-- >    <object class="GtkBox">
-- >      <child>
-- >        <object class="GtkStack" id="stack"/>
-- >      </child>
-- >      <child>
-- >        <object class="HdyViewSwitcherBar">
-- >          <property name="stack">stack</property>
-- >          <property name="reveal"
-- >                    bind-source="view_switcher_title"
-- >                    bind-property="title-visible"
-- >                    bind-flags="sync-create"/>
-- >        </object>
-- >      </child>
-- >    </object>
-- >  </child>
-- ></object>
-- 
-- 
-- == CSS nodes
-- 
-- @HdyViewSwitcherTitle@ has a single CSS node with name @viewswitchertitle@.
-- 
-- /Since: 1.0/

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

module GI.Handy.Objects.ViewSwitcherTitle
    ( 

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


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [add]("GI.Gtk.Objects.Container#g:method:add"), [addAccelerator]("GI.Gtk.Objects.Widget#g:method:addAccelerator"), [addChild]("GI.Gtk.Interfaces.Buildable#g:method:addChild"), [addDeviceEvents]("GI.Gtk.Objects.Widget#g:method:addDeviceEvents"), [addEvents]("GI.Gtk.Objects.Widget#g:method:addEvents"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [canActivateAccel]("GI.Gtk.Objects.Widget#g:method:canActivateAccel"), [checkResize]("GI.Gtk.Objects.Container#g:method:checkResize"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [childGetProperty]("GI.Gtk.Objects.Container#g:method:childGetProperty"), [childNotify]("GI.Gtk.Objects.Container#g:method:childNotify"), [childNotifyByPspec]("GI.Gtk.Objects.Container#g:method:childNotifyByPspec"), [childSetProperty]("GI.Gtk.Objects.Container#g:method:childSetProperty"), [childType]("GI.Gtk.Objects.Container#g:method:childType"), [classPath]("GI.Gtk.Objects.Widget#g:method:classPath"), [computeExpand]("GI.Gtk.Objects.Widget#g:method:computeExpand"), [constructChild]("GI.Gtk.Interfaces.Buildable#g:method:constructChild"), [createPangoContext]("GI.Gtk.Objects.Widget#g:method:createPangoContext"), [createPangoLayout]("GI.Gtk.Objects.Widget#g:method:createPangoLayout"), [customFinished]("GI.Gtk.Interfaces.Buildable#g:method:customFinished"), [customTagEnd]("GI.Gtk.Interfaces.Buildable#g:method:customTagEnd"), [customTagStart]("GI.Gtk.Interfaces.Buildable#g:method:customTagStart"), [destroy]("GI.Gtk.Objects.Widget#g:method:destroy"), [destroyed]("GI.Gtk.Objects.Widget#g:method:destroyed"), [deviceIsShadowed]("GI.Gtk.Objects.Widget#g:method:deviceIsShadowed"), [dragBegin]("GI.Gtk.Objects.Widget#g:method:dragBegin"), [dragBeginWithCoordinates]("GI.Gtk.Objects.Widget#g:method:dragBeginWithCoordinates"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [dragDestAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddImageTargets"), [dragDestAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddTextTargets"), [dragDestAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddUriTargets"), [dragDestFindTarget]("GI.Gtk.Objects.Widget#g:method:dragDestFindTarget"), [dragDestGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestGetTargetList"), [dragDestGetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestGetTrackMotion"), [dragDestSet]("GI.Gtk.Objects.Widget#g:method:dragDestSet"), [dragDestSetProxy]("GI.Gtk.Objects.Widget#g:method:dragDestSetProxy"), [dragDestSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestSetTargetList"), [dragDestSetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestSetTrackMotion"), [dragDestUnset]("GI.Gtk.Objects.Widget#g:method:dragDestUnset"), [dragGetData]("GI.Gtk.Objects.Widget#g:method:dragGetData"), [dragHighlight]("GI.Gtk.Objects.Widget#g:method:dragHighlight"), [dragSourceAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddImageTargets"), [dragSourceAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddTextTargets"), [dragSourceAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddUriTargets"), [dragSourceGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceGetTargetList"), [dragSourceSet]("GI.Gtk.Objects.Widget#g:method:dragSourceSet"), [dragSourceSetIconGicon]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconGicon"), [dragSourceSetIconName]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconName"), [dragSourceSetIconPixbuf]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconPixbuf"), [dragSourceSetIconStock]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconStock"), [dragSourceSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceSetTargetList"), [dragSourceUnset]("GI.Gtk.Objects.Widget#g:method:dragSourceUnset"), [dragUnhighlight]("GI.Gtk.Objects.Widget#g:method:dragUnhighlight"), [draw]("GI.Gtk.Objects.Widget#g:method:draw"), [ensureStyle]("GI.Gtk.Objects.Widget#g:method:ensureStyle"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [event]("GI.Gtk.Objects.Widget#g:method:event"), [forall]("GI.Gtk.Objects.Container#g:method:forall"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.Gtk.Objects.Container#g:method:foreach"), [freezeChildNotify]("GI.Gtk.Objects.Widget#g:method:freezeChildNotify"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabAdd]("GI.Gtk.Objects.Widget#g:method:grabAdd"), [grabDefault]("GI.Gtk.Objects.Widget#g:method:grabDefault"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [grabRemove]("GI.Gtk.Objects.Widget#g:method:grabRemove"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasGrab]("GI.Gtk.Objects.Widget#g:method:hasGrab"), [hasRcStyle]("GI.Gtk.Objects.Widget#g:method:hasRcStyle"), [hasScreen]("GI.Gtk.Objects.Widget#g:method:hasScreen"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [hideOnDelete]("GI.Gtk.Objects.Widget#g:method:hideOnDelete"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [inputShapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:inputShapeCombineRegion"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [intersect]("GI.Gtk.Objects.Widget#g:method:intersect"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isComposited]("GI.Gtk.Objects.Widget#g:method:isComposited"), [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"), [isToplevel]("GI.Gtk.Objects.Widget#g:method:isToplevel"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listAccelClosures]("GI.Gtk.Objects.Widget#g:method:listAccelClosures"), [listActionPrefixes]("GI.Gtk.Objects.Widget#g:method:listActionPrefixes"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [mnemonicActivate]("GI.Gtk.Objects.Widget#g:method:mnemonicActivate"), [modifyBase]("GI.Gtk.Objects.Widget#g:method:modifyBase"), [modifyBg]("GI.Gtk.Objects.Widget#g:method:modifyBg"), [modifyCursor]("GI.Gtk.Objects.Widget#g:method:modifyCursor"), [modifyFg]("GI.Gtk.Objects.Widget#g:method:modifyFg"), [modifyFont]("GI.Gtk.Objects.Widget#g:method:modifyFont"), [modifyStyle]("GI.Gtk.Objects.Widget#g:method:modifyStyle"), [modifyText]("GI.Gtk.Objects.Widget#g:method:modifyText"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [overrideBackgroundColor]("GI.Gtk.Objects.Widget#g:method:overrideBackgroundColor"), [overrideColor]("GI.Gtk.Objects.Widget#g:method:overrideColor"), [overrideCursor]("GI.Gtk.Objects.Widget#g:method:overrideCursor"), [overrideFont]("GI.Gtk.Objects.Widget#g:method:overrideFont"), [overrideSymbolicColor]("GI.Gtk.Objects.Widget#g:method:overrideSymbolicColor"), [parserFinished]("GI.Gtk.Interfaces.Buildable#g:method:parserFinished"), [path]("GI.Gtk.Objects.Widget#g:method:path"), [propagateDraw]("GI.Gtk.Objects.Container#g:method:propagateDraw"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueComputeExpand]("GI.Gtk.Objects.Widget#g:method:queueComputeExpand"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueDrawArea]("GI.Gtk.Objects.Widget#g:method:queueDrawArea"), [queueDrawRegion]("GI.Gtk.Objects.Widget#g:method:queueDrawRegion"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [queueResizeNoRedraw]("GI.Gtk.Objects.Widget#g:method:queueResizeNoRedraw"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [regionIntersect]("GI.Gtk.Objects.Widget#g:method:regionIntersect"), [registerWindow]("GI.Gtk.Objects.Widget#g:method:registerWindow"), [remove]("GI.Gtk.Objects.Container#g:method:remove"), [removeAccelerator]("GI.Gtk.Objects.Widget#g:method:removeAccelerator"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [renderIcon]("GI.Gtk.Objects.Widget#g:method:renderIcon"), [renderIconPixbuf]("GI.Gtk.Objects.Widget#g:method:renderIconPixbuf"), [reparent]("GI.Gtk.Objects.Widget#g:method:reparent"), [resetRcStyles]("GI.Gtk.Objects.Widget#g:method:resetRcStyles"), [resetStyle]("GI.Gtk.Objects.Widget#g:method:resetStyle"), [resizeChildren]("GI.Gtk.Objects.Container#g:method:resizeChildren"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [sendExpose]("GI.Gtk.Objects.Widget#g:method:sendExpose"), [sendFocusChange]("GI.Gtk.Objects.Widget#g:method:sendFocusChange"), [shapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:shapeCombineRegion"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [showAll]("GI.Gtk.Objects.Widget#g:method:showAll"), [showNow]("GI.Gtk.Objects.Widget#g:method:showNow"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [sizeAllocateWithBaseline]("GI.Gtk.Objects.Widget#g:method:sizeAllocateWithBaseline"), [sizeRequest]("GI.Gtk.Objects.Widget#g:method:sizeRequest"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [styleAttach]("GI.Gtk.Objects.Widget#g:method:styleAttach"), [styleGetProperty]("GI.Gtk.Objects.Widget#g:method:styleGetProperty"), [thawChildNotify]("GI.Gtk.Objects.Widget#g:method:thawChildNotify"), [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"), [unregisterWindow]("GI.Gtk.Objects.Widget#g:method:unregisterWindow"), [unsetFocusChain]("GI.Gtk.Objects.Container#g:method:unsetFocusChain"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAccessible]("GI.Gtk.Objects.Widget#g:method:getAccessible"), [getActionGroup]("GI.Gtk.Objects.Widget#g:method:getActionGroup"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedSize]("GI.Gtk.Objects.Widget#g:method:getAllocatedSize"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAppPaintable]("GI.Gtk.Objects.Widget#g:method:getAppPaintable"), [getBorderWidth]("GI.Gtk.Objects.Container#g:method:getBorderWidth"), [getCanDefault]("GI.Gtk.Objects.Widget#g:method:getCanDefault"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getChild]("GI.Gtk.Objects.Bin#g:method:getChild"), [getChildRequisition]("GI.Gtk.Objects.Widget#g:method:getChildRequisition"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getChildren]("GI.Gtk.Objects.Container#g:method:getChildren"), [getClip]("GI.Gtk.Objects.Widget#g:method:getClip"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getCompositeName]("GI.Gtk.Objects.Widget#g:method:getCompositeName"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:getDeviceEnabled"), [getDeviceEvents]("GI.Gtk.Objects.Widget#g:method:getDeviceEvents"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:getDoubleBuffered"), [getEvents]("GI.Gtk.Objects.Widget#g:method:getEvents"), [getFocusChain]("GI.Gtk.Objects.Container#g:method:getFocusChain"), [getFocusChild]("GI.Gtk.Objects.Container#g:method:getFocusChild"), [getFocusHadjustment]("GI.Gtk.Objects.Container#g:method:getFocusHadjustment"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusVadjustment]("GI.Gtk.Objects.Container#g:method:getFocusVadjustment"), [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"), [getHasWindow]("GI.Gtk.Objects.Widget#g:method:getHasWindow"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getInternalChild]("GI.Gtk.Interfaces.Buildable#g:method:getInternalChild"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginLeft]("GI.Gtk.Objects.Widget#g:method:getMarginLeft"), [getMarginRight]("GI.Gtk.Objects.Widget#g:method:getMarginRight"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getModifierMask]("GI.Gtk.Objects.Widget#g:method:getModifierMask"), [getModifierStyle]("GI.Gtk.Objects.Widget#g:method:getModifierStyle"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNoShowAll]("GI.Gtk.Objects.Widget#g:method:getNoShowAll"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getParentWindow]("GI.Gtk.Objects.Widget#g:method:getParentWindow"), [getPath]("GI.Gtk.Objects.Widget#g:method:getPath"), [getPathForChild]("GI.Gtk.Objects.Container#g:method:getPathForChild"), [getPointer]("GI.Gtk.Objects.Widget#g:method:getPointer"), [getPolicy]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getPolicy"), [getPreferredHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredHeight"), [getPreferredHeightAndBaselineForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightAndBaselineForWidth"), [getPreferredHeightForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightForWidth"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPreferredWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredWidth"), [getPreferredWidthForHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredWidthForHeight"), [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"), [getRequisition]("GI.Gtk.Objects.Widget#g:method:getRequisition"), [getResizeMode]("GI.Gtk.Objects.Container#g:method:getResizeMode"), [getRootWindow]("GI.Gtk.Objects.Widget#g:method:getRootWindow"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getScreen]("GI.Gtk.Objects.Widget#g:method:getScreen"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getStack]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getStack"), [getState]("GI.Gtk.Objects.Widget#g:method:getState"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyle]("GI.Gtk.Objects.Widget#g:method:getStyle"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getSubtitle]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getSubtitle"), [getSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:getSupportMultidevice"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getTitle"), [getTitleVisible]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getTitleVisible"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getTooltipWindow]("GI.Gtk.Objects.Widget#g:method:getTooltipWindow"), [getToplevel]("GI.Gtk.Objects.Widget#g:method:getToplevel"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getValignWithBaseline]("GI.Gtk.Objects.Widget#g:method:getValignWithBaseline"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getViewSwitcherEnabled]("GI.Handy.Objects.ViewSwitcherTitle#g:method:getViewSwitcherEnabled"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getVisual]("GI.Gtk.Objects.Widget#g:method:getVisual"), [getWindow]("GI.Gtk.Objects.Widget#g:method:getWindow").
-- 
-- ==== Setters
-- [setAccelPath]("GI.Gtk.Objects.Widget#g:method:setAccelPath"), [setAllocation]("GI.Gtk.Objects.Widget#g:method:setAllocation"), [setAppPaintable]("GI.Gtk.Objects.Widget#g:method:setAppPaintable"), [setBorderWidth]("GI.Gtk.Objects.Container#g:method:setBorderWidth"), [setBuildableProperty]("GI.Gtk.Interfaces.Buildable#g:method:setBuildableProperty"), [setCanDefault]("GI.Gtk.Objects.Widget#g:method:setCanDefault"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setClip]("GI.Gtk.Objects.Widget#g:method:setClip"), [setCompositeName]("GI.Gtk.Objects.Widget#g:method:setCompositeName"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:setDeviceEnabled"), [setDeviceEvents]("GI.Gtk.Objects.Widget#g:method:setDeviceEvents"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:setDoubleBuffered"), [setEvents]("GI.Gtk.Objects.Widget#g:method:setEvents"), [setFocusChain]("GI.Gtk.Objects.Container#g:method:setFocusChain"), [setFocusChild]("GI.Gtk.Objects.Container#g:method:setFocusChild"), [setFocusHadjustment]("GI.Gtk.Objects.Container#g:method:setFocusHadjustment"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusVadjustment]("GI.Gtk.Objects.Container#g:method:setFocusVadjustment"), [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"), [setHasWindow]("GI.Gtk.Objects.Widget#g:method:setHasWindow"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setMapped]("GI.Gtk.Objects.Widget#g:method:setMapped"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginLeft]("GI.Gtk.Objects.Widget#g:method:setMarginLeft"), [setMarginRight]("GI.Gtk.Objects.Widget#g:method:setMarginRight"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setNoShowAll]("GI.Gtk.Objects.Widget#g:method:setNoShowAll"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setParentWindow]("GI.Gtk.Objects.Widget#g:method:setParentWindow"), [setPolicy]("GI.Handy.Objects.ViewSwitcherTitle#g:method:setPolicy"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setRealized]("GI.Gtk.Objects.Widget#g:method:setRealized"), [setReallocateRedraws]("GI.Gtk.Objects.Container#g:method:setReallocateRedraws"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setRedrawOnAllocate]("GI.Gtk.Objects.Widget#g:method:setRedrawOnAllocate"), [setResizeMode]("GI.Gtk.Objects.Container#g:method:setResizeMode"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStack]("GI.Handy.Objects.ViewSwitcherTitle#g:method:setStack"), [setState]("GI.Gtk.Objects.Widget#g:method:setState"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setStyle]("GI.Gtk.Objects.Widget#g:method:setStyle"), [setSubtitle]("GI.Handy.Objects.ViewSwitcherTitle#g:method:setSubtitle"), [setSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:setSupportMultidevice"), [setTitle]("GI.Handy.Objects.ViewSwitcherTitle#g:method:setTitle"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setTooltipWindow]("GI.Gtk.Objects.Widget#g:method:setTooltipWindow"), [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.Handy.Objects.ViewSwitcherTitle#g:method:setViewSwitcherEnabled"), [setVisible]("GI.Gtk.Objects.Widget#g:method:setVisible"), [setVisual]("GI.Gtk.Objects.Widget#g:method:setVisual"), [setWindow]("GI.Gtk.Objects.Widget#g:method:setWindow").

#if defined(ENABLE_OVERLOADING)
    ResolveViewSwitcherTitleMethod          ,
#endif

-- ** getPolicy #method:getPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleGetPolicyMethodInfo    ,
#endif
    viewSwitcherTitleGetPolicy              ,


-- ** 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                    ,


-- ** setPolicy #method:setPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitleSetPolicyMethodInfo    ,
#endif
    viewSwitcherTitleSetPolicy              ,


-- ** 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


-- ** policy #attr:policy#
-- | The policy used to determine which mode to use.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherTitlePolicyPropertyInfo     ,
#endif
    constructViewSwitcherTitlePolicy        ,
    getViewSwitcherTitlePolicy              ,
    setViewSwitcherTitlePolicy              ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherTitlePolicy                 ,
#endif


-- ** stack #attr:stack#
-- | The t'GI.Gtk.Objects.Stack.Stack' the [class/@viewSwitcher@/] controls.
-- 
-- /Since: 1.0/

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


-- ** subtitle #attr:subtitle#
-- | The subtitle of the [class/@viewSwitcher@/].
-- 
-- The subtitle should give a user additional details.
-- 
-- /Since: 1.0/

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


-- ** title #attr:title#
-- | The title of the [class/@viewSwitcher@/].
-- 
-- The title should give a user additional details. A good title should not
-- include the application name.
-- 
-- /Since: 1.0/

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


-- ** titleVisible #attr:titleVisible#
-- | Whether the bar should be revealed or hidden.
-- 
-- /Since: 1.0/

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


-- ** viewSwitcherEnabled #attr:viewSwitcherEnabled#
-- | Whether the bar should be revealed or hidden.
-- 
-- 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.
-- 
-- /Since: 1.0/

#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 qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Objects.Bin as Gtk.Bin
import qualified GI.Gtk.Objects.Container as Gtk.Container
import qualified GI.Gtk.Objects.Stack as Gtk.Stack
import qualified GI.Gtk.Objects.Widget as Gtk.Widget
import {-# SOURCE #-} qualified GI.Handy.Enums as Handy.Enums

-- | 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 "hdy_view_switcher_title_get_type"
    c_hdy_view_switcher_title_get_type :: IO B.Types.GType

instance B.Types.TypedObject ViewSwitcherTitle where
    glibType :: IO GType
glibType = IO GType
c_hdy_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.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]

-- | 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_hdy_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 "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolveViewSwitcherTitleMethod "add" o = Gtk.Container.ContainerAddMethodInfo
    ResolveViewSwitcherTitleMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolveViewSwitcherTitleMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveViewSwitcherTitleMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolveViewSwitcherTitleMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolveViewSwitcherTitleMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveViewSwitcherTitleMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveViewSwitcherTitleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveViewSwitcherTitleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveViewSwitcherTitleMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolveViewSwitcherTitleMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
    ResolveViewSwitcherTitleMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveViewSwitcherTitleMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
    ResolveViewSwitcherTitleMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
    ResolveViewSwitcherTitleMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
    ResolveViewSwitcherTitleMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
    ResolveViewSwitcherTitleMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
    ResolveViewSwitcherTitleMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolveViewSwitcherTitleMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveViewSwitcherTitleMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveViewSwitcherTitleMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveViewSwitcherTitleMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveViewSwitcherTitleMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveViewSwitcherTitleMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveViewSwitcherTitleMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveViewSwitcherTitleMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolveViewSwitcherTitleMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolveViewSwitcherTitleMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveViewSwitcherTitleMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolveViewSwitcherTitleMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolveViewSwitcherTitleMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolveViewSwitcherTitleMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolveViewSwitcherTitleMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolveViewSwitcherTitleMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolveViewSwitcherTitleMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolveViewSwitcherTitleMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolveViewSwitcherTitleMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolveViewSwitcherTitleMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolveViewSwitcherTitleMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveViewSwitcherTitleMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolveViewSwitcherTitleMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
    ResolveViewSwitcherTitleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveViewSwitcherTitleMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
    ResolveViewSwitcherTitleMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolveViewSwitcherTitleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveViewSwitcherTitleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveViewSwitcherTitleMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolveViewSwitcherTitleMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolveViewSwitcherTitleMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveViewSwitcherTitleMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolveViewSwitcherTitleMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveViewSwitcherTitleMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveViewSwitcherTitleMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolveViewSwitcherTitleMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolveViewSwitcherTitleMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolveViewSwitcherTitleMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveViewSwitcherTitleMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveViewSwitcherTitleMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolveViewSwitcherTitleMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveViewSwitcherTitleMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveViewSwitcherTitleMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolveViewSwitcherTitleMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveViewSwitcherTitleMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolveViewSwitcherTitleMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveViewSwitcherTitleMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    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 "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolveViewSwitcherTitleMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveViewSwitcherTitleMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveViewSwitcherTitleMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolveViewSwitcherTitleMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolveViewSwitcherTitleMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveViewSwitcherTitleMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveViewSwitcherTitleMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveViewSwitcherTitleMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolveViewSwitcherTitleMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolveViewSwitcherTitleMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolveViewSwitcherTitleMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolveViewSwitcherTitleMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolveViewSwitcherTitleMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolveViewSwitcherTitleMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolveViewSwitcherTitleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveViewSwitcherTitleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveViewSwitcherTitleMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolveViewSwitcherTitleMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolveViewSwitcherTitleMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolveViewSwitcherTitleMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolveViewSwitcherTitleMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolveViewSwitcherTitleMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveViewSwitcherTitleMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolveViewSwitcherTitleMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
    ResolveViewSwitcherTitleMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveViewSwitcherTitleMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolveViewSwitcherTitleMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveViewSwitcherTitleMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolveViewSwitcherTitleMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolveViewSwitcherTitleMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveViewSwitcherTitleMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolveViewSwitcherTitleMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveViewSwitcherTitleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveViewSwitcherTitleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveViewSwitcherTitleMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolveViewSwitcherTitleMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolveViewSwitcherTitleMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
    ResolveViewSwitcherTitleMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolveViewSwitcherTitleMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveViewSwitcherTitleMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveViewSwitcherTitleMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolveViewSwitcherTitleMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolveViewSwitcherTitleMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolveViewSwitcherTitleMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolveViewSwitcherTitleMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolveViewSwitcherTitleMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
    ResolveViewSwitcherTitleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveViewSwitcherTitleMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolveViewSwitcherTitleMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolveViewSwitcherTitleMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolveViewSwitcherTitleMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveViewSwitcherTitleMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolveViewSwitcherTitleMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolveViewSwitcherTitleMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveViewSwitcherTitleMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolveViewSwitcherTitleMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolveViewSwitcherTitleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveViewSwitcherTitleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveViewSwitcherTitleMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolveViewSwitcherTitleMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolveViewSwitcherTitleMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    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 "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolveViewSwitcherTitleMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
    ResolveViewSwitcherTitleMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveViewSwitcherTitleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveViewSwitcherTitleMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveViewSwitcherTitleMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolveViewSwitcherTitleMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveViewSwitcherTitleMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveViewSwitcherTitleMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolveViewSwitcherTitleMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveViewSwitcherTitleMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveViewSwitcherTitleMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveViewSwitcherTitleMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolveViewSwitcherTitleMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
    ResolveViewSwitcherTitleMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolveViewSwitcherTitleMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveViewSwitcherTitleMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
    ResolveViewSwitcherTitleMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolveViewSwitcherTitleMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveViewSwitcherTitleMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
    ResolveViewSwitcherTitleMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolveViewSwitcherTitleMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveViewSwitcherTitleMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolveViewSwitcherTitleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveViewSwitcherTitleMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolveViewSwitcherTitleMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolveViewSwitcherTitleMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveViewSwitcherTitleMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveViewSwitcherTitleMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolveViewSwitcherTitleMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolveViewSwitcherTitleMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
    ResolveViewSwitcherTitleMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
    ResolveViewSwitcherTitleMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
    ResolveViewSwitcherTitleMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveViewSwitcherTitleMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
    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 "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolveViewSwitcherTitleMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveViewSwitcherTitleMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveViewSwitcherTitleMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveViewSwitcherTitleMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveViewSwitcherTitleMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveViewSwitcherTitleMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolveViewSwitcherTitleMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolveViewSwitcherTitleMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveViewSwitcherTitleMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolveViewSwitcherTitleMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveViewSwitcherTitleMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveViewSwitcherTitleMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveViewSwitcherTitleMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolveViewSwitcherTitleMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolveViewSwitcherTitleMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
    ResolveViewSwitcherTitleMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolveViewSwitcherTitleMethod "getPolicy" o = ViewSwitcherTitleGetPolicyMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolveViewSwitcherTitleMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    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 "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolveViewSwitcherTitleMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
    ResolveViewSwitcherTitleMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolveViewSwitcherTitleMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveViewSwitcherTitleMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolveViewSwitcherTitleMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveViewSwitcherTitleMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveViewSwitcherTitleMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveViewSwitcherTitleMethod "getStack" o = ViewSwitcherTitleGetStackMethodInfo
    ResolveViewSwitcherTitleMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolveViewSwitcherTitleMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveViewSwitcherTitleMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolveViewSwitcherTitleMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveViewSwitcherTitleMethod "getSubtitle" o = ViewSwitcherTitleGetSubtitleMethodInfo
    ResolveViewSwitcherTitleMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    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 "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolveViewSwitcherTitleMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolveViewSwitcherTitleMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveViewSwitcherTitleMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolveViewSwitcherTitleMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveViewSwitcherTitleMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveViewSwitcherTitleMethod "getViewSwitcherEnabled" o = ViewSwitcherTitleGetViewSwitcherEnabledMethodInfo
    ResolveViewSwitcherTitleMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveViewSwitcherTitleMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolveViewSwitcherTitleMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
    ResolveViewSwitcherTitleMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolveViewSwitcherTitleMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolveViewSwitcherTitleMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolveViewSwitcherTitleMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
    ResolveViewSwitcherTitleMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveViewSwitcherTitleMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolveViewSwitcherTitleMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveViewSwitcherTitleMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveViewSwitcherTitleMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolveViewSwitcherTitleMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolveViewSwitcherTitleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveViewSwitcherTitleMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveViewSwitcherTitleMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolveViewSwitcherTitleMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolveViewSwitcherTitleMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveViewSwitcherTitleMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolveViewSwitcherTitleMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolveViewSwitcherTitleMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
    ResolveViewSwitcherTitleMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
    ResolveViewSwitcherTitleMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
    ResolveViewSwitcherTitleMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveViewSwitcherTitleMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
    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 "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolveViewSwitcherTitleMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveViewSwitcherTitleMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveViewSwitcherTitleMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveViewSwitcherTitleMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveViewSwitcherTitleMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveViewSwitcherTitleMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolveViewSwitcherTitleMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveViewSwitcherTitleMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveViewSwitcherTitleMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolveViewSwitcherTitleMethod "setPolicy" o = ViewSwitcherTitleSetPolicyMethodInfo
    ResolveViewSwitcherTitleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveViewSwitcherTitleMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolveViewSwitcherTitleMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
    ResolveViewSwitcherTitleMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveViewSwitcherTitleMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolveViewSwitcherTitleMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
    ResolveViewSwitcherTitleMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveViewSwitcherTitleMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveViewSwitcherTitleMethod "setStack" o = ViewSwitcherTitleSetStackMethodInfo
    ResolveViewSwitcherTitleMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolveViewSwitcherTitleMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveViewSwitcherTitleMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolveViewSwitcherTitleMethod "setSubtitle" o = ViewSwitcherTitleSetSubtitleMethodInfo
    ResolveViewSwitcherTitleMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveViewSwitcherTitleMethod "setTitle" o = ViewSwitcherTitleSetTitleMethodInfo
    ResolveViewSwitcherTitleMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveViewSwitcherTitleMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveViewSwitcherTitleMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    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 "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolveViewSwitcherTitleMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    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 "policy"
   -- Type: TInterface (Name {namespace = "Handy", name = "ViewSwitcherPolicy"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

-- | Set the value of the “@policy@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' viewSwitcherTitle [ #policy 'Data.GI.Base.Attributes.:=' value ]
-- @
setViewSwitcherTitlePolicy :: (MonadIO m, IsViewSwitcherTitle o) => o -> Handy.Enums.ViewSwitcherPolicy -> m ()
setViewSwitcherTitlePolicy :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> ViewSwitcherPolicy -> m ()
setViewSwitcherTitlePolicy o
obj ViewSwitcherPolicy
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 -> ViewSwitcherPolicy -> IO ()
forall a b.
(GObject a, Enum b, BoxedEnum b) =>
a -> String -> b -> IO ()
B.Properties.setObjectPropertyEnum o
obj String
"policy" ViewSwitcherPolicy
val

-- | Construct a `GValueConstruct` with valid value for the “@policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructViewSwitcherTitlePolicy :: (IsViewSwitcherTitle o, MIO.MonadIO m) => Handy.Enums.ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherTitlePolicy :: forall o (m :: * -> *).
(IsViewSwitcherTitle o, MonadIO m) =>
ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherTitlePolicy ViewSwitcherPolicy
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 -> ViewSwitcherPolicy -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"policy" ViewSwitcherPolicy
val

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitlePolicyPropertyInfo
instance AttrInfo ViewSwitcherTitlePolicyPropertyInfo where
    type AttrAllowedOps ViewSwitcherTitlePolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherTitlePolicyPropertyInfo = IsViewSwitcherTitle
    type AttrSetTypeConstraint ViewSwitcherTitlePolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferTypeConstraint ViewSwitcherTitlePolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferType ViewSwitcherTitlePolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrGetType ViewSwitcherTitlePolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrLabel ViewSwitcherTitlePolicyPropertyInfo = "policy"
    type AttrOrigin ViewSwitcherTitlePolicyPropertyInfo = ViewSwitcherTitle
    attrGet = getViewSwitcherTitlePolicy
    attrSet = setViewSwitcherTitlePolicy
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherTitlePolicy
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherTitle.policy"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#g:attr:policy"
        })
#endif

-- VVV Prop "stack"
   -- Type: TInterface (Name {namespace = "Gtk", name = "Stack"})
   -- 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 Gtk.Stack.Stack)
getViewSwitcherTitleStack :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m (Maybe Stack)
getViewSwitcherTitleStack o
obj = IO (Maybe Stack) -> m (Maybe Stack)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Stack) -> m (Maybe Stack))
-> IO (Maybe Stack) -> m (Maybe Stack)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Stack -> Stack) -> IO (Maybe Stack)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"stack" ManagedPtr Stack -> Stack
Gtk.Stack.Stack

-- | 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, Gtk.Stack.IsStack a) => o -> a -> m ()
setViewSwitcherTitleStack :: forall (m :: * -> *) o a.
(MonadIO m, IsViewSwitcherTitle o, IsStack 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, Gtk.Stack.IsStack a) => a -> m (GValueConstruct o)
constructViewSwitcherTitleStack :: forall o (m :: * -> *) a.
(IsViewSwitcherTitle o, MonadIO m, IsStack 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 Stack -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"stack" (Maybe Stack
forall a. Maybe a
Nothing :: Maybe Gtk.Stack.Stack)

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

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

-- | 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 (Maybe T.Text)
getViewSwitcherTitleSubtitle :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m (Maybe Text)
getViewSwitcherTitleSubtitle o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"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)

-- | Set the value of the “@subtitle@” 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' #subtitle
-- @
clearViewSwitcherTitleSubtitle :: (MonadIO m, IsViewSwitcherTitle o) => o -> m ()
clearViewSwitcherTitleSubtitle :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m ()
clearViewSwitcherTitleSubtitle 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 Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"subtitle" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

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

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

-- | 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 (Maybe T.Text)
getViewSwitcherTitleTitle :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m (Maybe Text)
getViewSwitcherTitleTitle o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"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)

-- | Set the value of the “@title@” 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' #title
-- @
clearViewSwitcherTitleTitle :: (MonadIO m, IsViewSwitcherTitle o) => o -> m ()
clearViewSwitcherTitleTitle :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherTitle o) =>
o -> m ()
clearViewSwitcherTitleTitle 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 Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"title" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleTitlePropertyInfo
instance AttrInfo ViewSwitcherTitleTitlePropertyInfo where
    type AttrAllowedOps ViewSwitcherTitleTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint ViewSwitcherTitleTitlePropertyInfo = IsViewSwitcherTitle
    type AttrSetTypeConstraint ViewSwitcherTitleTitlePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint ViewSwitcherTitleTitlePropertyInfo = (~) T.Text
    type AttrTransferType ViewSwitcherTitleTitlePropertyInfo = T.Text
    type AttrGetType ViewSwitcherTitleTitlePropertyInfo = (Maybe T.Text)
    type AttrLabel ViewSwitcherTitleTitlePropertyInfo = "title"
    type AttrOrigin ViewSwitcherTitleTitlePropertyInfo = ViewSwitcherTitle
    attrGet = getViewSwitcherTitleTitle
    attrSet = setViewSwitcherTitleTitle
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherTitleTitle
    attrClear = clearViewSwitcherTitleTitle
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherTitle.title"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-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.Handy.Objects.ViewSwitcherTitle.titleVisible"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-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.Handy.Objects.ViewSwitcherTitle.viewSwitcherEnabled"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#g:attr:viewSwitcherEnabled"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ViewSwitcherTitle
type instance O.AttributeList ViewSwitcherTitle = ViewSwitcherTitleAttributeList
type ViewSwitcherTitleAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("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), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("policy", ViewSwitcherTitlePolicyPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", ViewSwitcherTitleStackPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("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), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
viewSwitcherTitlePolicy :: AttrLabelProxy "policy"
viewSwitcherTitlePolicy = AttrLabelProxy

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 = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, DK.Type)])

#endif

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

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

-- | Creates a new @HdyViewSwitcherTitle@.
-- 
-- /Since: 1.0/
viewSwitcherTitleNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m ViewSwitcherTitle
    -- ^ __Returns:__ the newly created @HdyViewSwitcherTitle@
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)
hdy_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_policy
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 = "Handy" , name = "ViewSwitcherPolicy" })
-- throws : False
-- Skip return : False

foreign import ccall "hdy_view_switcher_title_get_policy" hdy_view_switcher_title_get_policy :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO CUInt

-- | Gets the policy of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleGetPolicy ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m Handy.Enums.ViewSwitcherPolicy
    -- ^ __Returns:__ the policy of /@self@/
viewSwitcherTitleGetPolicy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m ViewSwitcherPolicy
viewSwitcherTitleGetPolicy a
self = IO ViewSwitcherPolicy -> m ViewSwitcherPolicy
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ViewSwitcherPolicy -> m ViewSwitcherPolicy)
-> IO ViewSwitcherPolicy -> m ViewSwitcherPolicy
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
    CUInt
result <- Ptr ViewSwitcherTitle -> IO CUInt
hdy_view_switcher_title_get_policy Ptr ViewSwitcherTitle
self'
    let result' :: ViewSwitcherPolicy
result' = (Int -> ViewSwitcherPolicy
forall a. Enum a => Int -> a
toEnum (Int -> ViewSwitcherPolicy)
-> (CUInt -> Int) -> CUInt -> ViewSwitcherPolicy
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    ViewSwitcherPolicy -> IO ViewSwitcherPolicy
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ViewSwitcherPolicy
result'

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetPolicyMethodInfo
instance (signature ~ (m Handy.Enums.ViewSwitcherPolicy), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleGetPolicyMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleGetPolicy

instance O.OverloadedMethodInfo ViewSwitcherTitleGetPolicyMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetPolicy",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetPolicy"
        })


#endif

-- method ViewSwitcherTitle::get_stack
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 = "Gtk" , name = "Stack" })
-- throws : False
-- Skip return : False

foreign import ccall "hdy_view_switcher_title_get_stack" hdy_view_switcher_title_get_stack :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO (Ptr Gtk.Stack.Stack)

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

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetStackMethodInfo
instance (signature ~ (m (Maybe Gtk.Stack.Stack)), 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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetStack",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetStack"
        })


#endif

-- method ViewSwitcherTitle::get_subtitle
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 "hdy_view_switcher_title_get_subtitle" hdy_view_switcher_title_get_subtitle :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO CString

-- | Gets the subtitle of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleGetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the subtitle of /@self@/
viewSwitcherTitleGetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m (Maybe Text)
viewSwitcherTitleGetSubtitle a
self = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr 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
hdy_view_switcher_title_get_subtitle Ptr ViewSwitcherTitle
self'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetSubtitleMethodInfo
instance (signature ~ (m (Maybe 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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetSubtitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetSubtitle"
        })


#endif

-- method ViewSwitcherTitle::get_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 "hdy_view_switcher_title_get_title" hdy_view_switcher_title_get_title :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO CString

-- | Gets the title of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleGetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the title of /@self@/
viewSwitcherTitleGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> m (Maybe Text)
viewSwitcherTitleGetTitle a
self = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr 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
hdy_view_switcher_title_get_title Ptr ViewSwitcherTitle
self'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleGetTitleMethodInfo
instance (signature ~ (m (Maybe 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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetTitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetTitle"
        })


#endif

-- method ViewSwitcherTitle::get_title_visible
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 "hdy_view_switcher_title_get_title_visible" hdy_view_switcher_title_get_title_visible :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO CInt

-- | Gets whether the title of /@self@/ is currently visible.
-- 
-- /Since: 1.0/
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
hdy_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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetTitleVisible",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetTitleVisible"
        })


#endif

-- method ViewSwitcherTitle::get_view_switcher_enabled
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 "hdy_view_switcher_title_get_view_switcher_enabled" hdy_view_switcher_title_get_view_switcher_enabled :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    IO CInt

-- | Gets whether /@self@/\'s view switcher is enabled.
-- 
-- /Since: 1.0/
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
hdy_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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleGetViewSwitcherEnabled",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleGetViewSwitcherEnabled"
        })


#endif

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

foreign import ccall "hdy_view_switcher_title_set_policy" hdy_view_switcher_title_set_policy :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    CUInt ->                                -- policy : TInterface (Name {namespace = "Handy", name = "ViewSwitcherPolicy"})
    IO ()

-- | Sets the policy of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleSetPolicy ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Handy.Enums.ViewSwitcherPolicy
    -- ^ /@policy@/: the new policy
    -> m ()
viewSwitcherTitleSetPolicy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> ViewSwitcherPolicy -> m ()
viewSwitcherTitleSetPolicy a
self ViewSwitcherPolicy
policy = 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 policy' :: CUInt
policy' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (ViewSwitcherPolicy -> Int) -> ViewSwitcherPolicy -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ViewSwitcherPolicy -> Int
forall a. Enum a => a -> Int
fromEnum) ViewSwitcherPolicy
policy
    Ptr ViewSwitcherTitle -> CUInt -> IO ()
hdy_view_switcher_title_set_policy Ptr ViewSwitcherTitle
self' CUInt
policy'
    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 ViewSwitcherTitleSetPolicyMethodInfo
instance (signature ~ (Handy.Enums.ViewSwitcherPolicy -> m ()), MonadIO m, IsViewSwitcherTitle a) => O.OverloadedMethod ViewSwitcherTitleSetPolicyMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleSetPolicy

instance O.OverloadedMethodInfo ViewSwitcherTitleSetPolicyMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleSetPolicy",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleSetPolicy"
        })


#endif

-- method ViewSwitcherTitle::set_stack
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 = "Gtk" , name = "Stack" }
--           , 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 "hdy_view_switcher_title_set_stack" hdy_view_switcher_title_set_stack :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    Ptr Gtk.Stack.Stack ->                  -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
    IO ()

-- | Sets the t'GI.Gtk.Objects.Stack.Stack' to control.
-- 
-- /Since: 1.0/
viewSwitcherTitleSetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a, Gtk.Stack.IsStack b) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Maybe (b)
    -- ^ /@stack@/: a stack
    -> m ()
viewSwitcherTitleSetStack :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a, IsStack 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 Stack
maybeStack <- case Maybe b
stack of
        Maybe b
Nothing -> Ptr Stack -> IO (Ptr Stack)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Stack
forall a. Ptr a
nullPtr
        Just b
jStack -> do
            Ptr Stack
jStack' <- b -> IO (Ptr Stack)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jStack
            Ptr Stack -> IO (Ptr Stack)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Stack
jStack'
    Ptr ViewSwitcherTitle -> Ptr Stack -> IO ()
hdy_view_switcher_title_set_stack Ptr ViewSwitcherTitle
self' Ptr Stack
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, Gtk.Stack.IsStack b) => O.OverloadedMethod ViewSwitcherTitleSetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherTitleSetStack

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


#endif

-- method ViewSwitcherTitle::set_subtitle
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 = True
--           , 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 "hdy_view_switcher_title_set_subtitle" hdy_view_switcher_title_set_subtitle :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    CString ->                              -- subtitle : TBasicType TUTF8
    IO ()

-- | Sets the subtitle of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleSetSubtitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Maybe (T.Text)
    -- ^ /@subtitle@/: a subtitle
    -> m ()
viewSwitcherTitleSetSubtitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> Maybe Text -> m ()
viewSwitcherTitleSetSubtitle a
self Maybe 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
maybeSubtitle <- case Maybe Text
subtitle of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jSubtitle -> do
            CString
jSubtitle' <- Text -> IO CString
textToCString Text
jSubtitle
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jSubtitle'
    Ptr ViewSwitcherTitle -> CString -> IO ()
hdy_view_switcher_title_set_subtitle Ptr ViewSwitcherTitle
self' CString
maybeSubtitle
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeSubtitle
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleSetSubtitleMethodInfo
instance (signature ~ (Maybe (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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleSetSubtitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleSetSubtitle"
        })


#endif

-- method ViewSwitcherTitle::set_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 = True
--           , 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 "hdy_view_switcher_title_set_title" hdy_view_switcher_title_set_title :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    CString ->                              -- title : TBasicType TUTF8
    IO ()

-- | Sets the title of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherTitleSetTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Maybe (T.Text)
    -- ^ /@title@/: a title
    -> m ()
viewSwitcherTitleSetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
a -> Maybe Text -> m ()
viewSwitcherTitleSetTitle a
self Maybe 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
maybeTitle <- case Maybe Text
title of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jTitle -> do
            CString
jTitle' <- Text -> IO CString
textToCString Text
jTitle
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jTitle'
    Ptr ViewSwitcherTitle -> CString -> IO ()
hdy_view_switcher_title_set_title Ptr ViewSwitcherTitle
self' CString
maybeTitle
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeTitle
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherTitleSetTitleMethodInfo
instance (signature ~ (Maybe (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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleSetTitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleSetTitle"
        })


#endif

-- method ViewSwitcherTitle::set_view_switcher_enabled
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Handy" , 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 "`TRUE` to enable the view switcher, `FALSE` to disable it"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_view_switcher_title_set_view_switcher_enabled" hdy_view_switcher_title_set_view_switcher_enabled :: 
    Ptr ViewSwitcherTitle ->                -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherTitle"})
    CInt ->                                 -- enabled : TBasicType TBoolean
    IO ()

-- | Sets whether /@self@/\'s view switcher is enabled.
-- 
-- /Since: 1.0/
viewSwitcherTitleSetViewSwitcherEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherTitle a) =>
    a
    -- ^ /@self@/: a view switcher title
    -> Bool
    -- ^ /@enabled@/: @TRUE@ to enable the view switcher, @FALSE@ to disable it
    -> 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 ()
hdy_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.Handy.Objects.ViewSwitcherTitle.viewSwitcherTitleSetViewSwitcherEnabled",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherTitle.html#v:viewSwitcherTitleSetViewSwitcherEnabled"
        })


#endif