{-# 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.GtkSource.Objects.GutterRendererText
    ( 

-- * Exported types
    GutterRendererText(..)                  ,
    IsGutterRendererText                    ,
    toGutterRendererText                    ,
    noGutterRendererText                    ,


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

#if defined(ENABLE_OVERLOADING)
    ResolveGutterRendererTextMethod         ,
#endif


-- ** measure #method:measure#

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextMeasureMethodInfo     ,
#endif
    gutterRendererTextMeasure               ,


-- ** measureMarkup #method:measureMarkup#

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextMeasureMarkupMethodInfo,
#endif
    gutterRendererTextMeasureMarkup         ,


-- ** new #method:new#

    gutterRendererTextNew                   ,


-- ** setMarkup #method:setMarkup#

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextSetMarkupMethodInfo   ,
#endif
    gutterRendererTextSetMarkup             ,


-- ** setText #method:setText#

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextSetTextMethodInfo     ,
#endif
    gutterRendererTextSetText               ,




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

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextMarkupPropertyInfo    ,
#endif
    clearGutterRendererTextMarkup           ,
    constructGutterRendererTextMarkup       ,
    getGutterRendererTextMarkup             ,
#if defined(ENABLE_OVERLOADING)
    gutterRendererTextMarkup                ,
#endif
    setGutterRendererTextMarkup             ,


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

#if defined(ENABLE_OVERLOADING)
    GutterRendererTextTextPropertyInfo      ,
#endif
    clearGutterRendererTextText             ,
    constructGutterRendererTextText         ,
    getGutterRendererTextText               ,
#if defined(ENABLE_OVERLOADING)
    gutterRendererTextText                  ,
#endif
    setGutterRendererTextText               ,




    ) 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.GtkSource.Objects.GutterRenderer as GtkSource.GutterRenderer

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

instance GObject GutterRendererText where
    gobjectType :: IO GType
gobjectType = IO GType
c_gtk_source_gutter_renderer_text_get_type
    

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

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

instance O.HasParentTypes GutterRendererText
type instance O.ParentTypes GutterRendererText = '[GtkSource.GutterRenderer.GutterRenderer, GObject.Object.Object]

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

-- | A convenience alias for `Nothing` :: `Maybe` `GutterRendererText`.
noGutterRendererText :: Maybe GutterRendererText
noGutterRendererText :: Maybe GutterRendererText
noGutterRendererText = Maybe GutterRendererText
forall a. Maybe a
Nothing

#if defined(ENABLE_OVERLOADING)
type family ResolveGutterRendererTextMethod (t :: Symbol) (o :: *) :: * where
    ResolveGutterRendererTextMethod "activate" o = GtkSource.GutterRenderer.GutterRendererActivateMethodInfo
    ResolveGutterRendererTextMethod "begin" o = GtkSource.GutterRenderer.GutterRendererBeginMethodInfo
    ResolveGutterRendererTextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveGutterRendererTextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveGutterRendererTextMethod "draw" o = GtkSource.GutterRenderer.GutterRendererDrawMethodInfo
    ResolveGutterRendererTextMethod "end" o = GtkSource.GutterRenderer.GutterRendererEndMethodInfo
    ResolveGutterRendererTextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveGutterRendererTextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveGutterRendererTextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveGutterRendererTextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveGutterRendererTextMethod "measure" o = GutterRendererTextMeasureMethodInfo
    ResolveGutterRendererTextMethod "measureMarkup" o = GutterRendererTextMeasureMarkupMethodInfo
    ResolveGutterRendererTextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveGutterRendererTextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveGutterRendererTextMethod "queryActivatable" o = GtkSource.GutterRenderer.GutterRendererQueryActivatableMethodInfo
    ResolveGutterRendererTextMethod "queryData" o = GtkSource.GutterRenderer.GutterRendererQueryDataMethodInfo
    ResolveGutterRendererTextMethod "queryTooltip" o = GtkSource.GutterRenderer.GutterRendererQueryTooltipMethodInfo
    ResolveGutterRendererTextMethod "queueDraw" o = GtkSource.GutterRenderer.GutterRendererQueueDrawMethodInfo
    ResolveGutterRendererTextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveGutterRendererTextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveGutterRendererTextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveGutterRendererTextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveGutterRendererTextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveGutterRendererTextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveGutterRendererTextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveGutterRendererTextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveGutterRendererTextMethod "getAlignment" o = GtkSource.GutterRenderer.GutterRendererGetAlignmentMethodInfo
    ResolveGutterRendererTextMethod "getAlignmentMode" o = GtkSource.GutterRenderer.GutterRendererGetAlignmentModeMethodInfo
    ResolveGutterRendererTextMethod "getBackground" o = GtkSource.GutterRenderer.GutterRendererGetBackgroundMethodInfo
    ResolveGutterRendererTextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveGutterRendererTextMethod "getPadding" o = GtkSource.GutterRenderer.GutterRendererGetPaddingMethodInfo
    ResolveGutterRendererTextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveGutterRendererTextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveGutterRendererTextMethod "getSize" o = GtkSource.GutterRenderer.GutterRendererGetSizeMethodInfo
    ResolveGutterRendererTextMethod "getView" o = GtkSource.GutterRenderer.GutterRendererGetViewMethodInfo
    ResolveGutterRendererTextMethod "getVisible" o = GtkSource.GutterRenderer.GutterRendererGetVisibleMethodInfo
    ResolveGutterRendererTextMethod "getWindowType" o = GtkSource.GutterRenderer.GutterRendererGetWindowTypeMethodInfo
    ResolveGutterRendererTextMethod "setAlignment" o = GtkSource.GutterRenderer.GutterRendererSetAlignmentMethodInfo
    ResolveGutterRendererTextMethod "setAlignmentMode" o = GtkSource.GutterRenderer.GutterRendererSetAlignmentModeMethodInfo
    ResolveGutterRendererTextMethod "setBackground" o = GtkSource.GutterRenderer.GutterRendererSetBackgroundMethodInfo
    ResolveGutterRendererTextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveGutterRendererTextMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveGutterRendererTextMethod "setMarkup" o = GutterRendererTextSetMarkupMethodInfo
    ResolveGutterRendererTextMethod "setPadding" o = GtkSource.GutterRenderer.GutterRendererSetPaddingMethodInfo
    ResolveGutterRendererTextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveGutterRendererTextMethod "setSize" o = GtkSource.GutterRenderer.GutterRendererSetSizeMethodInfo
    ResolveGutterRendererTextMethod "setText" o = GutterRendererTextSetTextMethodInfo
    ResolveGutterRendererTextMethod "setVisible" o = GtkSource.GutterRenderer.GutterRendererSetVisibleMethodInfo
    ResolveGutterRendererTextMethod l o = O.MethodResolutionFailed l o

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

#endif

-- VVV Prop "markup"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
   -- Nullable: (Nothing,Nothing)

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

-- | Set the value of the “@markup@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' gutterRendererText [ #markup 'Data.GI.Base.Attributes.:=' value ]
-- @
setGutterRendererTextMarkup :: (MonadIO m, IsGutterRendererText o) => o -> T.Text -> m ()
setGutterRendererTextMarkup :: o -> Text -> m ()
setGutterRendererTextMarkup obj :: o
obj val :: Text
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 -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "markup" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructGutterRendererTextMarkup :: (IsGutterRendererText o) => T.Text -> IO (GValueConstruct o)
constructGutterRendererTextMarkup :: Text -> IO (GValueConstruct o)
constructGutterRendererTextMarkup val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString "markup" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Set the value of the “@markup@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #markup
-- @
clearGutterRendererTextMarkup :: (MonadIO m, IsGutterRendererText o) => o -> m ()
clearGutterRendererTextMarkup :: o -> m ()
clearGutterRendererTextMarkup obj :: o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "markup" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextMarkupPropertyInfo
instance AttrInfo GutterRendererTextMarkupPropertyInfo where
    type AttrAllowedOps GutterRendererTextMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint GutterRendererTextMarkupPropertyInfo = IsGutterRendererText
    type AttrSetTypeConstraint GutterRendererTextMarkupPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint GutterRendererTextMarkupPropertyInfo = (~) T.Text
    type AttrTransferType GutterRendererTextMarkupPropertyInfo = T.Text
    type AttrGetType GutterRendererTextMarkupPropertyInfo = (Maybe T.Text)
    type AttrLabel GutterRendererTextMarkupPropertyInfo = "markup"
    type AttrOrigin GutterRendererTextMarkupPropertyInfo = GutterRendererText
    attrGet = getGutterRendererTextMarkup
    attrSet = setGutterRendererTextMarkup
    attrTransfer _ v = do
        return v
    attrConstruct = constructGutterRendererTextMarkup
    attrClear = clearGutterRendererTextMarkup
#endif

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
   -- Nullable: (Nothing,Nothing)

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

-- | Set the value of the “@text@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' gutterRendererText [ #text 'Data.GI.Base.Attributes.:=' value ]
-- @
setGutterRendererTextText :: (MonadIO m, IsGutterRendererText o) => o -> T.Text -> m ()
setGutterRendererTextText :: o -> Text -> m ()
setGutterRendererTextText obj :: o
obj val :: Text
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 -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "text" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructGutterRendererTextText :: (IsGutterRendererText o) => T.Text -> IO (GValueConstruct o)
constructGutterRendererTextText :: Text -> IO (GValueConstruct o)
constructGutterRendererTextText val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString "text" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Set the value of the “@text@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #text
-- @
clearGutterRendererTextText :: (MonadIO m, IsGutterRendererText o) => o -> m ()
clearGutterRendererTextText :: o -> m ()
clearGutterRendererTextText obj :: o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "text" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextTextPropertyInfo
instance AttrInfo GutterRendererTextTextPropertyInfo where
    type AttrAllowedOps GutterRendererTextTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint GutterRendererTextTextPropertyInfo = IsGutterRendererText
    type AttrSetTypeConstraint GutterRendererTextTextPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint GutterRendererTextTextPropertyInfo = (~) T.Text
    type AttrTransferType GutterRendererTextTextPropertyInfo = T.Text
    type AttrGetType GutterRendererTextTextPropertyInfo = (Maybe T.Text)
    type AttrLabel GutterRendererTextTextPropertyInfo = "text"
    type AttrOrigin GutterRendererTextTextPropertyInfo = GutterRendererText
    attrGet = getGutterRendererTextText
    attrSet = setGutterRendererTextText
    attrTransfer _ v = do
        return v
    attrConstruct = constructGutterRendererTextText
    attrClear = clearGutterRendererTextText
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GutterRendererText
type instance O.AttributeList GutterRendererText = GutterRendererTextAttributeList
type GutterRendererTextAttributeList = ('[ '("alignmentMode", GtkSource.GutterRenderer.GutterRendererAlignmentModePropertyInfo), '("backgroundRgba", GtkSource.GutterRenderer.GutterRendererBackgroundRgbaPropertyInfo), '("backgroundSet", GtkSource.GutterRenderer.GutterRendererBackgroundSetPropertyInfo), '("markup", GutterRendererTextMarkupPropertyInfo), '("size", GtkSource.GutterRenderer.GutterRendererSizePropertyInfo), '("text", GutterRendererTextTextPropertyInfo), '("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, *)])
#endif

#if defined(ENABLE_OVERLOADING)
gutterRendererTextMarkup :: AttrLabelProxy "markup"
gutterRendererTextMarkup = AttrLabelProxy

gutterRendererTextText :: AttrLabelProxy "text"
gutterRendererTextText = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList GutterRendererText = GutterRendererTextSignalList
type GutterRendererTextSignalList = ('[ '("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, *)])

#endif

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

foreign import ccall "gtk_source_gutter_renderer_text_new" gtk_source_gutter_renderer_text_new :: 
    IO (Ptr GutterRendererText)

-- | Create a new t'GI.GtkSource.Objects.GutterRendererText.GutterRendererText'.
gutterRendererTextNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m GutterRendererText
    -- ^ __Returns:__ A t'GI.GtkSource.Objects.GutterRenderer.GutterRenderer'
gutterRendererTextNew :: m GutterRendererText
gutterRendererTextNew  = IO GutterRendererText -> m GutterRendererText
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GutterRendererText -> m GutterRendererText)
-> IO GutterRendererText -> m GutterRendererText
forall a b. (a -> b) -> a -> b
$ do
    Ptr GutterRendererText
result <- IO (Ptr GutterRendererText)
gtk_source_gutter_renderer_text_new
    Text -> Ptr GutterRendererText -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "gutterRendererTextNew" Ptr GutterRendererText
result
    GutterRendererText
result' <- ((ManagedPtr GutterRendererText -> GutterRendererText)
-> Ptr GutterRendererText -> IO GutterRendererText
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr GutterRendererText -> GutterRendererText
GutterRendererText) Ptr GutterRendererText
result
    GutterRendererText -> IO GutterRendererText
forall (m :: * -> *) a. Monad m => a -> m a
return GutterRendererText
result'

#if defined(ENABLE_OVERLOADING)
#endif

-- method GutterRendererText::measure
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "renderer"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "GutterRendererText" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceGutterRendererText."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "text"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the text to measure."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "width"
--           , argType = TBasicType TInt
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "location to store the width of the text in pixels,\n  or %NULL."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferEverything
--           }
--       , Arg
--           { argCName = "height"
--           , argType = TBasicType TInt
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "location to store the height of the text in\n  pixels, or %NULL."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferEverything
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_text_measure" gtk_source_gutter_renderer_text_measure :: 
    Ptr GutterRendererText ->               -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererText"})
    CString ->                              -- text : TBasicType TUTF8
    Ptr Int32 ->                            -- width : TBasicType TInt
    Ptr Int32 ->                            -- height : TBasicType TInt
    IO ()

-- | Measures the text provided using the pango layout used by the
-- t'GI.GtkSource.Objects.GutterRendererText.GutterRendererText'.
gutterRendererTextMeasure ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererText a) =>
    a
    -- ^ /@renderer@/: a t'GI.GtkSource.Objects.GutterRendererText.GutterRendererText'.
    -> T.Text
    -- ^ /@text@/: the text to measure.
    -> m ((Int32, Int32))
gutterRendererTextMeasure :: a -> Text -> m (Int32, Int32)
gutterRendererTextMeasure renderer :: a
renderer text :: Text
text = IO (Int32, Int32) -> m (Int32, Int32)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Int32, Int32) -> m (Int32, Int32))
-> IO (Int32, Int32) -> m (Int32, Int32)
forall a b. (a -> b) -> a -> b
$ do
    Ptr GutterRendererText
