{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A widget constraining its child to a given size.
-- 
-- The @HdyClamp@ widget constrains the size of the widget it contains to a
-- given maximum size. It will constrain the width if it is horizontal, or the
-- height if it is vertical. The expansion of the child from its minimum to its
-- maximum size is eased out for a smooth transition.
-- 
-- If the child requires more than the requested maximum size, it will be
-- allocated the minimum size it can fit in instead.
-- 
-- == CSS nodes
-- 
-- @HdyClamp@ has a single CSS node with name @clamp@.
-- 
-- The node will get the style classes @.large@ when its child reached its
-- maximum size, @.small@ when the clamp allocates its full size to its child,
-- @.medium@ in-between, or none if it didn\'t compute its size yet.
-- 
-- /Since: 1.0/

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

module GI.Handy.Objects.Clamp
    ( 

-- * Exported types
    Clamp(..)                               ,
    IsClamp                                 ,
    toClamp                                 ,


 -- * 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"), [getMaximumSize]("GI.Handy.Objects.Clamp#g:method:getMaximumSize"), [getModifierMask]("GI.Gtk.Objects.Widget#g:method:getModifierMask"), [getModifierStyle]("GI.Gtk.Objects.Widget#g:method:getModifierStyle"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNoShowAll]("GI.Gtk.Objects.Widget#g:method:getNoShowAll"), [getOpacity]("GI.Gtk.Objects.Widget#g:method:getOpacity"), [getOrientation]("GI.Gtk.Interfaces.Orientable#g:method:getOrientation"), [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"), [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"), [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"), [getTighteningThreshold]("GI.Handy.Objects.Clamp#g:method:getTighteningThreshold"), [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"), [setMaximumSize]("GI.Handy.Objects.Clamp#g:method:setMaximumSize"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setNoShowAll]("GI.Gtk.Objects.Widget#g:method:setNoShowAll"), [setOpacity]("GI.Gtk.Objects.Widget#g:method:setOpacity"), [setOrientation]("GI.Gtk.Interfaces.Orientable#g:method:setOrientation"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setParentWindow]("GI.Gtk.Objects.Widget#g:method:setParentWindow"), [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"), [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"), [setTighteningThreshold]("GI.Handy.Objects.Clamp#g:method:setTighteningThreshold"), [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)
    ResolveClampMethod                      ,
#endif

-- ** getMaximumSize #method:getMaximumSize#

#if defined(ENABLE_OVERLOADING)
    ClampGetMaximumSizeMethodInfo           ,
#endif
    clampGetMaximumSize                     ,


-- ** getTighteningThreshold #method:getTighteningThreshold#

#if defined(ENABLE_OVERLOADING)
    ClampGetTighteningThresholdMethodInfo   ,
#endif
    clampGetTighteningThreshold             ,


-- ** new #method:new#

    clampNew                                ,


-- ** setMaximumSize #method:setMaximumSize#

#if defined(ENABLE_OVERLOADING)
    ClampSetMaximumSizeMethodInfo           ,
#endif
    clampSetMaximumSize                     ,


-- ** setTighteningThreshold #method:setTighteningThreshold#

#if defined(ENABLE_OVERLOADING)
    ClampSetTighteningThresholdMethodInfo   ,
#endif
    clampSetTighteningThreshold             ,




 -- * Properties


-- ** maximumSize #attr:maximumSize#
-- | The maximum size to allocate the children.
-- 
-- It is the width if the clamp is horizontal, or the height if it is
-- vertical.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ClampMaximumSizePropertyInfo            ,
#endif
#if defined(ENABLE_OVERLOADING)
    clampMaximumSize                        ,
#endif
    constructClampMaximumSize               ,
    getClampMaximumSize                     ,
    setClampMaximumSize                     ,


-- ** tighteningThreshold #attr:tighteningThreshold#
-- | The size above which the child is clamped.
-- 
-- Starting from this size, the layout will tighten its grip on the children,
-- slowly allocating less and less of the available size up to the maximum
-- allocated size. Below that threshold and below the maximum size, the
-- children will be allocated all the available size.
-- 
-- If the threshold is greater than the maximum size to allocate to the
-- children, they will be allocated the whole size up to the maximum. If the
-- threshold is lower than the minimum size to allocate to the children, that
-- size will be used as the tightening threshold.
-- 
-- Effectively, tightening the grip on a child before it reaches its maximum
-- size makes transitions to and from the maximum size smoother when resizing.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    ClampTighteningThresholdPropertyInfo    ,
#endif
#if defined(ENABLE_OVERLOADING)
    clampTighteningThreshold                ,
#endif
    constructClampTighteningThreshold       ,
    getClampTighteningThreshold             ,
    setClampTighteningThreshold             ,




    ) 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.Interfaces.Orientable as Gtk.Orientable
import qualified GI.Gtk.Objects.Bin as Gtk.Bin
import qualified GI.Gtk.Objects.Container as Gtk.Container
import qualified GI.Gtk.Objects.Widget as Gtk.Widget

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

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

foreign import ccall "hdy_clamp_get_type"
    c_hdy_clamp_get_type :: IO B.Types.GType

instance B.Types.TypedObject Clamp where
    glibType :: IO GType
glibType = IO GType
c_hdy_clamp_get_type

instance B.Types.GObject Clamp

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

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

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

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

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

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

#endif

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

#endif

-- VVV Prop "maximum-size"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@maximum-size@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' clamp #maximumSize
-- @
getClampMaximumSize :: (MonadIO m, IsClamp o) => o -> m Int32
getClampMaximumSize :: forall (m :: * -> *) o. (MonadIO m, IsClamp o) => o -> m Int32
getClampMaximumSize o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"maximum-size"

-- | Set the value of the “@maximum-size@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' clamp [ #maximumSize 'Data.GI.Base.Attributes.:=' value ]
-- @
setClampMaximumSize :: (MonadIO m, IsClamp o) => o -> Int32 -> m ()
setClampMaximumSize :: forall (m :: * -> *) o.
(MonadIO m, IsClamp o) =>
o -> Int32 -> m ()
setClampMaximumSize o
obj Int32
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 -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"maximum-size" Int32
val

-- | Construct a `GValueConstruct` with valid value for the “@maximum-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructClampMaximumSize :: (IsClamp o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructClampMaximumSize :: forall o (m :: * -> *).
(IsClamp o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructClampMaximumSize Int32
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 -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"maximum-size" Int32
val

#if defined(ENABLE_OVERLOADING)
data ClampMaximumSizePropertyInfo
instance AttrInfo ClampMaximumSizePropertyInfo where
    type AttrAllowedOps ClampMaximumSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ClampMaximumSizePropertyInfo = IsClamp
    type AttrSetTypeConstraint ClampMaximumSizePropertyInfo = (~) Int32
    type AttrTransferTypeConstraint ClampMaximumSizePropertyInfo = (~) Int32
    type AttrTransferType ClampMaximumSizePropertyInfo = Int32
    type AttrGetType ClampMaximumSizePropertyInfo = Int32
    type AttrLabel ClampMaximumSizePropertyInfo = "maximum-size"
    type AttrOrigin ClampMaximumSizePropertyInfo = Clamp
    attrGet = getClampMaximumSize
    attrSet = setClampMaximumSize
    attrTransfer _ v = do
        return v
    attrConstruct = constructClampMaximumSize
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.Clamp.maximumSize"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-Clamp.html#g:attr:maximumSize"
        })
#endif

-- VVV Prop "tightening-threshold"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@tightening-threshold@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' clamp #tighteningThreshold
-- @
getClampTighteningThreshold :: (MonadIO m, IsClamp o) => o -> m Int32
getClampTighteningThreshold :: forall (m :: * -> *) o. (MonadIO m, IsClamp o) => o -> m Int32
getClampTighteningThreshold o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"tightening-threshold"

-- | Set the value of the “@tightening-threshold@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' clamp [ #tighteningThreshold 'Data.GI.Base.Attributes.:=' value ]
-- @
setClampTighteningThreshold :: (MonadIO m, IsClamp o) => o -> Int32 -> m ()
setClampTighteningThreshold :: forall (m :: * -> *) o.
(MonadIO m, IsClamp o) =>
o -> Int32 -> m ()
setClampTighteningThreshold o
obj Int32
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 -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"tightening-threshold" Int32
val

-- | Construct a `GValueConstruct` with valid value for the “@tightening-threshold@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructClampTighteningThreshold :: (IsClamp o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructClampTighteningThreshold :: forall o (m :: * -> *).
(IsClamp o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructClampTighteningThreshold Int32
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 -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"tightening-threshold" Int32
val

#if defined(ENABLE_OVERLOADING)
data ClampTighteningThresholdPropertyInfo
instance AttrInfo ClampTighteningThresholdPropertyInfo where
    type AttrAllowedOps ClampTighteningThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ClampTighteningThresholdPropertyInfo = IsClamp
    type AttrSetTypeConstraint ClampTighteningThresholdPropertyInfo = (~) Int32
    type AttrTransferTypeConstraint ClampTighteningThresholdPropertyInfo = (~) Int32
    type AttrTransferType ClampTighteningThresholdPropertyInfo = Int32
    type AttrGetType ClampTighteningThresholdPropertyInfo = Int32
    type AttrLabel ClampTighteningThresholdPropertyInfo = "tightening-threshold"
    type AttrOrigin ClampTighteningThresholdPropertyInfo = Clamp
    attrGet = getClampTighteningThreshold
    attrSet = setClampTighteningThreshold
    attrTransfer _ v = do
        return v
    attrConstruct = constructClampTighteningThreshold
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Handy.Objects.Clamp.tighteningThreshold"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-Clamp.html#g:attr:tighteningThreshold"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Clamp
type instance O.AttributeList Clamp = ClampAttributeList
type ClampAttributeList = ('[ '("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), '("maximumSize", ClampMaximumSizePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tighteningThreshold", ClampTighteningThresholdPropertyInfo), '("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)
clampMaximumSize :: AttrLabelProxy "maximumSize"
clampMaximumSize = AttrLabelProxy

clampTighteningThreshold :: AttrLabelProxy "tighteningThreshold"
clampTighteningThreshold = AttrLabelProxy

#endif

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

foreign import ccall "hdy_clamp_new" hdy_clamp_new :: 
    IO (Ptr Clamp)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

foreign import ccall "hdy_clamp_get_maximum_size" hdy_clamp_get_maximum_size :: 
    Ptr Clamp ->                            -- self : TInterface (Name {namespace = "Handy", name = "Clamp"})
    IO Int32

-- | Gets the maximum size allocated to the children.
-- 
-- /Since: 1.0/
clampGetMaximumSize ::
    (B.CallStack.HasCallStack, MonadIO m, IsClamp a) =>
    a
    -- ^ /@self@/: a clamp
    -> m Int32
    -- ^ __Returns:__ the maximum size to allocate to the children
clampGetMaximumSize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClamp a) =>
a -> m Int32
clampGetMaximumSize a
self = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Clamp
self' <- a -> IO (Ptr Clamp)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Int32
result <- Ptr Clamp -> IO Int32
hdy_clamp_get_maximum_size Ptr Clamp
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data ClampGetMaximumSizeMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsClamp a) => O.OverloadedMethod ClampGetMaximumSizeMethodInfo a signature where
    overloadedMethod = clampGetMaximumSize

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


#endif

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

foreign import ccall "hdy_clamp_get_tightening_threshold" hdy_clamp_get_tightening_threshold :: 
    Ptr Clamp ->                            -- self : TInterface (Name {namespace = "Handy", name = "Clamp"})
    IO Int32

-- | Gets the size above which the children are clamped.
-- 
-- /Since: 1.0/
clampGetTighteningThreshold ::
    (B.CallStack.HasCallStack, MonadIO m, IsClamp a) =>
    a
    -- ^ /@self@/: a clamp
    -> m Int32
    -- ^ __Returns:__ the size above which the children are clamped
clampGetTighteningThreshold :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClamp a) =>
a -> m Int32
clampGetTighteningThreshold a
self = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Clamp
self' <- a -> IO (Ptr Clamp)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Int32
result <- Ptr Clamp -> IO Int32
hdy_clamp_get_tightening_threshold Ptr Clamp
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data ClampGetTighteningThresholdMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsClamp a) => O.OverloadedMethod ClampGetTighteningThresholdMethodInfo a signature where
    overloadedMethod = clampGetTighteningThreshold

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


