{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A dots indicator for t'GI.Adw.Objects.Carousel.Carousel'.
-- 
-- The @AdwCarouselIndicatorDots@ widget shows a set of dots for each page of a
-- given t'GI.Adw.Objects.Carousel.Carousel'. The dot representing the carousel\'s active page
-- is larger and more opaque than the others, the transition to the active and
-- inactive state is gradual to match the carousel\'s position.
-- 
-- See also t'GI.Adw.Objects.CarouselIndicatorLines.CarouselIndicatorLines'.
-- 
-- == CSS nodes
-- 
-- @AdwCarouselIndicatorDots@ has a single CSS node with name
-- @carouselindicatordots@.
-- 
-- /Since: 1.0/

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

module GI.Adw.Objects.CarouselIndicatorDots
    ( 

-- * Exported types
    CarouselIndicatorDots(..)               ,
    IsCarouselIndicatorDots                 ,
    toCarouselIndicatorDots                 ,


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

#if defined(ENABLE_OVERLOADING)
    ResolveCarouselIndicatorDotsMethod      ,
#endif

-- ** getCarousel #method:getCarousel#

#if defined(ENABLE_OVERLOADING)
    CarouselIndicatorDotsGetCarouselMethodInfo,
#endif
    carouselIndicatorDotsGetCarousel        ,


-- ** new #method:new#

    carouselIndicatorDotsNew                ,


-- ** setCarousel #method:setCarousel#

#if defined(ENABLE_OVERLOADING)
    CarouselIndicatorDotsSetCarouselMethodInfo,
#endif
    carouselIndicatorDotsSetCarousel        ,




 -- * Properties


-- ** carousel #attr:carousel#
-- | The displayed carousel.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    CarouselIndicatorDotsCarouselPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    carouselIndicatorDotsCarousel           ,
#endif
    clearCarouselIndicatorDotsCarousel      ,
    constructCarouselIndicatorDotsCarousel  ,
    getCarouselIndicatorDotsCarousel        ,
    setCarouselIndicatorDotsCarousel        ,




    ) 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.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.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R

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

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

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

foreign import ccall "adw_carousel_indicator_dots_get_type"
    c_adw_carousel_indicator_dots_get_type :: IO B.Types.GType

instance B.Types.TypedObject CarouselIndicatorDots where
    glibType :: IO GType
glibType = IO GType
c_adw_carousel_indicator_dots_get_type

instance B.Types.GObject CarouselIndicatorDots

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

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

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

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

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

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

#endif

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

#endif

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data CarouselIndicatorDotsCarouselPropertyInfo
instance AttrInfo CarouselIndicatorDotsCarouselPropertyInfo where
    type AttrAllowedOps CarouselIndicatorDotsCarouselPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint CarouselIndicatorDotsCarouselPropertyInfo = IsCarouselIndicatorDots
    type AttrSetTypeConstraint CarouselIndicatorDotsCarouselPropertyInfo = Adw.Carousel.IsCarousel
    type AttrTransferTypeConstraint CarouselIndicatorDotsCarouselPropertyInfo = Adw.Carousel.IsCarousel
    type AttrTransferType CarouselIndicatorDotsCarouselPropertyInfo = Adw.Carousel.Carousel
    type AttrGetType CarouselIndicatorDotsCarouselPropertyInfo = (Maybe Adw.Carousel.Carousel)
    type AttrLabel CarouselIndicatorDotsCarouselPropertyInfo = "carousel"
    type AttrOrigin CarouselIndicatorDotsCarouselPropertyInfo = CarouselIndicatorDots
    attrGet = getCarouselIndicatorDotsCarousel
    attrSet = setCarouselIndicatorDotsCarousel
    attrTransfer _ v = do
        unsafeCastTo Adw.Carousel.Carousel v
    attrConstruct = constructCarouselIndicatorDotsCarousel
    attrClear = clearCarouselIndicatorDotsCarousel
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Adw.Objects.CarouselIndicatorDots.carousel"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-adwaita-1.0.1/docs/GI-Adw-Objects-CarouselIndicatorDots.html#g:attr:carousel"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CarouselIndicatorDots
type instance O.AttributeList CarouselIndicatorDots = CarouselIndicatorDotsAttributeList
type CarouselIndicatorDotsAttributeList = ('[ '("accessibleRole", Gtk.Accessible.AccessibleAccessibleRolePropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("canTarget", Gtk.Widget.WidgetCanTargetPropertyInfo), '("carousel", CarouselIndicatorDotsCarouselPropertyInfo), '("cssClasses", Gtk.Widget.WidgetCssClassesPropertyInfo), '("cssName", Gtk.Widget.WidgetCssNamePropertyInfo), '("cursor", Gtk.Widget.WidgetCursorPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusable", Gtk.Widget.WidgetFocusablePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("layoutManager", Gtk.Widget.WidgetLayoutManagerPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("overflow", Gtk.Widget.WidgetOverflowPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("root", Gtk.Widget.WidgetRootPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("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)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
carouselIndicatorDotsCarousel :: AttrLabelProxy "carousel"
carouselIndicatorDotsCarousel = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "adw_carousel_indicator_dots_new" adw_carousel_indicator_dots_new :: 
    IO (Ptr CarouselIndicatorDots)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

foreign import ccall "adw_carousel_indicator_dots_get_carousel" adw_carousel_indicator_dots_get_carousel :: 
    Ptr CarouselIndicatorDots ->            -- self : TInterface (Name {namespace = "Adw", name = "CarouselIndicatorDots"})
    IO (Ptr Adw.Carousel.Carousel)

-- | Gets the displayed carousel.
-- 
-- /Since: 1.0/
carouselIndicatorDotsGetCarousel ::
    (B.CallStack.HasCallStack, MonadIO m, IsCarouselIndicatorDots a) =>
    a
    -- ^ /@self@/: a @AdwCarouselIndicatorDots@
    -> m (Maybe Adw.Carousel.Carousel)
    -- ^ __Returns:__ the displayed carousel
carouselIndicatorDotsGetCarousel :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCarouselIndicatorDots a) =>
a -> m (Maybe Carousel)
carouselIndicatorDotsGetCarousel a
self = IO (Maybe Carousel) -> m (Maybe Carousel)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Carousel) -> m (Maybe Carousel))
-> IO (Maybe Carousel) -> m (Maybe Carousel)
forall a b. (a -> b) -> a -> b
$ do
    Ptr CarouselIndicatorDots