renderer' <- a -> IO (Ptr GutterRendererText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
renderer
    CString
text' <- Text -> IO CString
textToCString Text
text
    Ptr Int32
width <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
    Ptr Int32
height <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
    Ptr GutterRendererText
-> CString -> Ptr Int32 -> Ptr Int32 -> IO ()
gtk_source_gutter_renderer_text_measure Ptr GutterRendererText
renderer' CString
text' Ptr Int32
width Ptr Int32
height
    Int32
width' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
width
    Int32
height' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
height
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
renderer
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
text'
    Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
width
    Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
height
    (Int32, Int32) -> IO (Int32, Int32)
forall (m :: * -> *) a. Monad m => a -> m a
return (Int32
width', Int32
height')

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextMeasureMethodInfo
instance (signature ~ (T.Text -> m ((Int32, Int32))), MonadIO m, IsGutterRendererText a) => O.MethodInfo GutterRendererTextMeasureMethodInfo a signature where
    overloadedMethod = gutterRendererTextMeasure

#endif

-- method GutterRendererText::measure_markup
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "renderer"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "GutterRendererText" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceGutterRendererText."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "markup"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the pango markup to measure."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "width"
--           , argType = TBasicType TInt
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "location to store the width of the text in pixels,\n  or %NULL."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferEverything
--           }
--       , Arg
--           { argCName = "height"
--           , argType = TBasicType TInt
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "location to store the height of the text in\n  pixels, or %NULL."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferEverything
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_gutter_renderer_text_measure_markup" gtk_source_gutter_renderer_text_measure_markup :: 
    Ptr GutterRendererText ->               -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererText"})
    CString ->                              -- markup : TBasicType TUTF8
    Ptr Int32 ->                            -- width : TBasicType TInt
    Ptr Int32 ->                            -- height : TBasicType TInt
    IO ()

-- | Measures the pango markup provided using the pango layout used by the
-- t'GI.GtkSource.Objects.GutterRendererText.GutterRendererText'.
gutterRendererTextMeasureMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererText a) =>
    a
    -- ^ /@renderer@/: a t'GI.GtkSource.Objects.GutterRendererText.GutterRendererText'.
    -> T.Text
    -- ^ /@markup@/: the pango markup to measure.
    -> m ((Int32, Int32))
