{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- An adaptive view switcher.
-- 
-- An adaptive view switcher, designed to switch between multiple views in a
-- similar fashion than a t'GI.Gtk.Objects.StackSwitcher.StackSwitcher'.
-- 
-- Depending on the available width, the view switcher can adapt from a wide
-- mode showing the view\'s icon and title side by side, to a narrow mode showing
-- the view\'s icon and title one on top of the other, in a more compact way.
-- This can be controlled via the policy property.
-- 
-- To look good in a header bar, an @HdyViewSwitcher@ requires to fill its full
-- height. Contrary to t'GI.Gtk.Objects.HeaderBar.HeaderBar', [class/@headerBar@/] doesn\'t force a
-- vertical alignment on its title widget, so we recommend it over
-- t'GI.Gtk.Objects.HeaderBar.HeaderBar'.
-- 
-- == CSS nodes
-- 
-- @HdyViewSwitcher@ has a single CSS node with name @viewswitcher@.
-- 
-- /Since: 1.0/

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

module GI.Handy.Objects.ViewSwitcher
    ( 

-- * Exported types
    ViewSwitcher(..)                        ,
    IsViewSwitcher                          ,
    toViewSwitcher                          ,


 -- * 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"), [getNarrowEllipsize]("GI.Handy.Objects.ViewSwitcher#g:method:getNarrowEllipsize"), [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.ViewSwitcher#g:method:getPolicy"), [getPreferredHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredHeight"), [getPreferredHeightAndBaselineForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightAndBaselineForWidth"), [getPreferredHeightForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightForWidth"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPreferredWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredWidth"), [getPreferredWidthForHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredWidthForHeight"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRealized]("GI.Gtk.Objects.Widget#g:method:getRealized"), [getReceivesDefault]("GI.Gtk.Objects.Widget#g:method:getReceivesDefault"), [getRequestMode]("GI.Gtk.Objects.Widget#g:method:getRequestMode"), [getRequisition]("GI.Gtk.Objects.Widget#g:method:getRequisition"), [getResizeMode]("GI.Gtk.Objects.Container#g:method:getResizeMode"), [getRootWindow]("GI.Gtk.Objects.Widget#g:method:getRootWindow"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getScreen]("GI.Gtk.Objects.Widget#g:method:getScreen"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getStack]("GI.Handy.Objects.ViewSwitcher#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"), [setNarrowEllipsize]("GI.Handy.Objects.ViewSwitcher#g:method:setNarrowEllipsize"), [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.ViewSwitcher#g:method:setPolicy"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setRealized]("GI.Gtk.Objects.Widget#g:method:setRealized"), [setReallocateRedraws]("GI.Gtk.Objects.Container#g:method:setReallocateRedraws"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setRedrawOnAllocate]("GI.Gtk.Objects.Widget#g:method:setRedrawOnAllocate"), [setResizeMode]("GI.Gtk.Objects.Container#g:method:setResizeMode"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setStack]("GI.Handy.Objects.ViewSwitcher#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)
    ResolveViewSwitcherMethod               ,
#endif

-- ** getNarrowEllipsize #method:getNarrowEllipsize#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherGetNarrowEllipsizeMethodInfo,
#endif
    viewSwitcherGetNarrowEllipsize          ,


-- ** getPolicy #method:getPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherGetPolicyMethodInfo         ,
#endif
    viewSwitcherGetPolicy                   ,


-- ** getStack #method:getStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherGetStackMethodInfo          ,
#endif
    viewSwitcherGetStack                    ,


-- ** new #method:new#

    viewSwitcherNew                         ,


-- ** setNarrowEllipsize #method:setNarrowEllipsize#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherSetNarrowEllipsizeMethodInfo,
#endif
    viewSwitcherSetNarrowEllipsize          ,


-- ** setPolicy #method:setPolicy#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherSetPolicyMethodInfo         ,
#endif
    viewSwitcherSetPolicy                   ,


-- ** setStack #method:setStack#

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherSetStackMethodInfo          ,
#endif
    viewSwitcherSetStack                    ,




 -- * Properties


-- ** narrowEllipsize #attr:narrowEllipsize#
-- | The preferred place to ellipsize the string.
-- 
-- If the narrow mode label does not have enough room to display the entire
-- string, specified as a t'GI.Pango.Enums.EllipsizeMode'.
-- 
-- Note that setting this property to a value other than
-- @PANGO_ELLIPSIZE_NONE@ has the side-effect that the label requests only
-- enough space to display the ellipsis.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherNarrowEllipsizePropertyInfo ,
#endif
    constructViewSwitcherNarrowEllipsize    ,
    getViewSwitcherNarrowEllipsize          ,
    setViewSwitcherNarrowEllipsize          ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherNarrowEllipsize             ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherPolicyPropertyInfo          ,
#endif
    constructViewSwitcherPolicy             ,
    getViewSwitcherPolicy                   ,
    setViewSwitcherPolicy                   ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherPolicy                      ,
#endif


-- ** stack #attr:stack#
-- | The t'GI.Gtk.Objects.Stack.Stack' the view switcher controls.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ViewSwitcherStackPropertyInfo           ,
#endif
    clearViewSwitcherStack                  ,
    constructViewSwitcherStack              ,
    getViewSwitcherStack                    ,
    setViewSwitcherStack                    ,
#if defined(ENABLE_OVERLOADING)
    viewSwitcherStack                       ,
#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
import qualified GI.Pango.Enums as Pango.Enums

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

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

foreign import ccall "hdy_view_switcher_get_type"
    c_hdy_view_switcher_get_type :: IO B.Types.GType

instance B.Types.TypedObject ViewSwitcher where
    glibType :: IO GType
glibType = IO GType
c_hdy_view_switcher_get_type

instance B.Types.GObject ViewSwitcher

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

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

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

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

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

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

#endif

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

#endif

-- VVV Prop "narrow-ellipsize"
   -- Type: TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

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

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherNarrowEllipsizePropertyInfo
instance AttrInfo ViewSwitcherNarrowEllipsizePropertyInfo where
    type AttrAllowedOps ViewSwitcherNarrowEllipsizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherNarrowEllipsizePropertyInfo = IsViewSwitcher
    type AttrSetTypeConstraint ViewSwitcherNarrowEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
    type AttrTransferTypeConstraint ViewSwitcherNarrowEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
    type AttrTransferType ViewSwitcherNarrowEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
    type AttrGetType ViewSwitcherNarrowEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
    type AttrLabel ViewSwitcherNarrowEllipsizePropertyInfo = "narrow-ellipsize"
    type AttrOrigin ViewSwitcherNarrowEllipsizePropertyInfo = ViewSwitcher
    attrGet = getViewSwitcherNarrowEllipsize
    attrSet = setViewSwitcherNarrowEllipsize
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherNarrowEllipsize
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcher.narrowEllipsize"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcher.html#g:attr:narrowEllipsize"
        })