#endif

-- method Clamp::set_maximum_size
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "Clamp" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a clamp" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "maximum_size"
--           , argType = TBasicType TInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the maximum size" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_clamp_set_maximum_size" hdy_clamp_set_maximum_size :: 
    Ptr Clamp ->                            -- self : TInterface (Name {namespace = "Handy", name = "Clamp"})
    Int32 ->                                -- maximum_size : TBasicType TInt
    IO ()

-- | Sets the maximum size allocated to the children.
-- 
-- /Since: 1.0/
clampSetMaximumSize ::
    (B.CallStack.HasCallStack, MonadIO m, IsClamp a) =>
    a
    -- ^ /@self@/: a clamp
    -> Int32
    -- ^ /@maximumSize@/: the maximum size
    -> m ()
clampSetMaximumSize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClamp a) =>
a -> Int32 -> m ()
clampSetMaximumSize a
self Int32
maximumSize = 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 Clamp
self' <- a -> IO (Ptr Clamp)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Clamp -> Int32 -> IO ()
hdy_clamp_set_maximum_size Ptr Clamp
self' Int32
maximumSize
    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 ClampSetMaximumSizeMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsClamp a) => O.OverloadedMethod ClampSetMaximumSizeMethodInfo a signature where
    overloadedMethod = clampSetMaximumSize

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


