module GI.Gtk.Objects.TextTagTable
(
TextTagTable(..) ,
TextTagTableK ,
toTextTagTable ,
noTextTagTable ,
textTagTableAdd ,
textTagTableForeach ,
textTagTableGetSize ,
textTagTableLookup ,
textTagTableNew ,
textTagTableRemove ,
TextTagTableTagAddedCallback ,
TextTagTableTagAddedCallbackC ,
TextTagTableTagAddedSignalInfo ,
afterTextTagTableTagAdded ,
mkTextTagTableTagAddedCallback ,
noTextTagTableTagAddedCallback ,
onTextTagTableTagAdded ,
textTagTableTagAddedCallbackWrapper ,
textTagTableTagAddedClosure ,
TextTagTableTagChangedCallback ,
TextTagTableTagChangedCallbackC ,
TextTagTableTagChangedSignalInfo ,
afterTextTagTableTagChanged ,
mkTextTagTableTagChangedCallback ,
noTextTagTableTagChangedCallback ,
onTextTagTableTagChanged ,
textTagTableTagChangedCallbackWrapper ,
textTagTableTagChangedClosure ,
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
type TextTagTableTagAddedCallback =
TextTag ->
IO ()
noTextTagTableTagAddedCallback :: Maybe TextTagTableTagAddedCallback
noTextTagTableTagAddedCallback = Nothing
type TextTagTableTagAddedCallbackC =
Ptr () ->
Ptr TextTag ->
Ptr () ->
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
type TextTagTableTagChangedCallback =
TextTag ->
Bool ->
IO ()
noTextTagTableTagChangedCallback :: Maybe TextTagTableTagChangedCallback
noTextTagTableTagChangedCallback = Nothing
type TextTagTableTagChangedCallbackC =
Ptr () ->
Ptr TextTag ->
CInt ->
Ptr () ->
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
type TextTagTableTagRemovedCallback =
TextTag ->
IO ()
noTextTagTableTagRemovedCallback :: Maybe TextTagTableTagRemovedCallback
noTextTagTableTagRemovedCallback = Nothing
type TextTagTableTagRemovedCallbackC =
Ptr () ->
Ptr TextTag ->
Ptr () ->
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, *)])
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'
foreign import ccall "gtk_text_tag_table_add" gtk_text_tag_table_add ::
Ptr TextTagTable ->
Ptr TextTag ->
IO CInt
textTagTableAdd ::
(MonadIO m, TextTagTableK a, TextTagK b) =>
a ->
b ->
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'
foreign import ccall "gtk_text_tag_table_foreach" gtk_text_tag_table_foreach ::
Ptr TextTagTable ->
FunPtr TextTagTableForeachC ->
Ptr () ->
IO ()
textTagTableForeach ::
(MonadIO m, TextTagTableK a) =>
a ->
TextTagTableForeach ->
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 ()
foreign import ccall "gtk_text_tag_table_get_size" gtk_text_tag_table_get_size ::
Ptr TextTagTable ->
IO Int32
textTagTableGetSize ::
(MonadIO m, TextTagTableK a) =>
a ->
m Int32
textTagTableGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_text_tag_table_get_size _obj'
touchManagedPtr _obj
return result
foreign import ccall "gtk_text_tag_table_lookup" gtk_text_tag_table_lookup ::
Ptr TextTagTable ->
CString ->
IO (Ptr TextTag)
textTagTableLookup ::
(MonadIO m, TextTagTableK a) =>
a ->
T.Text ->
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'
foreign import ccall "gtk_text_tag_table_remove" gtk_text_tag_table_remove ::
Ptr TextTagTable ->
Ptr TextTag ->
IO ()
textTagTableRemove ::
(MonadIO m, TextTagTableK a, TextTagK b) =>
a ->
b ->
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 ()