#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' viewSwitcher #policy
-- @
getViewSwitcherPolicy :: (MonadIO m, IsViewSwitcher o) => o -> m Handy.Enums.ViewSwitcherPolicy
getViewSwitcherPolicy :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcher o) =>
o -> m ViewSwitcherPolicy
getViewSwitcherPolicy 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' viewSwitcher [ #policy 'Data.GI.Base.Attributes.:=' value ]
-- @
setViewSwitcherPolicy :: (MonadIO m, IsViewSwitcher o) => o -> Handy.Enums.ViewSwitcherPolicy -> m ()
setViewSwitcherPolicy :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcher o) =>
o -> ViewSwitcherPolicy -> m ()
setViewSwitcherPolicy 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`.
constructViewSwitcherPolicy :: (IsViewSwitcher o, MIO.MonadIO m) => Handy.Enums.ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherPolicy :: forall o (m :: * -> *).
(IsViewSwitcher o, MonadIO m) =>
ViewSwitcherPolicy -> m (GValueConstruct o)
constructViewSwitcherPolicy 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 ViewSwitcherPolicyPropertyInfo
instance AttrInfo ViewSwitcherPolicyPropertyInfo where
    type AttrAllowedOps ViewSwitcherPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ViewSwitcherPolicyPropertyInfo = IsViewSwitcher
    type AttrSetTypeConstraint ViewSwitcherPolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferTypeConstraint ViewSwitcherPolicyPropertyInfo = (~) Handy.Enums.ViewSwitcherPolicy
    type AttrTransferType ViewSwitcherPolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrGetType ViewSwitcherPolicyPropertyInfo = Handy.Enums.ViewSwitcherPolicy
    type AttrLabel ViewSwitcherPolicyPropertyInfo = "policy"
    type AttrOrigin ViewSwitcherPolicyPropertyInfo = ViewSwitcher
    attrGet = getViewSwitcherPolicy
    attrSet = setViewSwitcherPolicy
    attrTransfer _ v = do
        return v
    attrConstruct = constructViewSwitcherPolicy
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcher.policy"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcher.html#g:attr:policy"
        })
#endif

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

-- | Get the value of the “@stack@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' viewSwitcher #stack
-- @
getViewSwitcherStack :: (MonadIO m, IsViewSwitcher o) => o -> m (Maybe Gtk.Stack.Stack)
getViewSwitcherStack :: forall (m :: * -> *) o.
(MonadIO m, IsViewSwitcher o) =>
o -> m (Maybe Stack)
getViewSwitcherStack 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' viewSwitcher [ #stack 'Data.GI.Base.Attributes.:=' value ]
-- @
setViewSwitcherStack :: (MonadIO m, IsViewSwitcher o, Gtk.Stack.IsStack a) => o -> a -> m ()
setViewSwitcherStack :: forall (m :: * -> *) o a.
(MonadIO m, IsViewSwitcher o, IsStack a) =>
o -> a -> m ()
setViewSwitcherStack 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`.
constructViewSwitcherStack :: (IsViewSwitcher o, MIO.MonadIO m, Gtk.Stack.IsStack a) => a -> m (GValueConstruct o)
constructViewSwitcherStack :: forall o (m :: * -> *) a.
(IsViewSwitcher o, MonadIO m, IsStack a) =>
a -> m (GValueConstruct o)
constructViewSwitcherStack 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
-- @
clearViewSwitcherStack :: (MonadIO m, IsViewSwitcher o) => o -> m ()
clearViewSwitcherStack :: forall (m :: * -> *) o. (MonadIO m, IsViewSwitcher o) => o -> m ()
clearViewSwitcherStack 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 ViewSwitcherStackPropertyInfo
instance AttrInfo ViewSwitcherStackPropertyInfo where
    type AttrAllowedOps ViewSwitcherStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint ViewSwitcherStackPropertyInfo = IsViewSwitcher
    type AttrSetTypeConstraint ViewSwitcherStackPropertyInfo = Gtk.Stack.IsStack
    type AttrTransferTypeConstraint ViewSwitcherStackPropertyInfo = Gtk.Stack.IsStack
    type AttrTransferType ViewSwitcherStackPropertyInfo = Gtk.Stack.Stack
    type AttrGetType ViewSwitcherStackPropertyInfo = (Maybe Gtk.Stack.Stack)
    type AttrLabel ViewSwitcherStackPropertyInfo = "stack"
    type AttrOrigin ViewSwitcherStackPropertyInfo = ViewSwitcher
    attrGet = getViewSwitcherStack
    attrSet = setViewSwitcherStack
    attrTransfer _ v = do
        unsafeCastTo Gtk.Stack.Stack v
    attrConstruct = constructViewSwitcherStack
    attrClear = clearViewSwitcherStack
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.ViewSwitcher.stack"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-ViewSwitcher.html#g:attr:stack"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ViewSwitcher
type instance O.AttributeList ViewSwitcher = ViewSwitcherAttributeList
type ViewSwitcherAttributeList = ('[ '("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), '("narrowEllipsize", ViewSwitcherNarrowEllipsizePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("policy", ViewSwitcherPolicyPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", ViewSwitcherStackPropertyInfo), '("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)
viewSwitcherNarrowEllipsize :: AttrLabelProxy "narrowEllipsize"
viewSwitcherNarrowEllipsize = AttrLabelProxy

viewSwitcherPolicy :: AttrLabelProxy "policy"
viewSwitcherPolicy = AttrLabelProxy

viewSwitcherStack :: AttrLabelProxy "stack"
viewSwitcherStack = AttrLabelProxy

#endif

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

foreign import ccall "hdy_view_switcher_new" hdy_view_switcher_new :: 
    IO (Ptr ViewSwitcher)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

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

-- | Get the ellipsizing position of the narrow mode label.
-- 
-- /Since: 1.0/
viewSwitcherGetNarrowEllipsize ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcher a) =>
    a
    -- ^ /@self@/: a view switcher
    -> m Pango.Enums.EllipsizeMode
    -- ^ __Returns:__ a t'GI.Pango.Enums.EllipsizeMode'
