{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- 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                    ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [activate]("GI.GtkSource.Objects.GutterRenderer#g:method:activate"), [begin]("GI.GtkSource.Objects.GutterRenderer#g:method:begin"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [draw]("GI.GtkSource.Objects.GutterRenderer#g:method:draw"), [end]("GI.GtkSource.Objects.GutterRenderer#g:method:end"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [measure]("GI.GtkSource.Objects.GutterRendererText#g:method:measure"), [measureMarkup]("GI.GtkSource.Objects.GutterRendererText#g:method:measureMarkup"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [queryActivatable]("GI.GtkSource.Objects.GutterRenderer#g:method:queryActivatable"), [queryData]("GI.GtkSource.Objects.GutterRenderer#g:method:queryData"), [queryTooltip]("GI.GtkSource.Objects.GutterRenderer#g:method:queryTooltip"), [queueDraw]("GI.GtkSource.Objects.GutterRenderer#g:method:queueDraw"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAlignment]("GI.GtkSource.Objects.GutterRenderer#g:method:getAlignment"), [getAlignmentMode]("GI.GtkSource.Objects.GutterRenderer#g:method:getAlignmentMode"), [getBackground]("GI.GtkSource.Objects.GutterRenderer#g:method:getBackground"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getPadding]("GI.GtkSource.Objects.GutterRenderer#g:method:getPadding"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getSize]("GI.GtkSource.Objects.GutterRenderer#g:method:getSize"), [getView]("GI.GtkSource.Objects.GutterRenderer#g:method:getView"), [getVisible]("GI.GtkSource.Objects.GutterRenderer#g:method:getVisible"), [getWindowType]("GI.GtkSource.Objects.GutterRenderer#g:method:getWindowType").
-- 
-- ==== Setters
-- [setAlignment]("GI.GtkSource.Objects.GutterRenderer#g:method:setAlignment"), [setAlignmentMode]("GI.GtkSource.Objects.GutterRenderer#g:method:setAlignmentMode"), [setBackground]("GI.GtkSource.Objects.GutterRenderer#g:method:setBackground"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setMarkup]("GI.GtkSource.Objects.GutterRendererText#g:method:setMarkup"), [setPadding]("GI.GtkSource.Objects.GutterRenderer#g:method:setPadding"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setSize]("GI.GtkSource.Objects.GutterRenderer#g:method:setSize"), [setText]("GI.GtkSource.Objects.GutterRendererText#g:method:setText"), [setVisible]("GI.GtkSource.Objects.GutterRenderer#g:method:setVisible").

#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.GtkSource.Objects.GutterRenderer as GtkSource.GutterRenderer

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

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

foreign import ccall "gtk_source_gutter_renderer_text_get_type"
    c_gtk_source_gutter_renderer_text_get_type :: IO B.Types.GType

instance B.Types.TypedObject GutterRendererText where
    glibType :: IO GType
glibType = IO GType
c_gtk_source_gutter_renderer_text_get_type

instance B.Types.GObject GutterRendererText

-- | Type class for types which can be safely cast to `GutterRendererText`, for instance with `toGutterRendererText`.
class (SP.GObject o, O.IsDescendantOf GutterRendererText o) => IsGutterRendererText o
instance (SP.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 :: (MIO.MonadIO m, IsGutterRendererText o) => o -> m GutterRendererText
toGutterRendererText :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> m GutterRendererText
toGutterRendererText = IO GutterRendererText -> m GutterRendererText
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr GutterRendererText -> GutterRendererText
GutterRendererText

-- | Convert 'GutterRendererText' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe GutterRendererText) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_source_gutter_renderer_text_get_type
    gvalueSet_ :: Ptr GValue -> Maybe GutterRendererText -> IO ()
gvalueSet_ Ptr GValue
gv Maybe GutterRendererText
P.Nothing = Ptr GValue -> Ptr GutterRendererText -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr GutterRendererText
forall a. Ptr a
FP.nullPtr :: FP.Ptr GutterRendererText)
    gvalueSet_ Ptr GValue
gv (P.Just GutterRendererText
obj) = GutterRendererText -> (Ptr GutterRendererText -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GutterRendererText
obj (Ptr GValue -> Ptr GutterRendererText -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe GutterRendererText)
gvalueGet_ Ptr GValue
gv = do
        Ptr GutterRendererText
ptr <- Ptr GValue -> IO (Ptr GutterRendererText)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr GutterRendererText)
        if Ptr GutterRendererText
ptr Ptr GutterRendererText -> Ptr GutterRendererText -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr GutterRendererText
forall a. Ptr a
FP.nullPtr
        then GutterRendererText -> Maybe GutterRendererText
forall a. a -> Maybe a
P.Just (GutterRendererText -> Maybe GutterRendererText)
-> IO GutterRendererText -> IO (Maybe GutterRendererText)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (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
        else Maybe GutterRendererText -> IO (Maybe GutterRendererText)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GutterRendererText
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveGutterRendererTextMethod (t :: Symbol) (o :: DK.Type) :: DK.Type 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.OverloadedMethod 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

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveGutterRendererTextMethod t GutterRendererText, O.OverloadedMethod info GutterRendererText p, R.HasField t GutterRendererText p) => R.HasField t GutterRendererText p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveGutterRendererTextMethod t GutterRendererText, O.OverloadedMethodInfo info GutterRendererText) => OL.IsLabel t (O.MethodProxy info GutterRendererText) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> m (Maybe Text)
getGutterRendererTextMarkup o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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 String
"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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> Text -> m ()
setGutterRendererTextMarkup o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"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, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructGutterRendererTextMarkup :: forall o (m :: * -> *).
(IsGutterRendererText o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructGutterRendererTextMarkup Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"markup" (Text -> Maybe Text
forall a. a -> Maybe a
P.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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> m ()
clearGutterRendererTextMarkup o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"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
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.markup"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#g:attr:markup"
        })
#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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> m (Maybe Text)
getGutterRendererTextText o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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 String
"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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> Text -> m ()
setGutterRendererTextText o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"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, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructGutterRendererTextText :: forall o (m :: * -> *).
(IsGutterRendererText o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructGutterRendererTextText Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"text" (Text -> Maybe Text
forall a. a -> Maybe a
P.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 :: forall (m :: * -> *) o.
(MonadIO m, IsGutterRendererText o) =>
o -> m ()
clearGutterRendererTextText o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"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
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.text"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#g:attr:text"
        })
#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, DK.Type)])
#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, DK.Type)])

#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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m GutterRendererText
gutterRendererTextNew  = IO GutterRendererText -> m GutterRendererText
forall a. IO a -> m a
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 Text
"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 a. a -> IO a
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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGutterRendererText a) =>
a -> Text -> m (Int32, Int32)
gutterRendererTextMeasure a
renderer Text
text = IO (Int32, Int32) -> m (Int32, Int32)
forall a. IO a -> m a
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 a. a -> IO a
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.OverloadedMethod GutterRendererTextMeasureMethodInfo a signature where
    overloadedMethod = gutterRendererTextMeasure

instance O.OverloadedMethodInfo GutterRendererTextMeasureMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.gutterRendererTextMeasure",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGutterRendererText a) =>
a -> Text -> m (Int32, Int32)
gutterRendererTextMeasureMarkup a
renderer Text
markup = IO (Int32, Int32) -> m (Int32, Int32)
forall a. IO a -> m a
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 a. a -> IO a
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.OverloadedMethod GutterRendererTextMeasureMarkupMethodInfo a signature where
    overloadedMethod = gutterRendererTextMeasureMarkup

instance O.OverloadedMethodInfo GutterRendererTextMeasureMarkupMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.gutterRendererTextMeasureMarkup",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGutterRendererText a) =>
a -> Text -> Int32 -> m ()
gutterRendererTextSetMarkup a
renderer Text
markup Int32
length_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr 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 a. a -> IO a
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.OverloadedMethod GutterRendererTextSetMarkupMethodInfo a signature where
    overloadedMethod = gutterRendererTextSetMarkup

instance O.OverloadedMethodInfo GutterRendererTextSetMarkupMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.gutterRendererTextSetMarkup",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGutterRendererText a) =>
a -> Text -> Int32 -> m ()
gutterRendererTextSetText a
renderer Text
text Int32
length_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr 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 a. a -> IO a
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.OverloadedMethod GutterRendererTextSetTextMethodInfo a signature where
    overloadedMethod = gutterRendererTextSetText

instance O.OverloadedMethodInfo GutterRendererTextSetTextMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GtkSource.Objects.GutterRendererText.gutterRendererTextSetText",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-GutterRendererText.html#v:gutterRendererTextSetText"
        })


#endif