{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.GtkSource.Objects.GutterRendererPixbuf
    ( 

-- * Exported types
    GutterRendererPixbuf(..)                ,
    IsGutterRendererPixbuf                  ,
    toGutterRendererPixbuf                  ,
    noGutterRendererPixbuf                  ,


 -- * Methods
-- ** getGicon #method:getGicon#
    GutterRendererPixbufGetGiconMethodInfo  ,
    gutterRendererPixbufGetGicon            ,


-- ** getIconName #method:getIconName#
    GutterRendererPixbufGetIconNameMethodInfo,
    gutterRendererPixbufGetIconName         ,


-- ** getPixbuf #method:getPixbuf#
    GutterRendererPixbufGetPixbufMethodInfo ,
    gutterRendererPixbufGetPixbuf           ,


-- ** getStockId #method:getStockId#
    GutterRendererPixbufGetStockIdMethodInfo,
    gutterRendererPixbufGetStockId          ,


-- ** new #method:new#
    gutterRendererPixbufNew                 ,


-- ** setGicon #method:setGicon#
    GutterRendererPixbufSetGiconMethodInfo  ,
    gutterRendererPixbufSetGicon            ,


-- ** setIconName #method:setIconName#
    GutterRendererPixbufSetIconNameMethodInfo,
    gutterRendererPixbufSetIconName         ,


-- ** setPixbuf #method:setPixbuf#
    GutterRendererPixbufSetPixbufMethodInfo ,
    gutterRendererPixbufSetPixbuf           ,


-- ** setStockId #method:setStockId#
    GutterRendererPixbufSetStockIdMethodInfo,
    gutterRendererPixbufSetStockId          ,




 -- * Properties
-- ** gicon #attr:gicon#
    GutterRendererPixbufGiconPropertyInfo   ,
    clearGutterRendererPixbufGicon          ,
    constructGutterRendererPixbufGicon      ,
    getGutterRendererPixbufGicon            ,
    gutterRendererPixbufGicon               ,
    setGutterRendererPixbufGicon            ,


-- ** iconName #attr:iconName#
    GutterRendererPixbufIconNamePropertyInfo,
    clearGutterRendererPixbufIconName       ,
    constructGutterRendererPixbufIconName   ,
    getGutterRendererPixbufIconName         ,
    gutterRendererPixbufIconName            ,
    setGutterRendererPixbufIconName         ,


-- ** pixbuf #attr:pixbuf#
    GutterRendererPixbufPixbufPropertyInfo  ,
    clearGutterRendererPixbufPixbuf         ,
    constructGutterRendererPixbufPixbuf     ,
    getGutterRendererPixbufPixbuf           ,
    gutterRendererPixbufPixbuf              ,
    setGutterRendererPixbufPixbuf           ,


-- ** stockId #attr:stockId#
    GutterRendererPixbufStockIdPropertyInfo ,
    clearGutterRendererPixbufStockId        ,
    constructGutterRendererPixbufStockId    ,
    getGutterRendererPixbufStockId          ,
    gutterRendererPixbufStockId             ,
    setGutterRendererPixbufStockId          ,




    ) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Gio.Interfaces.Icon as Gio.Icon
import {-# SOURCE #-} qualified GI.GtkSource.Objects.GutterRenderer as GtkSource.GutterRenderer

newtype GutterRendererPixbuf = GutterRendererPixbuf (ManagedPtr GutterRendererPixbuf)
foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_type"
    c_gtk_source_gutter_renderer_pixbuf_get_type :: IO GType

instance GObject GutterRendererPixbuf where
    gobjectType _ = c_gtk_source_gutter_renderer_pixbuf_get_type
    

class GObject o => IsGutterRendererPixbuf o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError GutterRendererPixbuf a) =>
    IsGutterRendererPixbuf a
#endif
instance IsGutterRendererPixbuf GutterRendererPixbuf
instance GtkSource.GutterRenderer.IsGutterRenderer GutterRendererPixbuf
instance GObject.Object.IsObject GutterRendererPixbuf

toGutterRendererPixbuf :: IsGutterRendererPixbuf o => o -> IO GutterRendererPixbuf
toGutterRendererPixbuf = unsafeCastTo GutterRendererPixbuf

noGutterRendererPixbuf :: Maybe GutterRendererPixbuf
noGutterRendererPixbuf = Nothing

type family ResolveGutterRendererPixbufMethod (t :: Symbol) (o :: *) :: * where
    ResolveGutterRendererPixbufMethod "activate" o = GtkSource.GutterRenderer.GutterRendererActivateMethodInfo
    ResolveGutterRendererPixbufMethod "begin" o = GtkSource.GutterRenderer.GutterRendererBeginMethodInfo
    ResolveGutterRendererPixbufMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveGutterRendererPixbufMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveGutterRendererPixbufMethod "draw" o = GtkSource.GutterRenderer.GutterRendererDrawMethodInfo
    ResolveGutterRendererPixbufMethod "end" o = GtkSource.GutterRenderer.GutterRendererEndMethodInfo
    ResolveGutterRendererPixbufMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveGutterRendererPixbufMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveGutterRendererPixbufMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveGutterRendererPixbufMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveGutterRendererPixbufMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveGutterRendererPixbufMethod "queryActivatable" o = GtkSource.GutterRenderer.GutterRendererQueryActivatableMethodInfo
    ResolveGutterRendererPixbufMethod "queryData" o = GtkSource.GutterRenderer.GutterRendererQueryDataMethodInfo
    ResolveGutterRendererPixbufMethod "queryTooltip" o = GtkSource.GutterRenderer.GutterRendererQueryTooltipMethodInfo
    ResolveGutterRendererPixbufMethod "queueDraw" o = GtkSource.GutterRenderer.GutterRendererQueueDrawMethodInfo
    ResolveGutterRendererPixbufMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveGutterRendererPixbufMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveGutterRendererPixbufMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveGutterRendererPixbufMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveGutterRendererPixbufMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveGutterRendererPixbufMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveGutterRendererPixbufMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveGutterRendererPixbufMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveGutterRendererPixbufMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveGutterRendererPixbufMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveGutterRendererPixbufMethod "getAlignment" o = GtkSource.GutterRenderer.GutterRendererGetAlignmentMethodInfo
    ResolveGutterRendererPixbufMethod "getAlignmentMode" o = GtkSource.GutterRenderer.GutterRendererGetAlignmentModeMethodInfo
    ResolveGutterRendererPixbufMethod "getBackground" o = GtkSource.GutterRenderer.GutterRendererGetBackgroundMethodInfo
    ResolveGutterRendererPixbufMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveGutterRendererPixbufMethod "getGicon" o = GutterRendererPixbufGetGiconMethodInfo
    ResolveGutterRendererPixbufMethod "getIconName" o = GutterRendererPixbufGetIconNameMethodInfo
    ResolveGutterRendererPixbufMethod "getPadding" o = GtkSource.GutterRenderer.GutterRendererGetPaddingMethodInfo
    ResolveGutterRendererPixbufMethod "getPixbuf" o = GutterRendererPixbufGetPixbufMethodInfo
    ResolveGutterRendererPixbufMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveGutterRendererPixbufMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveGutterRendererPixbufMethod "getSize" o = GtkSource.GutterRenderer.GutterRendererGetSizeMethodInfo
    ResolveGutterRendererPixbufMethod "getStockId" o = GutterRendererPixbufGetStockIdMethodInfo
    ResolveGutterRendererPixbufMethod "getView" o = GtkSource.GutterRenderer.GutterRendererGetViewMethodInfo
    ResolveGutterRendererPixbufMethod "getVisible" o = GtkSource.GutterRenderer.GutterRendererGetVisibleMethodInfo
    ResolveGutterRendererPixbufMethod "getWindowType" o = GtkSource.GutterRenderer.GutterRendererGetWindowTypeMethodInfo
    ResolveGutterRendererPixbufMethod "setAlignment" o = GtkSource.GutterRenderer.GutterRendererSetAlignmentMethodInfo
    ResolveGutterRendererPixbufMethod "setAlignmentMode" o = GtkSource.GutterRenderer.GutterRendererSetAlignmentModeMethodInfo
    ResolveGutterRendererPixbufMethod "setBackground" o = GtkSource.GutterRenderer.GutterRendererSetBackgroundMethodInfo
    ResolveGutterRendererPixbufMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveGutterRendererPixbufMethod "setGicon" o = GutterRendererPixbufSetGiconMethodInfo
    ResolveGutterRendererPixbufMethod "setIconName" o = GutterRendererPixbufSetIconNameMethodInfo
    ResolveGutterRendererPixbufMethod "setPadding" o = GtkSource.GutterRenderer.GutterRendererSetPaddingMethodInfo
    ResolveGutterRendererPixbufMethod "setPixbuf" o = GutterRendererPixbufSetPixbufMethodInfo
    ResolveGutterRendererPixbufMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveGutterRendererPixbufMethod "setSize" o = GtkSource.GutterRenderer.GutterRendererSetSizeMethodInfo
    ResolveGutterRendererPixbufMethod "setStockId" o = GutterRendererPixbufSetStockIdMethodInfo
    ResolveGutterRendererPixbufMethod "setVisible" o = GtkSource.GutterRenderer.GutterRendererSetVisibleMethodInfo
    ResolveGutterRendererPixbufMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveGutterRendererPixbufMethod t GutterRendererPixbuf, O.MethodInfo info GutterRendererPixbuf p) => O.IsLabelProxy t (GutterRendererPixbuf -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveGutterRendererPixbufMethod t GutterRendererPixbuf, O.MethodInfo info GutterRendererPixbuf p) => O.IsLabel t (GutterRendererPixbuf -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "gicon"
   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

getGutterRendererPixbufGicon :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m Gio.Icon.Icon
getGutterRendererPixbufGicon obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufGicon" $ getObjectPropertyObject obj "gicon" Gio.Icon.Icon

setGutterRendererPixbufGicon :: (MonadIO m, IsGutterRendererPixbuf o, Gio.Icon.IsIcon a) => o -> a -> m ()
setGutterRendererPixbufGicon obj val = liftIO $ setObjectPropertyObject obj "gicon" (Just val)

constructGutterRendererPixbufGicon :: (IsGutterRendererPixbuf o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
constructGutterRendererPixbufGicon val = constructObjectPropertyObject "gicon" (Just val)

clearGutterRendererPixbufGicon :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m ()
clearGutterRendererPixbufGicon obj = liftIO $ setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon.Icon)

data GutterRendererPixbufGiconPropertyInfo
instance AttrInfo GutterRendererPixbufGiconPropertyInfo where
    type AttrAllowedOps GutterRendererPixbufGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint GutterRendererPixbufGiconPropertyInfo = Gio.Icon.IsIcon
    type AttrBaseTypeConstraint GutterRendererPixbufGiconPropertyInfo = IsGutterRendererPixbuf
    type AttrGetType GutterRendererPixbufGiconPropertyInfo = Gio.Icon.Icon
    type AttrLabel GutterRendererPixbufGiconPropertyInfo = "gicon"
    type AttrOrigin GutterRendererPixbufGiconPropertyInfo = GutterRendererPixbuf
    attrGet _ = getGutterRendererPixbufGicon
    attrSet _ = setGutterRendererPixbufGicon
    attrConstruct _ = constructGutterRendererPixbufGicon
    attrClear _ = clearGutterRendererPixbufGicon

-- VVV Prop "icon-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

getGutterRendererPixbufIconName :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m T.Text
getGutterRendererPixbufIconName obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufIconName" $ getObjectPropertyString obj "icon-name"

setGutterRendererPixbufIconName :: (MonadIO m, IsGutterRendererPixbuf o) => o -> T.Text -> m ()
setGutterRendererPixbufIconName obj val = liftIO $ setObjectPropertyString obj "icon-name" (Just val)

constructGutterRendererPixbufIconName :: (IsGutterRendererPixbuf o) => T.Text -> IO (GValueConstruct o)
constructGutterRendererPixbufIconName val = constructObjectPropertyString "icon-name" (Just val)

clearGutterRendererPixbufIconName :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m ()
clearGutterRendererPixbufIconName obj = liftIO $ setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)

