gi-gtk-0.3.18.12: GI/Gtk/Objects/TextTagTable.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gtk.Objects.TextTagTable
(
-- * Exported types
TextTagTable(..) ,
TextTagTableK ,
toTextTagTable ,
noTextTagTable ,
-- * Methods
-- ** textTagTableAdd
textTagTableAdd ,
-- ** textTagTableForeach
textTagTableForeach ,
-- ** textTagTableGetSize
textTagTableGetSize ,
-- ** textTagTableLookup
textTagTableLookup ,
-- ** textTagTableNew
textTagTableNew ,
-- ** textTagTableRemove
textTagTableRemove ,
-- * Signals
-- ** TagAdded
TextTagTableTagAddedCallback ,
TextTagTableTagAddedCallbackC ,
TextTagTableTagAddedSignalInfo ,
afterTextTagTableTagAdded ,
mkTextTagTableTagAddedCallback ,
noTextTagTableTagAddedCallback ,
onTextTagTableTagAdded ,
textTagTableTagAddedCallbackWrapper ,
textTagTableTagAddedClosure ,
-- ** TagChanged
TextTagTableTagChangedCallback ,
TextTagTableTagChangedCallbackC ,
TextTagTableTagChangedSignalInfo ,
afterTextTagTableTagChanged ,
mkTextTagTableTagChangedCallback ,
noTextTagTableTagChangedCallback ,
onTextTagTableTagChanged ,
textTagTableTagChangedCallbackWrapper ,
textTagTableTagChangedClosure ,
-- ** TagRemoved
TextTagTableTagRemovedCallback ,
TextTagTableTagRemovedCallbackC ,
TextTagTableTagRemovedSignalInfo ,
afterTextTagTableTagRemoved ,
mkTextTagTableTagRemovedCallback ,
noTextTagTableTagRemovedCallback ,
onTextTagTableTagRemoved ,
textTagTableTagRemovedCallbackWrapper ,
textTagTableTagRemovedClosure ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
newtype TextTagTable = TextTagTable (ForeignPtr TextTagTable)
foreign import ccall "gtk_text_tag_table_get_type"
c_gtk_text_tag_table_get_type :: IO GType
type instance ParentTypes TextTagTable = TextTagTableParentTypes
type TextTagTableParentTypes = '[GObject.Object, Buildable]
instance GObject TextTagTable where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_text_tag_table_get_type
class GObject o => TextTagTableK o
instance (GObject o, IsDescendantOf TextTagTable o) => TextTagTableK o
toTextTagTable :: TextTagTableK o => o -> IO TextTagTable
toTextTagTable = unsafeCastTo TextTagTable
noTextTagTable :: Maybe TextTagTable
noTextTagTable = Nothing
-- signal TextTagTable::tag-added
type TextTagTableTagAddedCallback =
TextTag ->
IO ()
noTextTagTableTagAddedCallback :: Maybe TextTagTableTagAddedCallback
noTextTagTableTagAddedCallback = Nothing
type TextTagTableTagAddedCallbackC =
Ptr () -> -- object
Ptr TextTag ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkTextTagTableTagAddedCallback :: TextTagTableTagAddedCallbackC -> IO (FunPtr TextTagTableTagAddedCallbackC)
textTagTableTagAddedClosure :: TextTagTableTagAddedCallback -> IO Closure
textTagTableTagAddedClosure cb = newCClosure =<< mkTextTagTableTagAddedCallback wrapped
where wrapped = textTagTableTagAddedCallbackWrapper cb
textTagTableTagAddedCallbackWrapper ::
TextTagTableTagAddedCallback ->
Ptr () ->
Ptr TextTag ->
Ptr () ->
IO ()
textTagTableTagAddedCallbackWrapper _cb _ tag _ = do
tag' <- (newObject TextTag) tag
_cb tag'
onTextTagTableTagAdded :: (GObject a, MonadIO m) => a -> TextTagTableTagAddedCallback -> m SignalHandlerId
onTextTagTableTagAdded obj cb = liftIO $ connectTextTagTableTagAdded obj cb SignalConnectBefore
afterTextTagTableTagAdded :: (GObject a, MonadIO m) => a -> TextTagTableTagAddedCallback -> m SignalHandlerId
afterTextTagTableTagAdded obj cb = connectTextTagTableTagAdded obj cb SignalConnectAfter
connectTextTagTableTagAdded :: (GObject a, MonadIO m) =>
a -> TextTagTableTagAddedCallback -> SignalConnectMode -> m SignalHandlerId
connectTextTagTableTagAdded obj cb after = liftIO $ do
cb' <- mkTextTagTableTagAddedCallback (textTagTableTagAddedCallbackWrapper cb)
connectSignalFunPtr obj "tag-added" cb' after
-- signal TextTagTable::tag-changed
type TextTagTableTagChangedCallback =
TextTag ->
Bool ->
IO ()
noTextTagTableTagChangedCallback :: Maybe TextTagTableTagChangedCallback
noTextTagTableTagChangedCallback = Nothing
type TextTagTableTagChangedCallbackC =
Ptr () -> -- object
Ptr TextTag ->
CInt ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkTextTagTableTagChangedCallback :: TextTagTableTagChangedCallbackC -> IO (FunPtr TextTagTableTagChangedCallbackC)
textTagTableTagChangedClosure :: TextTagTableTagChangedCallback -> IO Closure
textTagTableTagChangedClosure cb = newCClosure =<< mkTextTagTableTagChangedCallback wrapped
where wrapped = textTagTableTagChangedCallbackWrapper cb
textTagTableTagChangedCallbackWrapper ::
TextTagTableTagChangedCallback ->
Ptr () ->
Ptr TextTag ->
CInt ->
Ptr () ->
IO ()
textTagTableTagChangedCallbackWrapper _cb _ tag size_changed _ = do
tag' <- (newObject TextTag) tag
let size_changed' = (/= 0) size_changed
_cb tag' size_changed'
onTextTagTableTagChanged :: (GObject a, MonadIO m) => a -> TextTagTableTagChangedCallback -> m SignalHandlerId
onTextTagTableTagChanged obj cb = liftIO $ connectTextTagTableTagChanged obj cb SignalConnectBefore
afterTextTagTableTagChanged :: (GObject a, MonadIO m) => a -> TextTagTableTagChangedCallback -> m SignalHandlerId
afterTextTagTableTagChanged obj cb = connectTextTagTableTagChanged obj cb SignalConnectAfter
connectTextTagTableTagChanged :: (GObject a, MonadIO m) =>
a -> TextTagTableTagChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectTextTagTableTagChanged obj cb after = liftIO $ do
cb' <- mkTextTagTableTagChangedCallback (textTagTableTagChangedCallbackWrapper cb)
connectSignalFunPtr obj "tag-changed" cb' after
-- signal TextTagTable::tag-removed
type TextTagTableTagRemovedCallback =
TextTag ->
IO ()
noTextTagTableTagRemovedCallback :: Maybe TextTagTableTagRemovedCallback
noTextTagTableTagRemovedCallback = Nothing
type TextTagTableTagRemovedCallbackC =
Ptr () -> -- object
Ptr TextTag ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkTextTagTableTagRemovedCallback :: TextTagTableTagRemovedCallbackC -> IO (FunPtr TextTagTableTagRemovedCallbackC)
textTagTableTagRemovedClosure :: TextTagTableTagRemovedCallback -> IO Closure
textTagTableTagRemovedClosure cb = newCClosure =<< mkTextTagTableTagRemovedCallback wrapped
where wrapped = textTagTableTagRemovedCallbackWrapper cb
textTagTableTagRemovedCallbackWrapper ::
TextTagTableTagRemovedCallback ->
Ptr () ->
Ptr TextTag ->
Ptr () ->
IO ()
textTagTableTagRemovedCallbackWrapper _cb _ tag _ = do
tag' <- (newObject TextTag) tag
_cb tag'
onTextTagTableTagRemoved :: (GObject a, MonadIO m) => a -> TextTagTableTagRemovedCallback -> m SignalHandlerId
onTextTagTableTagRemoved obj cb = liftIO $ connectTextTagTableTagRemoved obj cb SignalConnectBefore
afterTextTagTableTagRemoved :: (GObject a, MonadIO m) => a -> TextTagTableTagRemovedCallback -> m SignalHandlerId
afterTextTagTableTagRemoved obj cb = connectTextTagTableTagRemoved obj cb SignalConnectAfter
connectTextTagTableTagRemoved :: (GObject a, MonadIO m) =>
a -> TextTagTableTagRemovedCallback -> SignalConnectMode -> m SignalHandlerId
connectTextTagTableTagRemoved obj cb after = liftIO $ do
cb' <- mkTextTagTableTagRemovedCallback (textTagTableTagRemovedCallbackWrapper cb)
connectSignalFunPtr obj "tag-removed" cb' after
type instance AttributeList TextTagTable = TextTagTableAttributeList
type TextTagTableAttributeList = ('[ ] :: [(Symbol, *)])
data TextTagTableTagAddedSignalInfo
instance SignalInfo TextTagTableTagAddedSignalInfo where
type HaskellCallbackType TextTagTableTagAddedSignalInfo = TextTagTableTagAddedCallback
connectSignal _ = connectTextTagTableTagAdded
data TextTagTableTagChangedSignalInfo
instance SignalInfo TextTagTableTagChangedSignalInfo where
type HaskellCallbackType TextTagTableTagChangedSignalInfo = TextTagTableTagChangedCallback
connectSignal _ = connectTextTagTableTagChanged
data TextTagTableTagRemovedSignalInfo
instance SignalInfo TextTagTableTagRemovedSignalInfo where
type HaskellCallbackType TextTagTableTagRemovedSignalInfo = TextTagTableTagRemovedCallback
connectSignal _ = connectTextTagTableTagRemoved
type instance SignalList TextTagTable = TextTagTableSignalList
type TextTagTableSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("tag-added", TextTagTableTagAddedSignalInfo), '("tag-changed", TextTagTableTagChangedSignalInfo), '("tag-removed", TextTagTableTagRemovedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method TextTagTable::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "TextTagTable"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_new" gtk_text_tag_table_new ::
IO (Ptr TextTagTable)
textTagTableNew ::
(MonadIO m) =>
m TextTagTable
textTagTableNew = liftIO $ do
result <- gtk_text_tag_table_new
checkUnexpectedReturnNULL "gtk_text_tag_table_new" result
result' <- (wrapObject TextTagTable) result
return result'
-- method TextTagTable::add
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TInterface "Gtk" "TextTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TInterface "Gtk" "TextTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_add" gtk_text_tag_table_add ::
Ptr TextTagTable -> -- _obj : TInterface "Gtk" "TextTagTable"
Ptr TextTag -> -- tag : TInterface "Gtk" "TextTag"
IO CInt
textTagTableAdd ::
(MonadIO m, TextTagTableK a, TextTagK b) =>
a -> -- _obj
b -> -- tag
m Bool
textTagTableAdd _obj tag = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let tag' = unsafeManagedPtrCastPtr tag
result <- gtk_text_tag_table_add _obj' tag'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr tag
return result'
-- method TextTagTable::foreach
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Gtk" "TextTagTableForeach", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Gtk" "TextTagTableForeach", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_foreach" gtk_text_tag_table_foreach ::
Ptr TextTagTable -> -- _obj : TInterface "Gtk" "TextTagTable"
FunPtr TextTagTableForeachC -> -- func : TInterface "Gtk" "TextTagTableForeach"
Ptr () -> -- data : TBasicType TVoid
IO ()
textTagTableForeach ::
(MonadIO m, TextTagTableK a) =>
a -> -- _obj
TextTagTableForeach -> -- func
m ()
textTagTableForeach _obj func = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
func' <- mkTextTagTableForeach (textTagTableForeachWrapper Nothing func)
let data_ = nullPtr
gtk_text_tag_table_foreach _obj' func' data_
safeFreeFunPtr $ castFunPtrToPtr func'
touchManagedPtr _obj
return ()
-- method TextTagTable::get_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_get_size" gtk_text_tag_table_get_size ::
Ptr TextTagTable -> -- _obj : TInterface "Gtk" "TextTagTable"
IO Int32
textTagTableGetSize ::
(MonadIO m, TextTagTableK a) =>
a -> -- _obj
m Int32
textTagTableGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_text_tag_table_get_size _obj'
touchManagedPtr _obj
return result
-- method TextTagTable::lookup
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "TextTag"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_lookup" gtk_text_tag_table_lookup ::
Ptr TextTagTable -> -- _obj : TInterface "Gtk" "TextTagTable"
CString -> -- name : TBasicType TUTF8
IO (Ptr TextTag)
textTagTableLookup ::
(MonadIO m, TextTagTableK a) =>
a -> -- _obj
T.Text -> -- name
m TextTag
textTagTableLookup _obj name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
name' <- textToCString name
result <- gtk_text_tag_table_lookup _obj' name'
checkUnexpectedReturnNULL "gtk_text_tag_table_lookup" result
result' <- (newObject TextTag) result
touchManagedPtr _obj
freeMem name'
return result'
-- method TextTagTable::remove
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TInterface "Gtk" "TextTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TextTagTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TInterface "Gtk" "TextTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_text_tag_table_remove" gtk_text_tag_table_remove ::
Ptr TextTagTable -> -- _obj : TInterface "Gtk" "TextTagTable"
Ptr TextTag -> -- tag : TInterface "Gtk" "TextTag"
IO ()
textTagTableRemove ::
(MonadIO m, TextTagTableK a, TextTagK b) =>
a -> -- _obj
b -> -- tag
m ()
textTagTableRemove _obj tag = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let tag' = unsafeManagedPtrCastPtr tag
gtk_text_tag_table_remove _obj' tag'
touchManagedPtr _obj
touchManagedPtr tag
return ()