#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.Atk.Interfaces.EditableText
(
EditableText(..) ,
noEditableText ,
IsEditableText ,
#if ENABLE_OVERLOADING
EditableTextCopyTextMethodInfo ,
#endif
editableTextCopyText ,
#if ENABLE_OVERLOADING
EditableTextCutTextMethodInfo ,
#endif
editableTextCutText ,
#if ENABLE_OVERLOADING
EditableTextDeleteTextMethodInfo ,
#endif
editableTextDeleteText ,
#if ENABLE_OVERLOADING
EditableTextInsertTextMethodInfo ,
#endif
editableTextInsertText ,
#if ENABLE_OVERLOADING
EditableTextPasteTextMethodInfo ,
#endif
editableTextPasteText ,
#if ENABLE_OVERLOADING
EditableTextSetRunAttributesMethodInfo ,
#endif
editableTextSetRunAttributes ,
#if ENABLE_OVERLOADING
EditableTextSetTextContentsMethodInfo ,
#endif
editableTextSetTextContents ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
newtype EditableText = EditableText (ManagedPtr EditableText)
noEditableText :: Maybe EditableText
noEditableText :: Maybe EditableText
noEditableText = Maybe EditableText
forall a. Maybe a
Nothing
#if ENABLE_OVERLOADING
type instance O.SignalList EditableText = EditableTextSignalList
type EditableTextSignalList = ('[ ] :: [(Symbol, *)])
#endif
class ManagedPtrNewtype a => IsEditableText a
instance IsEditableText EditableText
instance WrappedPtr EditableText where
wrappedPtrCalloc :: IO (Ptr EditableText)
wrappedPtrCalloc = Ptr EditableText -> IO (Ptr EditableText)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr EditableText
forall a. Ptr a
nullPtr
wrappedPtrCopy :: EditableText -> IO EditableText
wrappedPtrCopy = EditableText -> IO EditableText
forall (m :: * -> *) a. Monad m => a -> m a
return
wrappedPtrFree :: Maybe (FunPtr (Ptr EditableText -> IO ()))
wrappedPtrFree = Maybe (FunPtr (Ptr EditableText -> IO ()))
forall a. Maybe a
Nothing
#if ENABLE_OVERLOADING
type family ResolveEditableTextMethod (t :: Symbol) (o :: *) :: * where
ResolveEditableTextMethod "copyText" o = EditableTextCopyTextMethodInfo
ResolveEditableTextMethod "cutText" o = EditableTextCutTextMethodInfo
ResolveEditableTextMethod "deleteText" o = EditableTextDeleteTextMethodInfo
ResolveEditableTextMethod "insertText" o = EditableTextInsertTextMethodInfo
ResolveEditableTextMethod "pasteText" o = EditableTextPasteTextMethodInfo
ResolveEditableTextMethod "setRunAttributes" o = EditableTextSetRunAttributesMethodInfo
ResolveEditableTextMethod "setTextContents" o = EditableTextSetTextContentsMethodInfo
ResolveEditableTextMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEditableTextMethod t EditableText, O.MethodInfo info EditableText p) => O.IsLabelProxy t (EditableText -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEditableTextMethod t EditableText, O.MethodInfo info EditableText p) => O.IsLabel t (EditableText -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
foreign import ccall "atk_editable_text_copy_text" atk_editable_text_copy_text ::
Ptr EditableText ->
Int32 ->
Int32 ->
IO ()
editableTextCopyText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> Int32
-> Int32
-> m ()
editableTextCopyText :: a -> Int32 -> Int32 -> m ()
editableTextCopyText text :: a
text startPos :: Int32
startPos endPos :: Int32
endPos = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
Ptr EditableText -> Int32 -> Int32 -> IO ()
atk_editable_text_copy_text Ptr EditableText
text' Int32
startPos Int32
endPos
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextCopyTextMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextCopyTextMethodInfo a signature where
overloadedMethod _ = editableTextCopyText
#endif
foreign import ccall "atk_editable_text_cut_text" atk_editable_text_cut_text ::
Ptr EditableText ->
Int32 ->
Int32 ->
IO ()
editableTextCutText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> Int32
-> Int32
-> m ()
editableTextCutText :: a -> Int32 -> Int32 -> m ()
editableTextCutText text :: a
text startPos :: Int32
startPos endPos :: Int32
endPos = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
Ptr EditableText -> Int32 -> Int32 -> IO ()
atk_editable_text_cut_text Ptr EditableText
text' Int32
startPos Int32
endPos
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextCutTextMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextCutTextMethodInfo a signature where
overloadedMethod _ = editableTextCutText
#endif
foreign import ccall "atk_editable_text_delete_text" atk_editable_text_delete_text ::
Ptr EditableText ->
Int32 ->
Int32 ->
IO ()
editableTextDeleteText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> Int32
-> Int32
-> m ()
editableTextDeleteText :: a -> Int32 -> Int32 -> m ()
editableTextDeleteText text :: a
text startPos :: Int32
startPos endPos :: Int32
endPos = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
Ptr EditableText -> Int32 -> Int32 -> IO ()
atk_editable_text_delete_text Ptr EditableText
text' Int32
startPos Int32
endPos
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextDeleteTextMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextDeleteTextMethodInfo a signature where
overloadedMethod _ = editableTextDeleteText
#endif
foreign import ccall "atk_editable_text_insert_text" atk_editable_text_insert_text ::
Ptr EditableText ->
CString ->
Int32 ->
Int32 ->
IO ()
editableTextInsertText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> T.Text
-> Int32
-> Int32
-> m ()
editableTextInsertText :: a -> Text -> Int32 -> Int32 -> m ()
editableTextInsertText text :: a
text string :: Text
string length_ :: Int32
length_ position :: Int32
position = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
CString
string' <- Text -> IO CString
textToCString Text
string
Ptr EditableText -> CString -> Int32 -> Int32 -> IO ()
atk_editable_text_insert_text Ptr EditableText
text' CString
string' Int32
length_ Int32
position
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
string'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextInsertTextMethodInfo
instance (signature ~ (T.Text -> Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextInsertTextMethodInfo a signature where
overloadedMethod _ = editableTextInsertText
#endif
foreign import ccall "atk_editable_text_paste_text" atk_editable_text_paste_text ::
Ptr EditableText ->
Int32 ->
IO ()
editableTextPasteText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> Int32
-> m ()
editableTextPasteText :: a -> Int32 -> m ()
editableTextPasteText text :: a
text position :: Int32
position = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
Ptr EditableText -> Int32 -> IO ()
atk_editable_text_paste_text Ptr EditableText
text' Int32
position
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextPasteTextMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextPasteTextMethodInfo a signature where
overloadedMethod _ = editableTextPasteText
#endif
foreign import ccall "atk_editable_text_set_run_attributes" atk_editable_text_set_run_attributes ::
Ptr EditableText ->
Ptr (GSList (Ptr ())) ->
Int32 ->
Int32 ->
IO CInt
editableTextSetRunAttributes ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> [Ptr ()]
-> Int32
-> Int32
-> m Bool
editableTextSetRunAttributes :: a -> [Ptr ()] -> Int32 -> Int32 -> m Bool
editableTextSetRunAttributes text :: a
text attribSet :: [Ptr ()]
attribSet startOffset :: Int32
startOffset endOffset :: Int32
endOffset = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
Ptr (GSList (Ptr ()))
attribSet' <- [Ptr ()] -> IO (Ptr (GSList (Ptr ())))
forall a. [Ptr a] -> IO (Ptr (GSList (Ptr a)))
packGSList [Ptr ()]
attribSet
CInt
result <- Ptr EditableText
-> Ptr (GSList (Ptr ())) -> Int32 -> Int32 -> IO CInt
atk_editable_text_set_run_attributes Ptr EditableText
text' Ptr (GSList (Ptr ()))
attribSet' Int32
startOffset Int32
endOffset
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
Ptr (GSList (Ptr ())) -> IO ()
forall a. Ptr (GSList a) -> IO ()
g_slist_free Ptr (GSList (Ptr ()))
attribSet'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if ENABLE_OVERLOADING
data EditableTextSetRunAttributesMethodInfo
instance (signature ~ ([Ptr ()] -> Int32 -> Int32 -> m Bool), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextSetRunAttributesMethodInfo a signature where
overloadedMethod _ = editableTextSetRunAttributes
#endif
foreign import ccall "atk_editable_text_set_text_contents" atk_editable_text_set_text_contents ::
Ptr EditableText ->
CString ->
IO ()
editableTextSetTextContents ::
(B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>
a
-> T.Text
-> m ()
editableTextSetTextContents :: a -> Text -> m ()
editableTextSetTextContents text :: a
text string :: Text
string = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EditableText
text' <- a -> IO (Ptr EditableText)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
text
CString
string' <- Text -> IO CString
textToCString Text
string
Ptr EditableText -> CString -> IO ()
atk_editable_text_set_text_contents Ptr EditableText
text' CString
string'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
text
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
string'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data EditableTextSetTextContentsMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextSetTextContentsMethodInfo a signature where
overloadedMethod _ = editableTextSetTextContents
#endif