viewSwitcherGetNarrowEllipsize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcher a) =>
a -> m EllipsizeMode
viewSwitcherGetNarrowEllipsize a
self = IO EllipsizeMode -> m EllipsizeMode
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EllipsizeMode -> m EllipsizeMode)
-> IO EllipsizeMode -> m EllipsizeMode
forall a b. (a -> b) -> a -> b
$ do
    Ptr ViewSwitcher
self' <- a -> IO (Ptr ViewSwitcher)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CUInt
result <- Ptr ViewSwitcher -> IO CUInt
hdy_view_switcher_get_narrow_ellipsize Ptr ViewSwitcher
self'
    let result' :: EllipsizeMode
result' = (Int -> EllipsizeMode
forall a. Enum a => Int -> a
toEnum (Int -> EllipsizeMode) -> (CUInt -> Int) -> CUInt -> EllipsizeMode
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
    EllipsizeMode -> IO EllipsizeMode
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return EllipsizeMode
result'

#if defined(ENABLE_OVERLOADING)
data ViewSwitcherGetNarrowEllipsizeMethodInfo
instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsViewSwitcher a) => O.OverloadedMethod ViewSwitcherGetNarrowEllipsizeMethodInfo a signature where
    overloadedMethod = viewSwitcherGetNarrowEllipsize

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


