{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

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

module GI.Handy.Objects.Arrows
    ( 

-- * Exported types
    Arrows(..)                              ,
    IsArrows                                ,
    toArrows                                ,
    noArrows                                ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveArrowsMethod                     ,
#endif


-- ** animate #method:animate#

#if defined(ENABLE_OVERLOADING)
    ArrowsAnimateMethodInfo                 ,
#endif
    arrowsAnimate                           ,


-- ** getCount #method:getCount#

#if defined(ENABLE_OVERLOADING)
    ArrowsGetCountMethodInfo                ,
#endif
    arrowsGetCount                          ,


-- ** getDirection #method:getDirection#

#if defined(ENABLE_OVERLOADING)
    ArrowsGetDirectionMethodInfo            ,
#endif
    arrowsGetDirection                      ,


-- ** getDuration #method:getDuration#

#if defined(ENABLE_OVERLOADING)
    ArrowsGetDurationMethodInfo             ,
#endif
    arrowsGetDuration                       ,


-- ** new #method:new#

    arrowsNew                               ,


-- ** setCount #method:setCount#

#if defined(ENABLE_OVERLOADING)
    ArrowsSetCountMethodInfo                ,
#endif
    arrowsSetCount                          ,


-- ** setDirection #method:setDirection#

#if defined(ENABLE_OVERLOADING)
    ArrowsSetDirectionMethodInfo            ,
#endif
    arrowsSetDirection                      ,


-- ** setDuration #method:setDuration#

#if defined(ENABLE_OVERLOADING)
    ArrowsSetDurationMethodInfo             ,
#endif
    arrowsSetDuration                       ,




 -- * Properties
-- ** count #attr:count#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    ArrowsCountPropertyInfo                 ,
#endif
#if defined(ENABLE_OVERLOADING)
    arrowsCount                             ,
#endif
    constructArrowsCount                    ,
    getArrowsCount                          ,
    setArrowsCount                          ,


-- ** direction #attr:direction#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    ArrowsDirectionPropertyInfo             ,
#endif
#if defined(ENABLE_OVERLOADING)
    arrowsDirection                         ,
#endif
    constructArrowsDirection                ,
    getArrowsDirection                      ,
    setArrowsDirection                      ,


-- ** duration #attr:duration#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    ArrowsDurationPropertyInfo              ,
#endif
#if defined(ENABLE_OVERLOADING)
    arrowsDuration                          ,
#endif
    constructArrowsDuration                 ,
    getArrowsDuration                       ,
    setArrowsDuration                       ,




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

-- | Memory-managed wrapper type.
newtype Arrows = Arrows (ManagedPtr Arrows)
    deriving (Arrows -> Arrows -> Bool
(Arrows -> Arrows -> Bool)
-> (Arrows -> Arrows -> Bool) -> Eq Arrows
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Arrows -> Arrows -> Bool
$c/= :: Arrows -> Arrows -> Bool
== :: Arrows -> Arrows -> Bool
$c== :: Arrows -> Arrows -> Bool
Eq)
foreign import ccall "hdy_arrows_get_type"
    c_hdy_arrows_get_type :: IO GType

instance GObject Arrows where
    gobjectType :: IO GType
gobjectType = IO GType
c_hdy_arrows_get_type
    

-- | Convert 'Arrows' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue Arrows where
    toGValue :: Arrows -> IO GValue
toGValue o :: Arrows
o = do
        GType
gtype <- IO GType
c_hdy_arrows_get_type
        Arrows -> (Ptr Arrows -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Arrows
o (GType -> (GValue -> Ptr Arrows -> IO ()) -> Ptr Arrows -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Arrows -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO Arrows
fromGValue gv :: GValue
gv = do
        Ptr Arrows
ptr <- GValue -> IO (Ptr Arrows)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Arrows)
        (ManagedPtr Arrows -> Arrows) -> Ptr Arrows -> IO Arrows
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Arrows -> Arrows
Arrows Ptr Arrows
ptr
        
    

-- | Type class for types which can be safely cast to `Arrows`, for instance with `toArrows`.
class (GObject o, O.IsDescendantOf Arrows o) => IsArrows o
instance (GObject o, O.IsDescendantOf Arrows o) => IsArrows o

instance O.HasParentTypes Arrows
type instance O.ParentTypes Arrows = '[Gtk.DrawingArea.DrawingArea, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]

-- | Cast to `Arrows`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toArrows :: (MonadIO m, IsArrows o) => o -> m Arrows
toArrows :: o -> m Arrows
toArrows = IO Arrows -> m Arrows
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Arrows -> m Arrows) -> (o -> IO Arrows) -> o -> m Arrows
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Arrows -> Arrows) -> o -> IO Arrows
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Arrows -> Arrows
Arrows

-- | A convenience alias for `Nothing` :: `Maybe` `Arrows`.
noArrows :: Maybe Arrows
noArrows :: Maybe Arrows
noArrows = Maybe Arrows
forall a. Maybe a
Nothing

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

instance (info ~ ResolveArrowsMethod t Arrows, O.MethodInfo info Arrows p) => OL.IsLabel t (Arrows -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

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

-- | Get the value of the “@count@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' arrows #count
-- @
getArrowsCount :: (MonadIO m, IsArrows o) => o -> m Word32
getArrowsCount :: o -> m Word32
getArrowsCount obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj "count"

-- | Set the value of the “@count@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' arrows [ #count 'Data.GI.Base.Attributes.:=' value ]
-- @
setArrowsCount :: (MonadIO m, IsArrows o) => o -> Word32 -> m ()
setArrowsCount :: o -> Word32 -> m ()
setArrowsCount obj :: o
obj val :: Word32
val = 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 -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj "count" Word32
val

-- | Construct a `GValueConstruct` with valid value for the “@count@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructArrowsCount :: (IsArrows o) => Word32 -> IO (GValueConstruct o)
constructArrowsCount :: Word32 -> IO (GValueConstruct o)
constructArrowsCount val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 "count" Word32
val

#if defined(ENABLE_OVERLOADING)
data ArrowsCountPropertyInfo
instance AttrInfo ArrowsCountPropertyInfo where
    type AttrAllowedOps ArrowsCountPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ArrowsCountPropertyInfo = IsArrows
    type AttrSetTypeConstraint ArrowsCountPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint ArrowsCountPropertyInfo = (~) Word32
    type AttrTransferType ArrowsCountPropertyInfo = Word32
    type AttrGetType ArrowsCountPropertyInfo = Word32
    type AttrLabel ArrowsCountPropertyInfo = "count"
    type AttrOrigin ArrowsCountPropertyInfo = Arrows
    attrGet = getArrowsCount
    attrSet = setArrowsCount
    attrTransfer _ v = do
        return v
    attrConstruct = constructArrowsCount
    attrClear = undefined
#endif

-- VVV Prop "direction"
   -- Type: TInterface (Name {namespace = "Handy", name = "ArrowsDirection"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

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

-- | Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructArrowsDirection :: (IsArrows o) => Handy.Enums.ArrowsDirection -> IO (GValueConstruct o)
constructArrowsDirection :: ArrowsDirection -> IO (GValueConstruct o)
constructArrowsDirection val :: ArrowsDirection
val = String -> ArrowsDirection -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum "direction" ArrowsDirection
val

#if defined(ENABLE_OVERLOADING)
data ArrowsDirectionPropertyInfo
instance AttrInfo ArrowsDirectionPropertyInfo where
    type AttrAllowedOps ArrowsDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ArrowsDirectionPropertyInfo = IsArrows
    type AttrSetTypeConstraint ArrowsDirectionPropertyInfo = (~) Handy.Enums.ArrowsDirection
    type AttrTransferTypeConstraint ArrowsDirectionPropertyInfo = (~) Handy.Enums.ArrowsDirection
    type AttrTransferType ArrowsDirectionPropertyInfo = Handy.Enums.ArrowsDirection
    type AttrGetType ArrowsDirectionPropertyInfo = Handy.Enums.ArrowsDirection
    type AttrLabel ArrowsDirectionPropertyInfo = "direction"
    type AttrOrigin ArrowsDirectionPropertyInfo = Arrows
    attrGet = getArrowsDirection
    attrSet = setArrowsDirection
    attrTransfer _ v = do
        return v
    attrConstruct = constructArrowsDirection
    attrClear = undefined
#endif

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

-- | Get the value of the “@duration@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' arrows #duration
-- @
getArrowsDuration :: (MonadIO m, IsArrows o) => o -> m Word32
getArrowsDuration :: o -> m Word32
getArrowsDuration obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj "duration"

-- | Set the value of the “@duration@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' arrows [ #duration 'Data.GI.Base.Attributes.:=' value ]
-- @
setArrowsDuration :: (MonadIO m, IsArrows o) => o -> Word32 -> m ()
setArrowsDuration :: o -> Word32 -> m ()
setArrowsDuration obj :: o
obj val :: Word32
val = 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 -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj "duration" Word32
val

-- | Construct a `GValueConstruct` with valid value for the “@duration@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructArrowsDuration :: (IsArrows o) => Word32 -> IO (GValueConstruct o)
constructArrowsDuration :: Word32 -> IO (GValueConstruct o)
constructArrowsDuration val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 "duration" Word32
val

#if defined(ENABLE_OVERLOADING)
data ArrowsDurationPropertyInfo
instance AttrInfo ArrowsDurationPropertyInfo where
    type AttrAllowedOps ArrowsDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ArrowsDurationPropertyInfo = IsArrows
    type AttrSetTypeConstraint ArrowsDurationPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint ArrowsDurationPropertyInfo = (~) Word32
    type AttrTransferType ArrowsDurationPropertyInfo = Word32
    type AttrGetType ArrowsDurationPropertyInfo = Word32
    type AttrLabel ArrowsDurationPropertyInfo = "duration"
    type AttrOrigin ArrowsDurationPropertyInfo = Arrows
    attrGet = getArrowsDuration
    attrSet = setArrowsDuration
    attrTransfer _ v = do
        return v
    attrConstruct = constructArrowsDuration
    attrClear = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Arrows
type instance O.AttributeList Arrows = ArrowsAttributeList
type ArrowsAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("count", ArrowsCountPropertyInfo), '("direction", ArrowsDirectionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("duration", ArrowsDurationPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
arrowsCount :: AttrLabelProxy "count"
arrowsCount = AttrLabelProxy

arrowsDirection :: AttrLabelProxy "direction"
arrowsDirection = AttrLabelProxy

arrowsDuration :: AttrLabelProxy "duration"
arrowsDuration = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Arrows = ArrowsSignalList
type ArrowsSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("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), '("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), '("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, *)])

#endif

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

foreign import ccall "hdy_arrows_new" hdy_arrows_new :: 
    IO (Ptr Arrows)

-- | Create a new t'GI.Handy.Objects.Arrows.Arrows' widget.
arrowsNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m Arrows
    -- ^ __Returns:__ the newly created t'GI.Handy.Objects.Arrows.Arrows' widget
arrowsNew :: m Arrows
arrowsNew  = IO Arrows -> m Arrows
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Arrows -> m Arrows) -> IO Arrows -> m Arrows
forall a b. (a -> b) -> a -> b
$ do
    Ptr Arrows
result <- IO (Ptr Arrows)
hdy_arrows_new
    Text -> Ptr Arrows -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "arrowsNew" Ptr Arrows
result
    Arrows
result' <- ((ManagedPtr Arrows -> Arrows) -> Ptr Arrows -> IO Arrows
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Arrows -> Arrows
Arrows) Ptr Arrows
result
    Arrows -> IO Arrows
forall (m :: * -> *) a. Monad m => a -> m a
return Arrows
result'

#if defined(ENABLE_OVERLOADING)
#endif

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

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

-- | Render the arrows animation.
arrowsAnimate ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> m ()
arrowsAnimate :: a -> m ()
arrowsAnimate self :: a
self = 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 Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Arrows -> IO ()
hdy_arrows_animate Ptr Arrows
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ArrowsAnimateMethodInfo
instance (signature ~ (m ()), MonadIO m, IsArrows a) => O.MethodInfo ArrowsAnimateMethodInfo a signature where
    overloadedMethod = arrowsAnimate

#endif

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

foreign import ccall "hdy_arrows_get_count" hdy_arrows_get_count :: 
    Ptr Arrows ->                           -- self : TInterface (Name {namespace = "Handy", name = "Arrows"})
    IO Word32

-- | Get the number of errors in displayed in the widget.
arrowsGetCount ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> m Word32
    -- ^ __Returns:__ the current number of arrows
arrowsGetCount :: a -> m Word32
arrowsGetCount self :: a
self = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Word32
result <- Ptr Arrows -> IO Word32
hdy_arrows_get_count Ptr Arrows
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data ArrowsGetCountMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsArrows a) => O.MethodInfo ArrowsGetCountMethodInfo a signature where
    overloadedMethod = arrowsGetCount

#endif

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

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

-- | Get the direction the arrows point to
arrowsGetDirection ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> m Handy.Enums.ArrowsDirection
    -- ^ __Returns:__ the arrows direction
arrowsGetDirection :: a -> m ArrowsDirection
arrowsGetDirection self :: a
self = IO ArrowsDirection -> m ArrowsDirection
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ArrowsDirection -> m ArrowsDirection)
-> IO ArrowsDirection -> m ArrowsDirection
forall a b. (a -> b) -> a -> b
$ do
    Ptr Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CUInt
