{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Clutter.Objects.TextBuffer
(
TextBuffer(..) ,
IsTextBuffer ,
toTextBuffer ,
#if defined(ENABLE_OVERLOADING)
ResolveTextBufferMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TextBufferDeleteTextMethodInfo ,
#endif
textBufferDeleteText ,
#if defined(ENABLE_OVERLOADING)
TextBufferEmitDeletedTextMethodInfo ,
#endif
textBufferEmitDeletedText ,
#if defined(ENABLE_OVERLOADING)
TextBufferEmitInsertedTextMethodInfo ,
#endif
textBufferEmitInsertedText ,
#if defined(ENABLE_OVERLOADING)
TextBufferGetBytesMethodInfo ,
#endif
textBufferGetBytes ,
#if defined(ENABLE_OVERLOADING)
TextBufferGetLengthMethodInfo ,
#endif
textBufferGetLength ,
#if defined(ENABLE_OVERLOADING)
TextBufferGetMaxLengthMethodInfo ,
#endif
textBufferGetMaxLength ,
#if defined(ENABLE_OVERLOADING)
TextBufferGetTextMethodInfo ,
#endif
textBufferGetText ,
#if defined(ENABLE_OVERLOADING)
TextBufferInsertTextMethodInfo ,
#endif
textBufferInsertText ,
textBufferNew ,
textBufferNewWithText ,
#if defined(ENABLE_OVERLOADING)
TextBufferSetMaxLengthMethodInfo ,
#endif
textBufferSetMaxLength ,
#if defined(ENABLE_OVERLOADING)
TextBufferSetTextMethodInfo ,
#endif
textBufferSetText ,
#if defined(ENABLE_OVERLOADING)
TextBufferLengthPropertyInfo ,
#endif
getTextBufferLength ,
#if defined(ENABLE_OVERLOADING)
textBufferLength ,
#endif
#if defined(ENABLE_OVERLOADING)
TextBufferMaxLengthPropertyInfo ,
#endif
constructTextBufferMaxLength ,
getTextBufferMaxLength ,
setTextBufferMaxLength ,
#if defined(ENABLE_OVERLOADING)
textBufferMaxLength ,
#endif
#if defined(ENABLE_OVERLOADING)
TextBufferTextPropertyInfo ,
#endif
getTextBufferText ,
#if defined(ENABLE_OVERLOADING)
textBufferText ,
#endif
TextBufferDeletedTextCallback ,
#if defined(ENABLE_OVERLOADING)
TextBufferDeletedTextSignalInfo ,
#endif
afterTextBufferDeletedText ,
onTextBufferDeletedText ,
TextBufferInsertedTextCallback ,
#if defined(ENABLE_OVERLOADING)
TextBufferInsertedTextSignalInfo ,
#endif
afterTextBufferInsertedText ,
onTextBufferInsertedText ,
) 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
newtype TextBuffer = TextBuffer (SP.ManagedPtr TextBuffer)
deriving (TextBuffer -> TextBuffer -> Bool
(TextBuffer -> TextBuffer -> Bool)
-> (TextBuffer -> TextBuffer -> Bool) -> Eq TextBuffer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TextBuffer -> TextBuffer -> Bool
== :: TextBuffer -> TextBuffer -> Bool
$c/= :: TextBuffer -> TextBuffer -> Bool
/= :: TextBuffer -> TextBuffer -> Bool
Eq)
instance SP.ManagedPtrNewtype TextBuffer where
toManagedPtr :: TextBuffer -> ManagedPtr TextBuffer
toManagedPtr (TextBuffer ManagedPtr TextBuffer
p) = ManagedPtr TextBuffer
p
foreign import ccall "clutter_text_buffer_get_type"
c_clutter_text_buffer_get_type :: IO B.Types.GType
instance B.Types.TypedObject TextBuffer where
glibType :: IO GType
glibType = IO GType
c_clutter_text_buffer_get_type
instance B.Types.GObject TextBuffer
class (SP.GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
instance (SP.GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
instance O.HasParentTypes TextBuffer
type instance O.ParentTypes TextBuffer = '[GObject.Object.Object]
toTextBuffer :: (MIO.MonadIO m, IsTextBuffer o) => o -> m TextBuffer
toTextBuffer :: forall (m :: * -> *) o.
(MonadIO m, IsTextBuffer o) =>
o -> m TextBuffer
toTextBuffer = IO TextBuffer -> m TextBuffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TextBuffer -> m TextBuffer)
-> (o -> IO TextBuffer) -> o -> m TextBuffer
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TextBuffer -> TextBuffer) -> o -> IO TextBuffer
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TextBuffer -> TextBuffer
TextBuffer
instance B.GValue.IsGValue (Maybe TextBuffer) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_clutter_text_buffer_get_type
gvalueSet_ :: Ptr GValue -> Maybe TextBuffer -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TextBuffer
P.Nothing = Ptr GValue -> Ptr TextBuffer -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TextBuffer
forall a. Ptr a
FP.nullPtr :: FP.Ptr TextBuffer)
gvalueSet_ Ptr GValue
gv (P.Just TextBuffer
obj) = TextBuffer -> (Ptr TextBuffer -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TextBuffer
obj (Ptr GValue -> Ptr TextBuffer -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe TextBuffer)
gvalueGet_ Ptr GValue
gv = do
Ptr TextBuffer
ptr <- Ptr GValue -> IO (Ptr TextBuffer)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TextBuffer)
if Ptr TextBuffer
ptr Ptr TextBuffer -> Ptr TextBuffer -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr TextBuffer
forall a. Ptr a
FP.nullPtr
then TextBuffer -> Maybe TextBuffer
forall a. a -> Maybe a
P.Just (TextBuffer -> Maybe TextBuffer)
-> IO TextBuffer -> IO (Maybe TextBuffer)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr TextBuffer -> TextBuffer)
-> Ptr TextBuffer -> IO TextBuffer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TextBuffer -> TextBuffer
TextBuffer Ptr TextBuffer
ptr
else Maybe TextBuffer -> IO (Maybe TextBuffer)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TextBuffer
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTextBufferMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveTextBufferMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTextBufferMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTextBufferMethod "deleteText" o = TextBufferDeleteTextMethodInfo
ResolveTextBufferMethod "emitDeletedText" o = TextBufferEmitDeletedTextMethodInfo
ResolveTextBufferMethod "emitInsertedText" o = TextBufferEmitInsertedTextMethodInfo
ResolveTextBufferMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTextBufferMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTextBufferMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTextBufferMethod "insertText" o = TextBufferInsertTextMethodInfo
ResolveTextBufferMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTextBufferMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTextBufferMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTextBufferMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTextBufferMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTextBufferMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTextBufferMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTextBufferMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTextBufferMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTextBufferMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTextBufferMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTextBufferMethod "getBytes" o = TextBufferGetBytesMethodInfo
ResolveTextBufferMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTextBufferMethod "getLength" o = TextBufferGetLengthMethodInfo
ResolveTextBufferMethod "getMaxLength" o = TextBufferGetMaxLengthMethodInfo
ResolveTextBufferMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTextBufferMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTextBufferMethod "getText" o = TextBufferGetTextMethodInfo
ResolveTextBufferMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTextBufferMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTextBufferMethod "setMaxLength" o = TextBufferSetMaxLengthMethodInfo
ResolveTextBufferMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTextBufferMethod "setText" o = TextBufferSetTextMethodInfo
ResolveTextBufferMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTextBufferMethod t TextBuffer, O.OverloadedMethod info TextBuffer p) => OL.IsLabel t (TextBuffer -> 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 ~ ResolveTextBufferMethod t TextBuffer, O.OverloadedMethod info TextBuffer p, R.HasField t TextBuffer p) => R.HasField t TextBuffer p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTextBufferMethod t TextBuffer, O.OverloadedMethodInfo info TextBuffer) => OL.IsLabel t (O.MethodProxy info TextBuffer) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type TextBufferDeletedTextCallback =
Word32
-> Word32
-> IO ()
type C_TextBufferDeletedTextCallback =
Ptr TextBuffer ->
Word32 ->
Word32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TextBufferDeletedTextCallback :: C_TextBufferDeletedTextCallback -> IO (FunPtr C_TextBufferDeletedTextCallback)
wrap_TextBufferDeletedTextCallback ::
GObject a => (a -> TextBufferDeletedTextCallback) ->
C_TextBufferDeletedTextCallback
wrap_TextBufferDeletedTextCallback :: forall a.
GObject a =>
(a -> TextBufferDeletedTextCallback)
-> C_TextBufferDeletedTextCallback
wrap_TextBufferDeletedTextCallback a -> TextBufferDeletedTextCallback
gi'cb Ptr TextBuffer
gi'selfPtr Word32
position Word32
nChars Ptr ()
_ = do
Ptr TextBuffer -> (TextBuffer -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TextBuffer
gi'selfPtr ((TextBuffer -> IO ()) -> IO ()) -> (TextBuffer -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TextBuffer
gi'self -> a -> TextBufferDeletedTextCallback
gi'cb (TextBuffer -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TextBuffer
gi'self) Word32
position Word32
nChars
onTextBufferDeletedText :: (IsTextBuffer a, MonadIO m) => a -> ((?self :: a) => TextBufferDeletedTextCallback) -> m SignalHandlerId
onTextBufferDeletedText :: forall a (m :: * -> *).
(IsTextBuffer a, MonadIO m) =>
a
-> ((?self::a) => TextBufferDeletedTextCallback)
-> m SignalHandlerId
onTextBufferDeletedText a
obj (?self::a) => TextBufferDeletedTextCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TextBufferDeletedTextCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TextBufferDeletedTextCallback
TextBufferDeletedTextCallback
cb
let wrapped' :: C_TextBufferDeletedTextCallback
wrapped' = (a -> TextBufferDeletedTextCallback)
-> C_TextBufferDeletedTextCallback
forall a.
GObject a =>
(a -> TextBufferDeletedTextCallback)
-> C_TextBufferDeletedTextCallback
wrap_TextBufferDeletedTextCallback a -> TextBufferDeletedTextCallback
wrapped
FunPtr C_TextBufferDeletedTextCallback
wrapped'' <- C_TextBufferDeletedTextCallback
-> IO (FunPtr C_TextBufferDeletedTextCallback)
mk_TextBufferDeletedTextCallback C_TextBufferDeletedTextCallback
wrapped'
a
-> Text
-> FunPtr C_TextBufferDeletedTextCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"deleted-text" FunPtr C_TextBufferDeletedTextCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterTextBufferDeletedText :: (IsTextBuffer a, MonadIO m) => a -> ((?self :: a) => TextBufferDeletedTextCallback) -> m SignalHandlerId
afterTextBufferDeletedText :: forall a (m :: * -> *).
(IsTextBuffer a, MonadIO m) =>
a
-> ((?self::a) => TextBufferDeletedTextCallback)
-> m SignalHandlerId
afterTextBufferDeletedText a
obj (?self::a) => TextBufferDeletedTextCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TextBufferDeletedTextCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TextBufferDeletedTextCallback
TextBufferDeletedTextCallback
cb
let wrapped' :: C_TextBufferDeletedTextCallback
wrapped' = (a -> TextBufferDeletedTextCallback)
-> C_TextBufferDeletedTextCallback
forall a.
GObject a =>
(a -> TextBufferDeletedTextCallback)
-> C_TextBufferDeletedTextCallback
wrap_TextBufferDeletedTextCallback a -> TextBufferDeletedTextCallback
wrapped
FunPtr C_TextBufferDeletedTextCallback
wrapped'' <- C_TextBufferDeletedTextCallback
-> IO (FunPtr C_TextBufferDeletedTextCallback)
mk_TextBufferDeletedTextCallback C_TextBufferDeletedTextCallback
wrapped'
a
-> Text
-> FunPtr C_TextBufferDeletedTextCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"deleted-text" FunPtr C_TextBufferDeletedTextCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data TextBufferDeletedTextSignalInfo
instance SignalInfo TextBufferDeletedTextSignalInfo where
type HaskellCallbackType TextBufferDeletedTextSignalInfo = TextBufferDeletedTextCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TextBufferDeletedTextCallback cb
cb'' <- mk_TextBufferDeletedTextCallback cb'
connectSignalFunPtr obj "deleted-text" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer::deleted-text"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#g:signal:deletedText"})
#endif
type TextBufferInsertedTextCallback =
Word32
-> T.Text
-> Word32
-> IO ()
type C_TextBufferInsertedTextCallback =
Ptr TextBuffer ->
Word32 ->
CString ->
Word32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TextBufferInsertedTextCallback :: C_TextBufferInsertedTextCallback -> IO (FunPtr C_TextBufferInsertedTextCallback)
wrap_TextBufferInsertedTextCallback ::
GObject a => (a -> TextBufferInsertedTextCallback) ->
C_TextBufferInsertedTextCallback
wrap_TextBufferInsertedTextCallback :: forall a.
GObject a =>
(a -> TextBufferInsertedTextCallback)
-> C_TextBufferInsertedTextCallback
wrap_TextBufferInsertedTextCallback a -> TextBufferInsertedTextCallback
gi'cb Ptr TextBuffer
gi'selfPtr Word32
position CString
chars Word32
nChars Ptr ()
_ = do
Text
chars' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
chars
Ptr TextBuffer -> (TextBuffer -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr TextBuffer
gi'selfPtr ((TextBuffer -> IO ()) -> IO ()) -> (TextBuffer -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \TextBuffer
gi'self -> a -> TextBufferInsertedTextCallback
gi'cb (TextBuffer -> a
forall a b. Coercible a b => a -> b
Coerce.coerce TextBuffer
gi'self) Word32
position Text
chars' Word32
nChars
onTextBufferInsertedText :: (IsTextBuffer a, MonadIO m) => a -> ((?self :: a) => TextBufferInsertedTextCallback) -> m SignalHandlerId
onTextBufferInsertedText :: forall a (m :: * -> *).
(IsTextBuffer a, MonadIO m) =>
a
-> ((?self::a) => TextBufferInsertedTextCallback)
-> m SignalHandlerId
onTextBufferInsertedText a
obj (?self::a) => TextBufferInsertedTextCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TextBufferInsertedTextCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TextBufferInsertedTextCallback
TextBufferInsertedTextCallback
cb
let wrapped' :: C_TextBufferInsertedTextCallback
wrapped' = (a -> TextBufferInsertedTextCallback)
-> C_TextBufferInsertedTextCallback
forall a.
GObject a =>
(a -> TextBufferInsertedTextCallback)
-> C_TextBufferInsertedTextCallback
wrap_TextBufferInsertedTextCallback a -> TextBufferInsertedTextCallback
wrapped
FunPtr C_TextBufferInsertedTextCallback
wrapped'' <- C_TextBufferInsertedTextCallback
-> IO (FunPtr C_TextBufferInsertedTextCallback)
mk_TextBufferInsertedTextCallback C_TextBufferInsertedTextCallback
wrapped'
a
-> Text
-> FunPtr C_TextBufferInsertedTextCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"inserted-text" FunPtr C_TextBufferInsertedTextCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterTextBufferInsertedText :: (IsTextBuffer a, MonadIO m) => a -> ((?self :: a) => TextBufferInsertedTextCallback) -> m SignalHandlerId
afterTextBufferInsertedText :: forall a (m :: * -> *).
(IsTextBuffer a, MonadIO m) =>
a
-> ((?self::a) => TextBufferInsertedTextCallback)
-> m SignalHandlerId
afterTextBufferInsertedText a
obj (?self::a) => TextBufferInsertedTextCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TextBufferInsertedTextCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TextBufferInsertedTextCallback
TextBufferInsertedTextCallback
cb
let wrapped' :: C_TextBufferInsertedTextCallback
wrapped' = (a -> TextBufferInsertedTextCallback)
-> C_TextBufferInsertedTextCallback
forall a.
GObject a =>
(a -> TextBufferInsertedTextCallback)
-> C_TextBufferInsertedTextCallback
wrap_TextBufferInsertedTextCallback a -> TextBufferInsertedTextCallback
wrapped
FunPtr C_TextBufferInsertedTextCallback
wrapped'' <- C_TextBufferInsertedTextCallback
-> IO (FunPtr C_TextBufferInsertedTextCallback)
mk_TextBufferInsertedTextCallback C_TextBufferInsertedTextCallback
wrapped'
a
-> Text
-> FunPtr C_TextBufferInsertedTextCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"inserted-text" FunPtr C_TextBufferInsertedTextCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data TextBufferInsertedTextSignalInfo
instance SignalInfo TextBufferInsertedTextSignalInfo where
type HaskellCallbackType TextBufferInsertedTextSignalInfo = TextBufferInsertedTextCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TextBufferInsertedTextCallback cb
cb'' <- mk_TextBufferInsertedTextCallback cb'
connectSignalFunPtr obj "inserted-text" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer::inserted-text"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#g:signal:insertedText"})
#endif
getTextBufferLength :: (MonadIO m, IsTextBuffer o) => o -> m Word32
getTextBufferLength :: forall (m :: * -> *) o.
(MonadIO m, IsTextBuffer o) =>
o -> m Word32
getTextBufferLength o
obj = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"length"
#if defined(ENABLE_OVERLOADING)
data TextBufferLengthPropertyInfo
instance AttrInfo TextBufferLengthPropertyInfo where
type AttrAllowedOps TextBufferLengthPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint TextBufferLengthPropertyInfo = IsTextBuffer
type AttrSetTypeConstraint TextBufferLengthPropertyInfo = (~) ()
type AttrTransferTypeConstraint TextBufferLengthPropertyInfo = (~) ()
type AttrTransferType TextBufferLengthPropertyInfo = ()
type AttrGetType TextBufferLengthPropertyInfo = Word32
type AttrLabel TextBufferLengthPropertyInfo = "length"
type AttrOrigin TextBufferLengthPropertyInfo = TextBuffer
attrGet = getTextBufferLength
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.length"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#g:attr:length"
})
#endif
getTextBufferMaxLength :: (MonadIO m, IsTextBuffer o) => o -> m Int32
getTextBufferMaxLength :: forall (m :: * -> *) o. (MonadIO m, IsTextBuffer o) => o -> m Int32
getTextBufferMaxLength o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"max-length"
setTextBufferMaxLength :: (MonadIO m, IsTextBuffer o) => o -> Int32 -> m ()
setTextBufferMaxLength :: forall (m :: * -> *) o.
(MonadIO m, IsTextBuffer o) =>
o -> Int32 -> m ()
setTextBufferMaxLength o
obj Int32
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 -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"max-length" Int32
val
constructTextBufferMaxLength :: (IsTextBuffer o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructTextBufferMaxLength :: forall o (m :: * -> *).
(IsTextBuffer o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructTextBufferMaxLength Int32
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 -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"max-length" Int32
val
#if defined(ENABLE_OVERLOADING)
data TextBufferMaxLengthPropertyInfo
instance AttrInfo TextBufferMaxLengthPropertyInfo where
type AttrAllowedOps TextBufferMaxLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TextBufferMaxLengthPropertyInfo = IsTextBuffer
type AttrSetTypeConstraint TextBufferMaxLengthPropertyInfo = (~) Int32
type AttrTransferTypeConstraint TextBufferMaxLengthPropertyInfo = (~) Int32
type AttrTransferType TextBufferMaxLengthPropertyInfo = Int32
type AttrGetType TextBufferMaxLengthPropertyInfo = Int32
type AttrLabel TextBufferMaxLengthPropertyInfo = "max-length"
type AttrOrigin TextBufferMaxLengthPropertyInfo = TextBuffer
attrGet = getTextBufferMaxLength
attrSet = setTextBufferMaxLength
attrTransfer _ v = do
return v
attrConstruct = constructTextBufferMaxLength
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.maxLength"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#g:attr:maxLength"
})
#endif
getTextBufferText :: (MonadIO m, IsTextBuffer o) => o -> m T.Text
getTextBufferText :: forall (m :: * -> *) o. (MonadIO m, IsTextBuffer o) => o -> m Text
getTextBufferText o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getTextBufferText" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO 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"
#if defined(ENABLE_OVERLOADING)
data TextBufferTextPropertyInfo
instance AttrInfo TextBufferTextPropertyInfo where
type AttrAllowedOps TextBufferTextPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TextBufferTextPropertyInfo = IsTextBuffer
type AttrSetTypeConstraint TextBufferTextPropertyInfo = (~) ()
type AttrTransferTypeConstraint TextBufferTextPropertyInfo = (~) ()
type AttrTransferType TextBufferTextPropertyInfo = ()
type AttrGetType TextBufferTextPropertyInfo = T.Text
type AttrLabel TextBufferTextPropertyInfo = "text"
type AttrOrigin TextBufferTextPropertyInfo = TextBuffer
attrGet = getTextBufferText
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.text"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#g:attr:text"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TextBuffer
type instance O.AttributeList TextBuffer = TextBufferAttributeList
type TextBufferAttributeList = ('[ '("length", TextBufferLengthPropertyInfo), '("maxLength", TextBufferMaxLengthPropertyInfo), '("text", TextBufferTextPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
textBufferLength :: AttrLabelProxy "length"
textBufferLength = AttrLabelProxy
textBufferMaxLength :: AttrLabelProxy "maxLength"
textBufferMaxLength = AttrLabelProxy
textBufferText :: AttrLabelProxy "text"
textBufferText = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TextBuffer = TextBufferSignalList
type TextBufferSignalList = ('[ '("deletedText", TextBufferDeletedTextSignalInfo), '("insertedText", TextBufferInsertedTextSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "clutter_text_buffer_new" clutter_text_buffer_new ::
IO (Ptr TextBuffer)
textBufferNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m TextBuffer
textBufferNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m TextBuffer
textBufferNew = IO TextBuffer -> m TextBuffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextBuffer -> m TextBuffer) -> IO TextBuffer -> m TextBuffer
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
result <- IO (Ptr TextBuffer)
clutter_text_buffer_new
Text -> Ptr TextBuffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"textBufferNew" Ptr TextBuffer
result
TextBuffer
result' <- ((ManagedPtr TextBuffer -> TextBuffer)
-> Ptr TextBuffer -> IO TextBuffer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr TextBuffer -> TextBuffer
TextBuffer) Ptr TextBuffer
result
TextBuffer -> IO TextBuffer
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return TextBuffer
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "clutter_text_buffer_new_with_text" clutter_text_buffer_new_with_text ::
CString ->
Int64 ->
IO (Ptr TextBuffer)
textBufferNewWithText ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> Int64
-> m TextBuffer
textBufferNewWithText :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe Text -> Int64 -> m TextBuffer
textBufferNewWithText Maybe Text
text Int64
textLen = IO TextBuffer -> m TextBuffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextBuffer -> m TextBuffer) -> IO TextBuffer -> m TextBuffer
forall a b. (a -> b) -> a -> b
$ do
CString
maybeText <- case Maybe Text
text of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jText -> do
CString
jText' <- Text -> IO CString
textToCString Text
jText
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jText'
Ptr TextBuffer
result <- CString -> Int64 -> IO (Ptr TextBuffer)
clutter_text_buffer_new_with_text CString
maybeText Int64
textLen
Text -> Ptr TextBuffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"textBufferNewWithText" Ptr TextBuffer
result
TextBuffer
result' <- ((ManagedPtr TextBuffer -> TextBuffer)
-> Ptr TextBuffer -> IO TextBuffer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr TextBuffer -> TextBuffer
TextBuffer) Ptr TextBuffer
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeText
TextBuffer -> IO TextBuffer
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return TextBuffer
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "clutter_text_buffer_delete_text" clutter_text_buffer_delete_text ::
Ptr TextBuffer ->
Word32 ->
Int32 ->
IO Word32
textBufferDeleteText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> Word32
-> Int32
-> m Word32
textBufferDeleteText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Word32 -> Int32 -> m Word32
textBufferDeleteText a
buffer Word32
position Int32
nChars = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Word32
result <- Ptr TextBuffer -> Word32 -> Int32 -> IO Word32
clutter_text_buffer_delete_text Ptr TextBuffer
buffer' Word32
position Int32
nChars
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data TextBufferDeleteTextMethodInfo
instance (signature ~ (Word32 -> Int32 -> m Word32), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferDeleteTextMethodInfo a signature where
overloadedMethod = textBufferDeleteText
instance O.OverloadedMethodInfo TextBufferDeleteTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferDeleteText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferDeleteText"
})
#endif
foreign import ccall "clutter_text_buffer_emit_deleted_text" clutter_text_buffer_emit_deleted_text ::
Ptr TextBuffer ->
Word32 ->
Word32 ->
IO ()
textBufferEmitDeletedText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> Word32
-> Word32
-> m ()
textBufferEmitDeletedText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Word32 -> Word32 -> m ()
textBufferEmitDeletedText a
buffer Word32
position Word32
nChars = 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 TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Ptr TextBuffer -> TextBufferDeletedTextCallback
clutter_text_buffer_emit_deleted_text Ptr TextBuffer
buffer' Word32
position Word32
nChars
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TextBufferEmitDeletedTextMethodInfo
instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferEmitDeletedTextMethodInfo a signature where
overloadedMethod = textBufferEmitDeletedText
instance O.OverloadedMethodInfo TextBufferEmitDeletedTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferEmitDeletedText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferEmitDeletedText"
})
#endif
foreign import ccall "clutter_text_buffer_emit_inserted_text" clutter_text_buffer_emit_inserted_text ::
Ptr TextBuffer ->
Word32 ->
CString ->
Word32 ->
IO ()
textBufferEmitInsertedText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> Word32
-> T.Text
-> Word32
-> m ()
textBufferEmitInsertedText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Word32 -> Text -> Word32 -> m ()
textBufferEmitInsertedText a
buffer Word32
position Text
chars Word32
nChars = 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 TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
CString
chars' <- Text -> IO CString
textToCString Text
chars
Ptr TextBuffer -> Word32 -> CString -> Word32 -> IO ()
clutter_text_buffer_emit_inserted_text Ptr TextBuffer
buffer' Word32
position CString
chars' Word32
nChars
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
chars'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TextBufferEmitInsertedTextMethodInfo
instance (signature ~ (Word32 -> T.Text -> Word32 -> m ()), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferEmitInsertedTextMethodInfo a signature where
overloadedMethod = textBufferEmitInsertedText
instance O.OverloadedMethodInfo TextBufferEmitInsertedTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferEmitInsertedText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferEmitInsertedText"
})
#endif
foreign import ccall "clutter_text_buffer_get_bytes" clutter_text_buffer_get_bytes ::
Ptr TextBuffer ->
IO Word64
textBufferGetBytes ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> m Word64
textBufferGetBytes :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> m Word64
textBufferGetBytes a
buffer = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Word64
result <- Ptr TextBuffer -> IO Word64
clutter_text_buffer_get_bytes Ptr TextBuffer
buffer'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data TextBufferGetBytesMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferGetBytesMethodInfo a signature where
overloadedMethod = textBufferGetBytes
instance O.OverloadedMethodInfo TextBufferGetBytesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferGetBytes",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferGetBytes"
})
#endif
foreign import ccall "clutter_text_buffer_get_length" clutter_text_buffer_get_length ::
Ptr TextBuffer ->
IO Word32
textBufferGetLength ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> m Word32
textBufferGetLength :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> m Word32
textBufferGetLength a
buffer = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Word32
result <- Ptr TextBuffer -> IO Word32
clutter_text_buffer_get_length Ptr TextBuffer
buffer'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data TextBufferGetLengthMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferGetLengthMethodInfo a signature where
overloadedMethod = textBufferGetLength
instance O.OverloadedMethodInfo TextBufferGetLengthMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferGetLength",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferGetLength"
})
#endif
foreign import ccall "clutter_text_buffer_get_max_length" clutter_text_buffer_get_max_length ::
Ptr TextBuffer ->
IO Int32
textBufferGetMaxLength ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> m Int32
textBufferGetMaxLength :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> m Int32
textBufferGetMaxLength a
buffer = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Int32
result <- Ptr TextBuffer -> IO Int32
clutter_text_buffer_get_max_length Ptr TextBuffer
buffer'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data TextBufferGetMaxLengthMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferGetMaxLengthMethodInfo a signature where
overloadedMethod = textBufferGetMaxLength
instance O.OverloadedMethodInfo TextBufferGetMaxLengthMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferGetMaxLength",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferGetMaxLength"
})
#endif
foreign import ccall "clutter_text_buffer_get_text" clutter_text_buffer_get_text ::
Ptr TextBuffer ->
IO CString
textBufferGetText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> m T.Text
textBufferGetText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> m Text
textBufferGetText a
buffer = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
CString
result <- Ptr TextBuffer -> IO CString
clutter_text_buffer_get_text Ptr TextBuffer
buffer'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"textBufferGetText" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data TextBufferGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferGetTextMethodInfo a signature where
overloadedMethod = textBufferGetText
instance O.OverloadedMethodInfo TextBufferGetTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferGetText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferGetText"
})
#endif
foreign import ccall "clutter_text_buffer_insert_text" clutter_text_buffer_insert_text ::
Ptr TextBuffer ->
Word32 ->
CString ->
Int32 ->
IO Word32
textBufferInsertText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> Word32
-> T.Text
-> Int32
-> m Word32
textBufferInsertText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Word32 -> Text -> Int32 -> m Word32
textBufferInsertText a
buffer Word32
position Text
chars Int32
nChars = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
CString
chars' <- Text -> IO CString
textToCString Text
chars
Word32
result <- Ptr TextBuffer -> Word32 -> CString -> Int32 -> IO Word32
clutter_text_buffer_insert_text Ptr TextBuffer
buffer' Word32
position CString
chars' Int32
nChars
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
chars'
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data TextBufferInsertTextMethodInfo
instance (signature ~ (Word32 -> T.Text -> Int32 -> m Word32), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferInsertTextMethodInfo a signature where
overloadedMethod = textBufferInsertText
instance O.OverloadedMethodInfo TextBufferInsertTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferInsertText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferInsertText"
})
#endif
foreign import ccall "clutter_text_buffer_set_max_length" clutter_text_buffer_set_max_length ::
Ptr TextBuffer ->
Int32 ->
IO ()
textBufferSetMaxLength ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> Int32
-> m ()
textBufferSetMaxLength :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Int32 -> m ()
textBufferSetMaxLength a
buffer Int32
maxLength = 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 TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Ptr TextBuffer -> Int32 -> IO ()
clutter_text_buffer_set_max_length Ptr TextBuffer
buffer' Int32
maxLength
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TextBufferSetMaxLengthMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferSetMaxLengthMethodInfo a signature where
overloadedMethod = textBufferSetMaxLength
instance O.OverloadedMethodInfo TextBufferSetMaxLengthMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferSetMaxLength",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferSetMaxLength"
})
#endif
foreign import ccall "clutter_text_buffer_set_text" clutter_text_buffer_set_text ::
Ptr TextBuffer ->
CString ->
Int32 ->
IO ()
textBufferSetText ::
(B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
a
-> T.Text
-> Int32
-> m ()
textBufferSetText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTextBuffer a) =>
a -> Text -> Int32 -> m ()
textBufferSetText a
buffer Text
chars Int32
nChars = 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 TextBuffer
buffer' <- a -> IO (Ptr TextBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
CString
chars' <- Text -> IO CString
textToCString Text
chars
Ptr TextBuffer -> CString -> Int32 -> IO ()
clutter_text_buffer_set_text Ptr TextBuffer
buffer' CString
chars' Int32
nChars
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
chars'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TextBufferSetTextMethodInfo
instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.OverloadedMethod TextBufferSetTextMethodInfo a signature where
overloadedMethod = textBufferSetText
instance O.OverloadedMethodInfo TextBufferSetTextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.TextBuffer.textBufferSetText",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.5/docs/GI-Clutter-Objects-TextBuffer.html#v:textBufferSetText"
})
#endif