{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A view switcher action bar.
-- 
-- An action bar letting you switch between multiple views offered by a
-- t'GI.Gtk.Objects.Stack.Stack', via an [class/@viewSwitcher@/]. It is designed to be put at
-- the bottom of a window and to be revealed only on really narrow windows e.g.
-- on mobile phones. It can\'t be revealed if there are less than two pages.
-- 
-- @HdyViewSwitcherBar@ is intended to be used together with
-- [class/@viewSwitcherTitle@/].
-- 
-- 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
-- 
-- @HdyViewSwitcherBar@ has a single CSS node with name @viewswitcherbar@.
-- 
-- /Since: 1.0/

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

module GI.Handy.Objects.ViewSwitcherBar
    ( 

-- * Exported types
    ViewSwitcherBar(..)                     ,
    IsViewSwitcherBar                       ,
    toViewSwitcherBar                       ,


 -- * 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.ViewSwitcherBar#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"), [getReveal]("GI.Handy.Objects.ViewSwitcherBar#g:method:getReveal"), [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.ViewSwitcherBar#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"), [getSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:getSupportMultidevice"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [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"), [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.ViewSwitcherBar#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"), [setReveal]("GI.Handy.Objects.ViewSwitcherBar#g:method:setReveal"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStack]("GI.Handy.Objects.ViewSwitcherBar#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"), [setSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:setSupportMultidevice"), [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"), [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)
    ResolveViewSwitcherBarMethod            ,
#endif

-- ** getPolicy #method:getPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarGetPolicyMethodInfo      ,
#endif
    viewSwitcherBarGetPolicy                ,


-- ** getReveal #method:getReveal#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarGetRevealMethodInfo      ,
#endif
    viewSwitcherBarGetReveal                ,


-- ** getStack #method:getStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarGetStackMethodInfo       ,
#endif
    viewSwitcherBarGetStack                 ,


-- ** new #method:new#

    viewSwitcherBarNew                      ,


-- ** setPolicy #method:setPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarSetPolicyMethodInfo      ,
#endif
    viewSwitcherBarSetPolicy                ,


-- ** setReveal #method:setReveal#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarSetRevealMethodInfo      ,
#endif
    viewSwitcherBarSetReveal                ,


-- ** setStack #method:setStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarSetStackMethodInfo       ,
#endif
    viewSwitcherBarSetStack                 ,




 -- * Properties


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

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarPolicyPropertyInfo       ,
#endif
    constructViewSwitcherBarPolicy          ,
    getViewSwitcherBarPolicy                ,
    setViewSwitcherBarPolicy                ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherBarPolicy                   ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarRevealPropertyInfo       ,
#endif
    constructViewSwitcherBarReveal          ,
    getViewSwitcherBarReveal                ,
    setViewSwitcherBarReveal                ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherBarReveal                   ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherBarStackPropertyInfo        ,
#endif
    clearViewSwitcherBarStack               ,
    constructViewSwitcherBarStack           ,
    getViewSwitcherBarStack                 ,
    setViewSwitcherBarStack                 ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherBarStack                    ,
#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 ViewSwitcherBar = ViewSwitcherBar (SP.ManagedPtr ViewSwitcherBar)
    deriving (ViewSwitcherBar -> ViewSwitcherBar -> Bool
(ViewSwitcherBar -> ViewSwitcherBar -> Bool)
-> (ViewSwitcherBar -> ViewSwitcherBar -> Bool)
-> Eq ViewSwitcherBar
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ViewSwitcherBar -> ViewSwitcherBar -> Bool
== :: ViewSwitcherBar -> ViewSwitcherBar -> Bool
$c/= :: ViewSwitcherBar -> ViewSwitcherBar -> Bool
/= :: ViewSwitcherBar -> ViewSwitcherBar -> Bool
Eq)

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

foreign import ccall "hdy_view_switcher_bar_get_type"
    c_hdy_view_switcher_bar_get_type :: IO B.Types.GType

instance B.Types.TypedObject ViewSwitcherBar where
    glibType :: IO GType
glibType = IO GType
c_hdy_view_switcher_bar_get_type

instance B.Types.GObject ViewSwitcherBar

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

instance O.HasParentTypes ViewSwitcherBar
type instance O.ParentTypes ViewSwitcherBar = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]

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

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

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

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

#endif

instance (info ~ ResolveViewSwitcherBarMethod t ViewSwitcherBar, O.OverloadedMethodInfo info ViewSwitcherBar) => OL.IsLabel t (O.MethodProxy info ViewSwitcherBar) 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' viewSwitcherBar #policy
-- @
getViewSwitcherBarPolicy :: (MonadIO m, IsViewSwitcherBar o) => o -> m Handy.Enums.ViewSwitcherPolicy
getViewSwitcherBarPolicy :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherBar o) =>
o -> m ViewSwitcherPolicy
getViewSwitcherBarPolicy 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' viewSwitcherBar [ #policy 'Data.GI.Base.Attributes.:=' value ]
-- @
setViewSwitcherBarPolicy :: (MonadIO m, IsViewSwitcherBar o) => o -> Handy.Enums.ViewSwitcherPolicy -> m ()
setViewSwitcherBarPolicy :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherBar o) =>
o -> ViewSwitcherPolicy -> m ()
setViewSwitcherBarPolicy 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`.
constructViewSwitcherBarPolicy :: (IsViewSwitcherBar o, MIO.MonadIO m) => Handy.Enums.ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherBarPolicy :: forall o (m :: * -> *).
(IsViewSwitcherBar o, MonadIO m) =>
ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherBarPolicy 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 ViewSwitcherBarPolicyPropertyInfo
instance AttrInfo ViewSwitcherBarPolicyPropertyInfo where
    type AttrAllowedOps ViewSwitcherBarPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherBarPolicyPropertyInfo = IsViewSwitcherBar
    type AttrSetTypeConstraint ViewSwitcherBarPolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferTypeConstraint ViewSwitcherBarPolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferType ViewSwitcherBarPolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrGetType ViewSwitcherBarPolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrLabel ViewSwitcherBarPolicyPropertyInfo = "policy"
    type AttrOrigin ViewSwitcherBarPolicyPropertyInfo = ViewSwitcherBar
    attrGet = getViewSwitcherBarPolicy
    attrSet = setViewSwitcherBarPolicy
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherBarPolicy
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherBar.policy"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherBar.html#g:attr:policy"
        })
#endif

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherBarRevealPropertyInfo
instance AttrInfo ViewSwitcherBarRevealPropertyInfo where
    type AttrAllowedOps ViewSwitcherBarRevealPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherBarRevealPropertyInfo = IsViewSwitcherBar
    type AttrSetTypeConstraint ViewSwitcherBarRevealPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint ViewSwitcherBarRevealPropertyInfo = (~) Bool
    type AttrTransferType ViewSwitcherBarRevealPropertyInfo = Bool
    type AttrGetType ViewSwitcherBarRevealPropertyInfo = Bool
    type AttrLabel ViewSwitcherBarRevealPropertyInfo = "reveal"
    type AttrOrigin ViewSwitcherBarRevealPropertyInfo = ViewSwitcherBar
    attrGet = getViewSwitcherBarReveal
    attrSet = setViewSwitcherBarReveal
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherBarReveal
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherBar.reveal"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherBar.html#g:attr:reveal"
        })
#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' viewSwitcherBar #stack
-- @
getViewSwitcherBarStack :: (MonadIO m, IsViewSwitcherBar o) => o -> m (Maybe Gtk.Stack.Stack)
getViewSwitcherBarStack :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherBar o) =>
o -> m (Maybe Stack)
getViewSwitcherBarStack 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' viewSwitcherBar [ #stack 'Data.GI.Base.Attributes.:=' value ]
-- @
setViewSwitcherBarStack :: (MonadIO m, IsViewSwitcherBar o, Gtk.Stack.IsStack a) => o -> a -> m ()
setViewSwitcherBarStack :: forall (m :: * -> *) o a.
(MonadIO m, IsViewSwitcherBar o, IsStack a) =>
o -> a -> m ()
setViewSwitcherBarStack 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`.
constructViewSwitcherBarStack :: (IsViewSwitcherBar o, MIO.MonadIO m, Gtk.Stack.IsStack a) => a -> m (GValueConstruct o)
constructViewSwitcherBarStack :: forall o (m :: * -> *) a.
(IsViewSwitcherBar o, MonadIO m, IsStack a) =>
a -> m (GValueConstruct o)
constructViewSwitcherBarStack 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
-- @
clearViewSwitcherBarStack :: (MonadIO m, IsViewSwitcherBar o) => o -> m ()
clearViewSwitcherBarStack :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcherBar o) =>
o -> m ()
clearViewSwitcherBarStack 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 ViewSwitcherBarStackPropertyInfo
instance AttrInfo ViewSwitcherBarStackPropertyInfo where
    type AttrAllowedOps ViewSwitcherBarStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint ViewSwitcherBarStackPropertyInfo = IsViewSwitcherBar
    type AttrSetTypeConstraint ViewSwitcherBarStackPropertyInfo = Gtk.Stack.IsStack
    type AttrTransferTypeConstraint ViewSwitcherBarStackPropertyInfo = Gtk.Stack.IsStack
    type AttrTransferType ViewSwitcherBarStackPropertyInfo = Gtk.Stack.Stack
    type AttrGetType ViewSwitcherBarStackPropertyInfo = (Maybe Gtk.Stack.Stack)
    type AttrLabel ViewSwitcherBarStackPropertyInfo = "stack"
    type AttrOrigin ViewSwitcherBarStackPropertyInfo = ViewSwitcherBar
    attrGet = getViewSwitcherBarStack
    attrSet = setViewSwitcherBarStack
    attrTransfer _ v = do
        unsafeCastTo Gtk.Stack.Stack v
    attrConstruct = constructViewSwitcherBarStack
    attrClear = clearViewSwitcherBarStack
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcherBar.stack"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcherBar.html#g:attr:stack"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ViewSwitcherBar
type instance O.AttributeList ViewSwitcherBar = ViewSwitcherBarAttributeList
type ViewSwitcherBarAttributeList = ('[ '("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", ViewSwitcherBarPolicyPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("reveal", ViewSwitcherBarRevealPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", ViewSwitcherBarStackPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

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

viewSwitcherBarReveal :: AttrLabelProxy "reveal"
viewSwitcherBarReveal = AttrLabelProxy

viewSwitcherBarStack :: AttrLabelProxy "stack"
viewSwitcherBarStack = AttrLabelProxy

#endif

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

foreign import ccall "hdy_view_switcher_bar_new" hdy_view_switcher_bar_new :: 
    IO (Ptr ViewSwitcherBar)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method ViewSwitcherBar::get_policy
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , 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_bar_get_policy" hdy_view_switcher_bar_get_policy :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    IO CUInt

-- | Gets the policy of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherBarGetPolicy ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> m Handy.Enums.ViewSwitcherPolicy
    -- ^ __Returns:__ the policy of /@self@/
viewSwitcherBarGetPolicy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
a -> m ViewSwitcherPolicy
viewSwitcherBarGetPolicy 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CUInt
result <- Ptr ViewSwitcherBar -> IO CUInt
hdy_view_switcher_bar_get_policy Ptr ViewSwitcherBar
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 ViewSwitcherBarGetPolicyMethodInfo
instance (signature ~ (m Handy.Enums.ViewSwitcherPolicy), MonadIO m, IsViewSwitcherBar a) => O.OverloadedMethod ViewSwitcherBarGetPolicyMethodInfo a signature where
    overloadedMethod = viewSwitcherBarGetPolicy

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


#endif

-- method ViewSwitcherBar::get_reveal
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , 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_bar_get_reveal" hdy_view_switcher_bar_get_reveal :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    IO CInt

-- | Gets whether /@self@/ should be revealed or hidden.
-- 
-- /Since: 1.0/
viewSwitcherBarGetReveal ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> m Bool
    -- ^ __Returns:__ whether /@self@/ is revealed
viewSwitcherBarGetReveal :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
a -> m Bool
viewSwitcherBarGetReveal 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr ViewSwitcherBar -> IO CInt
hdy_view_switcher_bar_get_reveal Ptr ViewSwitcherBar
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 ViewSwitcherBarGetRevealMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsViewSwitcherBar a) => O.OverloadedMethod ViewSwitcherBarGetRevealMethodInfo a signature where
    overloadedMethod = viewSwitcherBarGetReveal

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


#endif

-- method ViewSwitcherBar::get_stack
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , 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_bar_get_stack" hdy_view_switcher_bar_get_stack :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    IO (Ptr Gtk.Stack.Stack)

-- | Get the t'GI.Gtk.Objects.Stack.Stack' being controlled by the [class/@viewSwitcher@/].
-- 
-- /Since: 1.0/
viewSwitcherBarGetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> m (Maybe Gtk.Stack.Stack)
    -- ^ __Returns:__ the stack
viewSwitcherBarGetStack :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
a -> m (Maybe Stack)
viewSwitcherBarGetStack 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Stack
result <- Ptr ViewSwitcherBar -> IO (Ptr Stack)
hdy_view_switcher_bar_get_stack Ptr ViewSwitcherBar
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 ViewSwitcherBarGetStackMethodInfo
instance (signature ~ (m (Maybe Gtk.Stack.Stack)), MonadIO m, IsViewSwitcherBar a) => O.OverloadedMethod ViewSwitcherBarGetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherBarGetStack

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


#endif

-- method ViewSwitcherBar::set_policy
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , 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_bar_set_policy" hdy_view_switcher_bar_set_policy :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    CUInt ->                                -- policy : TInterface (Name {namespace = "Handy", name = "ViewSwitcherPolicy"})
    IO ()

-- | Sets the policy of /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherBarSetPolicy ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> Handy.Enums.ViewSwitcherPolicy
    -- ^ /@policy@/: the new policy
    -> m ()
viewSwitcherBarSetPolicy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
a -> ViewSwitcherPolicy -> m ()
viewSwitcherBarSetPolicy 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
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 ViewSwitcherBar -> CUInt -> IO ()
hdy_view_switcher_bar_set_policy Ptr ViewSwitcherBar
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 ViewSwitcherBarSetPolicyMethodInfo
instance (signature ~ (Handy.Enums.ViewSwitcherPolicy -> m ()), MonadIO m, IsViewSwitcherBar a) => O.OverloadedMethod ViewSwitcherBarSetPolicyMethodInfo a signature where
    overloadedMethod = viewSwitcherBarSetPolicy

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


#endif

-- method ViewSwitcherBar::set_reveal
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "reveal"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "`TRUE` to reveal @self"
--                 , 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_bar_set_reveal" hdy_view_switcher_bar_set_reveal :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    CInt ->                                 -- reveal : TBasicType TBoolean
    IO ()

-- | Sets whether /@self@/ should be revealed or not.
-- 
-- /Since: 1.0/
viewSwitcherBarSetReveal ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> Bool
    -- ^ /@reveal@/: @TRUE@ to reveal /@self@/
    -> m ()
viewSwitcherBarSetReveal :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcherBar a) =>
a -> Bool -> m ()
viewSwitcherBarSetReveal a
self Bool
reveal = 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let reveal' :: CInt
reveal' = (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
reveal
    Ptr ViewSwitcherBar -> CInt -> IO ()
hdy_view_switcher_bar_set_reveal Ptr ViewSwitcherBar
self' CInt
reveal'
    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 ViewSwitcherBarSetRevealMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsViewSwitcherBar a) => O.OverloadedMethod ViewSwitcherBarSetRevealMethodInfo a signature where
    overloadedMethod = viewSwitcherBarSetReveal

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


#endif

-- method ViewSwitcherBar::set_stack
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcherBar" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher bar"
--                 , 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_bar_set_stack" hdy_view_switcher_bar_set_stack :: 
    Ptr ViewSwitcherBar ->                  -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcherBar"})
    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/
viewSwitcherBarSetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcherBar a, Gtk.Stack.IsStack b) =>
    a
    -- ^ /@self@/: a view switcher bar
    -> Maybe (b)
    -- ^ /@stack@/: a stack
    -> m ()
viewSwitcherBarSetStack :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsViewSwitcherBar a, IsStack b) =>
a -> Maybe b -> m ()
viewSwitcherBarSetStack 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 ViewSwitcherBar
self' <- a -> IO (Ptr ViewSwitcherBar)
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 ViewSwitcherBar -> Ptr Stack -> IO ()
hdy_view_switcher_bar_set_stack Ptr ViewSwitcherBar
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 ViewSwitcherBarSetStackMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsViewSwitcherBar a, Gtk.Stack.IsStack b) => O.OverloadedMethod ViewSwitcherBarSetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherBarSetStack

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


#endif