self' <- a -> IO (Ptr CarouselIndicatorDots)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Carousel
result <- Ptr CarouselIndicatorDots -> IO (Ptr Carousel)
adw_carousel_indicator_dots_get_carousel Ptr CarouselIndicatorDots
self'
    Maybe Carousel
maybeResult <- Ptr Carousel
-> (Ptr Carousel -> IO Carousel) -> IO (Maybe Carousel)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Carousel
result ((Ptr Carousel -> IO Carousel) -> IO (Maybe Carousel))
-> (Ptr Carousel -> IO Carousel) -> IO (Maybe Carousel)
forall a b. (a -> b) -> a -> b
$ \Ptr Carousel
result' -> do
        Carousel
result'' <- ((ManagedPtr Carousel -> Carousel) -> Ptr Carousel -> IO Carousel
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Carousel -> Carousel
Adw.Carousel.Carousel) Ptr Carousel
result'
        Carousel -> IO Carousel
forall (m :: * -> *) a. Monad m => a -> m a
return Carousel
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe Carousel -> IO (Maybe Carousel)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Carousel
maybeResult

#if defined(ENABLE_OVERLOADING)
data CarouselIndicatorDotsGetCarouselMethodInfo
instance (signature ~ (m (Maybe Adw.Carousel.Carousel)), MonadIO m, IsCarouselIndicatorDots a) => O.OverloadedMethod CarouselIndicatorDotsGetCarouselMethodInfo a signature where
    overloadedMethod = carouselIndicatorDotsGetCarousel

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


#endif

-- method CarouselIndicatorDots::set_carousel
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "Adw" , name = "CarouselIndicatorDots" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a `AdwCarouselIndicatorDots`"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "carousel"
--           , argType =
--               TInterface Name { namespace = "Adw" , name = "Carousel" }
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a carousel" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "adw_carousel_indicator_dots_set_carousel" adw_carousel_indicator_dots_set_carousel :: 
    Ptr CarouselIndicatorDots ->            -- self : TInterface (Name {namespace = "Adw", name = "CarouselIndicatorDots"})
    Ptr Adw.Carousel.Carousel ->            -- carousel : TInterface (Name {namespace = "Adw", name = "Carousel"})
    IO ()

-- | Sets the displayed carousel.
-- 
-- /Since: 1.0/
carouselIndicatorDotsSetCarousel ::
    (B.CallStack.HasCallStack, MonadIO m, IsCarouselIndicatorDots a, Adw.Carousel.IsCarousel b) =>
    a
    -- ^ /@self@/: a @AdwCarouselIndicatorDots@
    -> Maybe (b)
    -- ^ /@carousel@/: a carousel
    -> m ()
carouselIndicatorDotsSetCarousel :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCarouselIndicatorDots a,
 IsCarousel b) =>
a -> Maybe b -> m ()
carouselIndicatorDotsSetCarousel a
self Maybe b
carousel = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr CarouselIndicatorDots
self' <- a -> IO (Ptr CarouselIndicatorDots)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Carousel
maybeCarousel <- case Maybe b
carousel of
        Maybe b
Nothing -> Ptr Carousel -> IO (Ptr Carousel)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Carousel
forall a. Ptr a
nullPtr
        Just b
jCarousel -> do
            Ptr Carousel
jCarousel' <- b -> IO (Ptr Carousel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCarousel
            Ptr Carousel -> IO (Ptr Carousel)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Carousel
jCarousel'
    Ptr CarouselIndicatorDots -> Ptr Carousel -> IO ()
adw_carousel_indicator_dots_set_carousel Ptr CarouselIndicatorDots
self' Ptr Carousel
maybeCarousel
    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
carousel b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data CarouselIndicatorDotsSetCarouselMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsCarouselIndicatorDots a, Adw.Carousel.IsCarousel b) => O.OverloadedMethod CarouselIndicatorDotsSetCarouselMethodInfo a signature where
    overloadedMethod = carouselIndicatorDotsSetCarousel

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


#endif