#endif

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

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

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


#endif

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

-- | Gets the stack controlled by /@self@/.
-- 
-- /Since: 1.0/
viewSwitcherGetStack ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcher a) =>
    a
    -- ^ /@self@/: a view switcher
    -> m (Maybe Gtk.Stack.Stack)
    -- ^ __Returns:__ the stack
viewSwitcherGetStack :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcher a) =>
a -> m (Maybe Stack)
viewSwitcherGetStack 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 ViewSwitcher
self' <- a -> IO (Ptr ViewSwitcher)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Stack
result <- Ptr ViewSwitcher -> IO (Ptr Stack)
hdy_view_switcher_get_stack Ptr ViewSwitcher
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 ViewSwitcherGetStackMethodInfo
instance (signature ~ (m (Maybe Gtk.Stack.Stack)), MonadIO m, IsViewSwitcher a) => O.OverloadedMethod ViewSwitcherGetStackMethodInfo a signature where
    overloadedMethod = viewSwitcherGetStack

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


#endif

-- method ViewSwitcher::set_narrow_ellipsize
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ViewSwitcher" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a view switcher" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "mode"
--           , argType =
--               TInterface Name { namespace = "Pango" , name = "EllipsizeMode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a [enum@Pango.EllipsizeMode]"
--                 , 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_set_narrow_ellipsize" hdy_view_switcher_set_narrow_ellipsize :: 
    Ptr ViewSwitcher ->                     -- self : TInterface (Name {namespace = "Handy", name = "ViewSwitcher"})
    CUInt ->                                -- mode : TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
    IO ()

-- | Sets the mode used to ellipsize the text in narrow mode.
-- 
-- /Since: 1.0/
viewSwitcherSetNarrowEllipsize ::
    (B.CallStack.HasCallStack, MonadIO m, IsViewSwitcher a) =>
    a
    -- ^ /@self@/: a view switcher
    -> Pango.Enums.EllipsizeMode
    -- ^ /@mode@/: a t'GI.Pango.Enums.EllipsizeMode'
    -> m ()
viewSwitcherSetNarrowEllipsize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsViewSwitcher a) =>
a -> EllipsizeMode -> m ()
viewSwitcherSetNarrowEllipsize a
self EllipsizeMode
mode = 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 ViewSwitcher
self' <- a -> IO (Ptr ViewSwitcher)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let mode' :: CUInt
mode' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (EllipsizeMode -> Int) -> EllipsizeMode -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. EllipsizeMode -> Int
forall a. Enum a => a -> Int
fromEnum) EllipsizeMode
mode
    Ptr ViewSwitcher -> CUInt -> IO ()
hdy_view_switcher_set_narrow_ellipsize Ptr ViewSwitcher
self' CUInt
mode'
    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 ViewSwitcherSetNarrowEllipsizeMethodInfo
instance (signature ~ (Pango.Enums.EllipsizeMode -> m ()), MonadIO m, IsViewSwitcher a) => O.OverloadedMethod ViewSwitcherSetNarrowEllipsizeMethodInfo a signature where
    overloadedMethod = viewSwitcherSetNarrowEllipsize

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


#endif

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

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

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


#endif

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

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


#endif