result <- Ptr Arrows -> IO CUInt
hdy_arrows_get_direction Ptr Arrows
self'
    let result' :: ArrowsDirection
result' = (Int -> ArrowsDirection
forall a. Enum a => Int -> a
toEnum (Int -> ArrowsDirection)
-> (CUInt -> Int) -> CUInt -> ArrowsDirection
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    ArrowsDirection -> IO ArrowsDirection
forall (m :: * -> *) a. Monad m => a -> m a
return ArrowsDirection
result'

#if defined(ENABLE_OVERLOADING)
data ArrowsGetDirectionMethodInfo
instance (signature ~ (m Handy.Enums.ArrowsDirection), MonadIO m, IsArrows a) => O.MethodInfo ArrowsGetDirectionMethodInfo a signature where
    overloadedMethod = arrowsGetDirection

#endif

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

foreign import ccall "hdy_arrows_get_duration" hdy_arrows_get_duration :: 
    Ptr Arrows ->                           -- self : TInterface (Name {namespace = "Handy", name = "Arrows"})
    IO Word32

-- | Get the duration of the arrows animation.
arrowsGetDuration ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> m Word32
    -- ^ __Returns:__ the arrows
arrowsGetDuration :: a -> m Word32
arrowsGetDuration self :: a
self = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Word32
result <- Ptr Arrows -> IO Word32
hdy_arrows_get_duration Ptr Arrows
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data ArrowsGetDurationMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsArrows a) => O.MethodInfo ArrowsGetDurationMethodInfo a signature where
    overloadedMethod = arrowsGetDuration