data GutterRendererPixbufIconNamePropertyInfo
instance AttrInfo GutterRendererPixbufIconNamePropertyInfo where
    type AttrAllowedOps GutterRendererPixbufIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint GutterRendererPixbufIconNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint GutterRendererPixbufIconNamePropertyInfo = IsGutterRendererPixbuf
    type AttrGetType GutterRendererPixbufIconNamePropertyInfo = T.Text
    type AttrLabel GutterRendererPixbufIconNamePropertyInfo = "icon-name"
    type AttrOrigin GutterRendererPixbufIconNamePropertyInfo = GutterRendererPixbuf
    attrGet _ = getGutterRendererPixbufIconName
    attrSet _ = setGutterRendererPixbufIconName
    attrConstruct _ = constructGutterRendererPixbufIconName
    attrClear _ = clearGutterRendererPixbufIconName

-- VVV Prop "pixbuf"
   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

getGutterRendererPixbufPixbuf :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m GdkPixbuf.Pixbuf.Pixbuf
getGutterRendererPixbufPixbuf obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufPixbuf" $ getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf.Pixbuf

setGutterRendererPixbufPixbuf :: (MonadIO m, IsGutterRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
setGutterRendererPixbufPixbuf obj val = liftIO $ setObjectPropertyObject obj "pixbuf" (Just val)

constructGutterRendererPixbufPixbuf :: (IsGutterRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
constructGutterRendererPixbufPixbuf val = constructObjectPropertyObject "pixbuf" (Just val)

clearGutterRendererPixbufPixbuf :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m ()
clearGutterRendererPixbufPixbuf obj = liftIO $ setObjectPropertyObject obj "pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)

data GutterRendererPixbufPixbufPropertyInfo
instance AttrInfo GutterRendererPixbufPixbufPropertyInfo where
    type AttrAllowedOps GutterRendererPixbufPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint GutterRendererPixbufPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
    type AttrBaseTypeConstraint GutterRendererPixbufPixbufPropertyInfo = IsGutterRendererPixbuf
    type AttrGetType GutterRendererPixbufPixbufPropertyInfo = GdkPixbuf.Pixbuf.Pixbuf
    type AttrLabel GutterRendererPixbufPixbufPropertyInfo = "pixbuf"
    type AttrOrigin GutterRendererPixbufPixbufPropertyInfo = GutterRendererPixbuf
    attrGet _ = getGutterRendererPixbufPixbuf
    attrSet _ = setGutterRendererPixbufPixbuf
    attrConstruct _ = constructGutterRendererPixbufPixbuf
    attrClear _ = clearGutterRendererPixbufPixbuf

-- VVV Prop "stock-id"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

getGutterRendererPixbufStockId :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m T.Text
getGutterRendererPixbufStockId obj = liftIO $ checkUnexpectedNothing "getGutterRendererPixbufStockId" $ getObjectPropertyString obj "stock-id"

setGutterRendererPixbufStockId :: (MonadIO m, IsGutterRendererPixbuf o) => o -> T.Text -> m ()
setGutterRendererPixbufStockId obj val = liftIO $ setObjectPropertyString obj "stock-id" (Just val)

constructGutterRendererPixbufStockId :: (IsGutterRendererPixbuf o) => T.Text -> IO (GValueConstruct o)
constructGutterRendererPixbufStockId val = constructObjectPropertyString "stock-id" (Just val)

clearGutterRendererPixbufStockId :: (MonadIO m, IsGutterRendererPixbuf o) => o -> m ()
clearGutterRendererPixbufStockId obj = liftIO $ setObjectPropertyString obj "stock-id" (Nothing :: Maybe T.Text)

data GutterRendererPixbufStockIdPropertyInfo
instance AttrInfo GutterRendererPixbufStockIdPropertyInfo where
    type AttrAllowedOps GutterRendererPixbufStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint GutterRendererPixbufStockIdPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint GutterRendererPixbufStockIdPropertyInfo = IsGutterRendererPixbuf
    type AttrGetType GutterRendererPixbufStockIdPropertyInfo = T.Text
    type AttrLabel GutterRendererPixbufStockIdPropertyInfo = "stock-id"
    type AttrOrigin GutterRendererPixbufStockIdPropertyInfo = GutterRendererPixbuf
    attrGet _ = getGutterRendererPixbufStockId
    attrSet _ = setGutterRendererPixbufStockId
    attrConstruct _ = constructGutterRendererPixbufStockId
    attrClear _ = clearGutterRendererPixbufStockId

instance O.HasAttributeList GutterRendererPixbuf
type instance O.AttributeList GutterRendererPixbuf = GutterRendererPixbufAttributeList
type GutterRendererPixbufAttributeList = ('[ '("alignmentMode", GtkSource.GutterRenderer.GutterRendererAlignmentModePropertyInfo), '("backgroundRgba", GtkSource.GutterRenderer.GutterRendererBackgroundRgbaPropertyInfo), '("backgroundSet", GtkSource.GutterRenderer.GutterRendererBackgroundSetPropertyInfo), '("gicon", GutterRendererPixbufGiconPropertyInfo), '("iconName", GutterRendererPixbufIconNamePropertyInfo), '("pixbuf", GutterRendererPixbufPixbufPropertyInfo), '("size", GtkSource.GutterRenderer.GutterRendererSizePropertyInfo), '("stockId", GutterRendererPixbufStockIdPropertyInfo), '("view", GtkSource.GutterRenderer.GutterRendererViewPropertyInfo), '("visible", GtkSource.GutterRenderer.GutterRendererVisiblePropertyInfo), '("windowType", GtkSource.GutterRenderer.GutterRendererWindowTypePropertyInfo), '("xalign", GtkSource.GutterRenderer.GutterRendererXalignPropertyInfo), '("xpad", GtkSource.GutterRenderer.GutterRendererXpadPropertyInfo), '("yalign", GtkSource.GutterRenderer.GutterRendererYalignPropertyInfo), '("ypad", GtkSource.GutterRenderer.GutterRendererYpadPropertyInfo)] :: [(Symbol, *)])

gutterRendererPixbufGicon :: AttrLabelProxy "gicon"
gutterRendererPixbufGicon = AttrLabelProxy

gutterRendererPixbufIconName :: AttrLabelProxy "iconName"
gutterRendererPixbufIconName = AttrLabelProxy

gutterRendererPixbufPixbuf :: AttrLabelProxy "pixbuf"
gutterRendererPixbufPixbuf = AttrLabelProxy

gutterRendererPixbufStockId :: AttrLabelProxy "stockId"
gutterRendererPixbufStockId = AttrLabelProxy

type instance O.SignalList GutterRendererPixbuf = GutterRendererPixbufSignalList
type GutterRendererPixbufSignalList = ('[ '("activate", GtkSource.GutterRenderer.GutterRendererActivateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("queryActivatable", GtkSource.GutterRenderer.GutterRendererQueryActivatableSignalInfo), '("queryData", GtkSource.GutterRenderer.GutterRendererQueryDataSignalInfo), '("queryTooltip", GtkSource.GutterRenderer.GutterRendererQueryTooltipSignalInfo), '("queueDraw", GtkSource.GutterRenderer.GutterRendererQueueDrawSignalInfo)] :: [(Symbol, *)])

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

foreign import ccall "gtk_source_gutter_renderer_pixbuf_new" gtk_source_gutter_renderer_pixbuf_new :: 
    IO (Ptr GutterRendererPixbuf)

{- |
Create a new 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf'.
-}
gutterRendererPixbufNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m GutterRendererPixbuf
    {- ^ __Returns:__ A 'GI.GtkSource.Objects.GutterRenderer.GutterRenderer' -}
gutterRendererPixbufNew  = liftIO $ do
    result <- gtk_source_gutter_renderer_pixbuf_new
    checkUnexpectedReturnNULL "gutterRendererPixbufNew" result
    result' <- (wrapObject GutterRendererPixbuf) result
    return result'

-- method GutterRendererPixbuf::get_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_gicon" gtk_source_gutter_renderer_pixbuf_get_gicon :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    IO (Ptr Gio.Icon.Icon)

{- |
Get the gicon of the renderer
-}
gutterRendererPixbufGetGicon ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> m Gio.Icon.Icon
    {- ^ __Returns:__ a 'GI.Gio.Interfaces.Icon.Icon' -}
gutterRendererPixbufGetGicon renderer = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    result <- gtk_source_gutter_renderer_pixbuf_get_gicon renderer'
    checkUnexpectedReturnNULL "gutterRendererPixbufGetGicon" result
    result' <- (newObject Gio.Icon.Icon) result
    touchManagedPtr renderer
    return result'

data GutterRendererPixbufGetGiconMethodInfo
instance (signature ~ (m Gio.Icon.Icon), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufGetGiconMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufGetGicon

-- method GutterRendererPixbuf::get_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_icon_name" gtk_source_gutter_renderer_pixbuf_get_icon_name :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    IO CString

{- |
/No description available in the introspection data./
-}
gutterRendererPixbufGetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    -> m T.Text
gutterRendererPixbufGetIconName renderer = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    result <- gtk_source_gutter_renderer_pixbuf_get_icon_name renderer'
    checkUnexpectedReturnNULL "gutterRendererPixbufGetIconName" result
    result' <- cstringToText result
    touchManagedPtr renderer
    return result'

data GutterRendererPixbufGetIconNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufGetIconNameMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufGetIconName

-- method GutterRendererPixbuf::get_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_pixbuf" gtk_source_gutter_renderer_pixbuf_get_pixbuf :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)

{- |
Get the pixbuf of the renderer.
-}
gutterRendererPixbufGetPixbuf ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> m GdkPixbuf.Pixbuf.Pixbuf
    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
gutterRendererPixbufGetPixbuf renderer = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    result <- gtk_source_gutter_renderer_pixbuf_get_pixbuf renderer'
    checkUnexpectedReturnNULL "gutterRendererPixbufGetPixbuf" result
    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
    touchManagedPtr renderer
    return result'

data GutterRendererPixbufGetPixbufMethodInfo
instance (signature ~ (m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufGetPixbufMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufGetPixbuf

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

foreign import ccall "gtk_source_gutter_renderer_pixbuf_get_stock_id" gtk_source_gutter_renderer_pixbuf_get_stock_id :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    IO CString

{-# DEPRECATED gutterRendererPixbufGetStockId ["(Since version 3.10)","Don\\'t use this function."] #-}
{- |
/No description available in the introspection data./
-}
gutterRendererPixbufGetStockId ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> m T.Text
    {- ^ __Returns:__ the stock id. -}
gutterRendererPixbufGetStockId renderer = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    result <- gtk_source_gutter_renderer_pixbuf_get_stock_id renderer'
    checkUnexpectedReturnNULL "gutterRendererPixbufGetStockId" result
    result' <- cstringToText result
    touchManagedPtr renderer
    return result'

data GutterRendererPixbufGetStockIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufGetStockIdMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufGetStockId

-- method GutterRendererPixbuf::set_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the icon, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_gicon" gtk_source_gutter_renderer_pixbuf_set_gicon :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
    IO ()

{- |
/No description available in the introspection data./
-}
gutterRendererPixbufSetGicon ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a, Gio.Icon.IsIcon b) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> Maybe (b)
    {- ^ /@icon@/: the icon, or 'Nothing'. -}
    -> m ()
gutterRendererPixbufSetGicon renderer icon = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    maybeIcon <- case icon of
        Nothing -> return nullPtr
        Just jIcon -> do
            jIcon' <- unsafeManagedPtrCastPtr jIcon
            return jIcon'
    gtk_source_gutter_renderer_pixbuf_set_gicon renderer' maybeIcon
    touchManagedPtr renderer
    whenJust icon touchManagedPtr
    return ()

data GutterRendererPixbufSetGiconMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsGutterRendererPixbuf a, Gio.Icon.IsIcon b) => O.MethodInfo GutterRendererPixbufSetGiconMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufSetGicon

-- method GutterRendererPixbuf::set_icon_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the icon name, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_icon_name" gtk_source_gutter_renderer_pixbuf_set_icon_name :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    CString ->                              -- icon_name : TBasicType TUTF8
    IO ()

{- |
/No description available in the introspection data./
-}
gutterRendererPixbufSetIconName ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> Maybe (T.Text)
    {- ^ /@iconName@/: the icon name, or 'Nothing'. -}
    -> m ()
gutterRendererPixbufSetIconName renderer iconName = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    maybeIconName <- case iconName of
        Nothing -> return nullPtr
        Just jIconName -> do
            jIconName' <- textToCString jIconName
            return jIconName'
    gtk_source_gutter_renderer_pixbuf_set_icon_name renderer' maybeIconName
    touchManagedPtr renderer
    freeMem maybeIconName
    return ()

data GutterRendererPixbufSetIconNameMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufSetIconNameMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufSetIconName

-- method GutterRendererPixbuf::set_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the pixbuf, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_pixbuf" gtk_source_gutter_renderer_pixbuf_set_pixbuf :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
    IO ()

{- |
/No description available in the introspection data./
-}
gutterRendererPixbufSetPixbuf ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> Maybe (b)
    {- ^ /@pixbuf@/: the pixbuf, or 'Nothing'. -}
    -> m ()
gutterRendererPixbufSetPixbuf renderer pixbuf = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    maybePixbuf <- case pixbuf of
        Nothing -> return nullPtr
        Just jPixbuf -> do
            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
            return jPixbuf'
    gtk_source_gutter_renderer_pixbuf_set_pixbuf renderer' maybePixbuf
    touchManagedPtr renderer
    whenJust pixbuf touchManagedPtr
    return ()

data GutterRendererPixbufSetPixbufMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsGutterRendererPixbuf a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo GutterRendererPixbufSetPixbufMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufSetPixbuf

-- method GutterRendererPixbuf::set_stock_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceGutterRendererPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the stock id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_pixbuf_set_stock_id" gtk_source_gutter_renderer_pixbuf_set_stock_id :: 
    Ptr GutterRendererPixbuf ->             -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererPixbuf"})
    CString ->                              -- stock_id : TBasicType TUTF8
    IO ()

{-# DEPRECATED gutterRendererPixbufSetStockId ["(Since version 3.10)","Don\\'t use this function."] #-}
{- |
/No description available in the introspection data./
-}
gutterRendererPixbufSetStockId ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererPixbuf a) =>
    a
    {- ^ /@renderer@/: a 'GI.GtkSource.Objects.GutterRendererPixbuf.GutterRendererPixbuf' -}
    -> Maybe (T.Text)
    {- ^ /@stockId@/: the stock id -}
    -> m ()
gutterRendererPixbufSetStockId renderer stockId = liftIO $ do
    renderer' <- unsafeManagedPtrCastPtr renderer
    maybeStockId <- case stockId of
        Nothing -> return nullPtr
        Just jStockId -> do
            jStockId' <- textToCString jStockId
            return jStockId'
    gtk_source_gutter_renderer_pixbuf_set_stock_id renderer' maybeStockId
    touchManagedPtr renderer
    freeMem maybeStockId
    return ()

data GutterRendererPixbufSetStockIdMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsGutterRendererPixbuf a) => O.MethodInfo GutterRendererPixbufSetStockIdMethodInfo a signature where
    overloadedMethod _ = gutterRendererPixbufSetStockId