gutterRendererTextMeasureMarkup :: a -> Text -> m (Int32, Int32)
gutterRendererTextMeasureMarkup renderer :: a
renderer markup :: Text
markup = IO (Int32, Int32) -> m (Int32, Int32)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Int32, Int32) -> m (Int32, Int32))
-> IO (Int32, Int32) -> m (Int32, Int32)
forall a b. (a -> b) -> a -> b
$ do
    Ptr GutterRendererText
renderer' <- a -> IO (Ptr GutterRendererText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
renderer
    CString
markup' <- Text -> IO CString
textToCString Text
markup
    Ptr Int32
width <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
    Ptr Int32
height <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
    Ptr GutterRendererText
-> CString -> Ptr Int32 -> Ptr Int32 -> IO ()
gtk_source_gutter_renderer_text_measure_markup Ptr GutterRendererText
renderer' CString
markup' Ptr Int32
width Ptr Int32
height
    Int32
width' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
width
    Int32
height' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
height
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
renderer
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
markup'
    Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
width
    Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
height
    (Int32, Int32) -> IO (Int32, Int32)
forall (m :: * -> *) a. Monad m => a -> m a
return (Int32
width', Int32
height')

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextMeasureMarkupMethodInfo
instance (signature ~ (T.Text -> m ((Int32, Int32))), MonadIO m, IsGutterRendererText a) => O.MethodInfo GutterRendererTextMeasureMarkupMethodInfo a signature where
    overloadedMethod = gutterRendererTextMeasureMarkup

#endif

-- method GutterRendererText::set_markup
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "renderer"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "GutterRendererText" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "markup"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "length"
--           , argType = TBasicType TInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , 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_text_set_markup" gtk_source_gutter_renderer_text_set_markup :: 
    Ptr GutterRendererText ->               -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererText"})
    CString ->                              -- markup : TBasicType TUTF8
    Int32 ->                                -- length : TBasicType TInt
    IO ()

-- | /No description available in the introspection data./
gutterRendererTextSetMarkup ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererText a) =>
    a
    -> T.Text
    -> Int32
    -> m ()