#endif

-- method Clamp::set_tightening_threshold
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "Clamp" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a clamp" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "tightening_threshold"
--           , argType = TBasicType TInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the tightening threshold"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_clamp_set_tightening_threshold" hdy_clamp_set_tightening_threshold :: 
    Ptr Clamp ->                            -- self : TInterface (Name {namespace = "Handy", name = "Clamp"})
    Int32 ->                                -- tightening_threshold : TBasicType TInt
    IO ()

-- | Sets the size above which the children are clamped.
-- 
-- /Since: 1.0/
clampSetTighteningThreshold ::
    (B.CallStack.HasCallStack, MonadIO m, IsClamp a) =>
    a
    -- ^ /@self@/: a clamp
    -> Int32
    -- ^ /@tighteningThreshold@/: the tightening threshold
    -> m ()
clampSetTighteningThreshold :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClamp a) =>
a -> Int32 -> m ()
clampSetTighteningThreshold a
self Int32
tighteningThreshold = 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 Clamp
self' <- a -> IO (Ptr Clamp)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Clamp -> Int32 -> IO ()
hdy_clamp_set_tightening_threshold Ptr Clamp
self' Int32
tighteningThreshold
    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 ClampSetTighteningThresholdMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsClamp a) => O.OverloadedMethod ClampSetTighteningThresholdMethodInfo a signature where
    overloadedMethod = clampSetTighteningThreshold

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


#endif