#endif

-- method Arrows::set_count
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "Arrows" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #HdyArrows" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "count"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the number of arrows to display"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_arrows_set_count" hdy_arrows_set_count :: 
    Ptr Arrows ->                           -- self : TInterface (Name {namespace = "Handy", name = "Arrows"})
    Word32 ->                               -- count : TBasicType TUInt
    IO ()

-- | Set the number of arrows to display.
arrowsSetCount ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> Word32
    -- ^ /@count@/: the number of arrows to display
    -> m ()
arrowsSetCount :: a -> Word32 -> m ()
arrowsSetCount self :: a
self count :: Word32
count = 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 Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Arrows -> Word32 -> IO ()
hdy_arrows_set_count Ptr Arrows
self' Word32
count
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ArrowsSetCountMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsArrows a) => O.MethodInfo ArrowsSetCountMethodInfo a signature where
    overloadedMethod = arrowsSetCount

#endif

-- method Arrows::set_direction
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "Arrows" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #HdyArrows" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "direction"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "ArrowsDirection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the arrows direction"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_arrows_set_direction" hdy_arrows_set_direction :: 
    Ptr Arrows ->                           -- self : TInterface (Name {namespace = "Handy", name = "Arrows"})
    CUInt ->                                -- direction : TInterface (Name {namespace = "Handy", name = "ArrowsDirection"})
    IO ()