gutterRendererTextSetMarkup :: a -> Text -> Int32 -> m ()
gutterRendererTextSetMarkup renderer :: a
renderer markup :: Text
markup length_ :: Int32
length_ = 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 GutterRendererText
renderer' <- a -> IO (Ptr GutterRendererText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
renderer
    CString
markup' <- Text -> IO CString
textToCString Text
markup
    Ptr GutterRendererText -> CString -> Int32 -> IO ()
gtk_source_gutter_renderer_text_set_markup Ptr GutterRendererText
renderer' CString
markup' Int32
length_
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
renderer
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
markup'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextSetMarkupMethodInfo
instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsGutterRendererText a) => O.MethodInfo GutterRendererTextSetMarkupMethodInfo a signature where
    overloadedMethod = gutterRendererTextSetMarkup

#endif

-- method GutterRendererText::set_text
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "renderer"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "GutterRendererText" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "text"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "length"
--           , argType = TBasicType TInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , 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_text_set_text" gtk_source_gutter_renderer_text_set_text :: 
    Ptr GutterRendererText ->               -- renderer : TInterface (Name {namespace = "GtkSource", name = "GutterRendererText"})
    CString ->                              -- text : TBasicType TUTF8
    Int32 ->                                -- length : TBasicType TInt
    IO ()

-- | /No description available in the introspection data./
gutterRendererTextSetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsGutterRendererText a) =>
    a
    -> T.Text
    -> Int32
    -> m ()
gutterRendererTextSetText :: a -> Text -> Int32 -> m ()
gutterRendererTextSetText renderer :: a
renderer text :: Text
text length_ :: Int32
length_ = 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 GutterRendererText
renderer' <- a -> IO (Ptr GutterRendererText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
renderer
    CString
text' <- Text -> IO CString
textToCString Text
text
    Ptr GutterRendererText -> CString -> Int32 -> IO ()
gtk_source_gutter_renderer_text_set_text Ptr GutterRendererText
renderer' CString
text' Int32
length_
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
renderer
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
text'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data GutterRendererTextSetTextMethodInfo
instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsGutterRendererText a) => O.MethodInfo GutterRendererTextSetTextMethodInfo a signature where
    overloadedMethod = gutterRendererTextSetText

#endif