-- | Set the direction the arrows should point to.
arrowsSetDirection ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> Handy.Enums.ArrowsDirection
    -- ^ /@direction@/: the arrows direction
    -> m ()
arrowsSetDirection :: a -> ArrowsDirection -> m ()
arrowsSetDirection self :: a
self direction :: ArrowsDirection
direction = 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 Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let direction' :: CUInt
direction' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (ArrowsDirection -> Int) -> ArrowsDirection -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArrowsDirection -> Int
forall a. Enum a => a -> Int
fromEnum) ArrowsDirection
direction
    Ptr Arrows -> CUInt -> IO ()
hdy_arrows_set_direction Ptr Arrows
self' CUInt
direction'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ArrowsSetDirectionMethodInfo
instance (signature ~ (Handy.Enums.ArrowsDirection -> m ()), MonadIO m, IsArrows a) => O.MethodInfo ArrowsSetDirectionMethodInfo a signature where
    overloadedMethod = arrowsSetDirection

#endif

-- method Arrows::set_duration
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Handy" , name = "Arrows" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #HdyArrows" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "duration"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the duration of the animation in ms"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "hdy_arrows_set_duration" hdy_arrows_set_duration :: 
    Ptr Arrows ->                           -- self : TInterface (Name {namespace = "Handy", name = "Arrows"})
    Word32 ->                               -- duration : TBasicType TUInt
    IO ()

-- | Set the duration of the arrow animation.
arrowsSetDuration ::
    (B.CallStack.HasCallStack, MonadIO m, IsArrows a) =>
    a
    -- ^ /@self@/: a t'GI.Handy.Objects.Arrows.Arrows'
    -> Word32
    -- ^ /@duration@/: the duration of the animation in ms
    -> m ()
arrowsSetDuration :: a -> Word32 -> m ()
arrowsSetDuration self :: a
self duration :: Word32
duration = 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 Arrows
self' <- a -> IO (Ptr Arrows)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Arrows -> Word32 -> IO ()
hdy_arrows_set_duration Ptr Arrows
self' Word32
duration
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ArrowsSetDurationMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsArrows a) => O.MethodInfo ArrowsSetDurationMethodInfo a signature where
    overloadedMethod = arrowsSetDuration

#endif