gi-gtk-0.3.18.12: GI/Gtk/Structs/TargetList.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)
A #GtkTargetList-struct is a reference counted list
of #GtkTargetPair and should be treated as
opaque.
-}
module GI.Gtk.Structs.TargetList
(
-- * Exported types
TargetList(..) ,
noTargetList ,
-- * Methods
-- ** targetListAdd
targetListAdd ,
-- ** targetListAddImageTargets
targetListAddImageTargets ,
-- ** targetListAddRichTextTargets
targetListAddRichTextTargets ,
-- ** targetListAddTable
targetListAddTable ,
-- ** targetListAddTextTargets
targetListAddTextTargets ,
-- ** targetListAddUriTargets
targetListAddUriTargets ,
-- ** targetListFind
targetListFind ,
-- ** targetListNew
targetListNew ,
-- ** targetListRef
targetListRef ,
-- ** targetListRemove
targetListRemove ,
-- ** targetListUnref
targetListUnref ,
) 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.Gdk as Gdk
newtype TargetList = TargetList (ForeignPtr TargetList)
foreign import ccall "gtk_target_list_get_type" c_gtk_target_list_get_type ::
IO GType
instance BoxedObject TargetList where
boxedType _ = c_gtk_target_list_get_type
noTargetList :: Maybe TargetList
noTargetList = Nothing
-- method TargetList::new
-- method type : Constructor
-- Args : [Arg {argName = "targets", argType = TCArray False (-1) 1 (TInterface "Gtk" "TargetEntry"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ntargets", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "ntargets", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "targets", argType = TCArray False (-1) 1 (TInterface "Gtk" "TargetEntry"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "TargetList"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_new" gtk_target_list_new ::
Ptr TargetEntry -> -- targets : TCArray False (-1) 1 (TInterface "Gtk" "TargetEntry")
Word32 -> -- ntargets : TBasicType TUInt32
IO (Ptr TargetList)
targetListNew ::
(MonadIO m) =>
Maybe ([TargetEntry]) -> -- targets
m TargetList
targetListNew targets = liftIO $ do
let ntargets = case targets of
Nothing -> 0
Just jTargets -> fromIntegral $ length jTargets
maybeTargets <- case targets of
Nothing -> return nullPtr
Just jTargets -> do
let jTargets' = map unsafeManagedPtrGetPtr jTargets
jTargets'' <- packBlockArray 16 jTargets'
return jTargets''
result <- gtk_target_list_new maybeTargets ntargets
checkUnexpectedReturnNULL "gtk_target_list_new" result
result' <- (wrapBoxed TargetList) result
whenJust targets (mapM_ touchManagedPtr)
freeMem maybeTargets
return result'
-- method TargetList::add
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add" gtk_target_list_add ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Ptr Gdk.Atom -> -- target : TInterface "Gdk" "Atom"
Word32 -> -- flags : TBasicType TUInt32
Word32 -> -- info : TBasicType TUInt32
IO ()
targetListAdd ::
(MonadIO m) =>
TargetList -> -- _obj
Gdk.Atom -> -- target
Word32 -> -- flags
Word32 -> -- info
m ()
targetListAdd _obj target flags info = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let target' = unsafeManagedPtrGetPtr target
gtk_target_list_add _obj' target' flags info
touchManagedPtr _obj
touchManagedPtr target
return ()
-- method TargetList::add_image_targets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add_image_targets" gtk_target_list_add_image_targets ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Word32 -> -- info : TBasicType TUInt32
CInt -> -- writable : TBasicType TBoolean
IO ()
targetListAddImageTargets ::
(MonadIO m) =>
TargetList -> -- _obj
Word32 -> -- info
Bool -> -- writable
m ()
targetListAddImageTargets _obj info writable = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let writable' = (fromIntegral . fromEnum) writable
gtk_target_list_add_image_targets _obj' info writable'
touchManagedPtr _obj
return ()
-- method TargetList::add_rich_text_targets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "deserializable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Gtk" "TextBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "deserializable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Gtk" "TextBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add_rich_text_targets" gtk_target_list_add_rich_text_targets ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Word32 -> -- info : TBasicType TUInt32
CInt -> -- deserializable : TBasicType TBoolean
Ptr TextBuffer -> -- buffer : TInterface "Gtk" "TextBuffer"
IO ()
targetListAddRichTextTargets ::
(MonadIO m, TextBufferK a) =>
TargetList -> -- _obj
Word32 -> -- info
Bool -> -- deserializable
a -> -- buffer
m ()
targetListAddRichTextTargets _obj info deserializable buffer = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let deserializable' = (fromIntegral . fromEnum) deserializable
let buffer' = unsafeManagedPtrCastPtr buffer
gtk_target_list_add_rich_text_targets _obj' info deserializable' buffer'
touchManagedPtr _obj
touchManagedPtr buffer
return ()
-- method TargetList::add_table
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 2 (TInterface "Gtk" "TargetEntry"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ntargets", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "ntargets", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 2 (TInterface "Gtk" "TargetEntry"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add_table" gtk_target_list_add_table ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Ptr TargetEntry -> -- targets : TCArray False (-1) 2 (TInterface "Gtk" "TargetEntry")
Word32 -> -- ntargets : TBasicType TUInt32
IO ()
targetListAddTable ::
(MonadIO m) =>
TargetList -> -- _obj
[TargetEntry] -> -- targets
m ()
targetListAddTable _obj targets = liftIO $ do
let ntargets = fromIntegral $ length targets
let _obj' = unsafeManagedPtrGetPtr _obj
let targets' = map unsafeManagedPtrGetPtr targets
targets'' <- packBlockArray 16 targets'
gtk_target_list_add_table _obj' targets'' ntargets
touchManagedPtr _obj
mapM_ touchManagedPtr targets
freeMem targets''
return ()
-- method TargetList::add_text_targets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add_text_targets" gtk_target_list_add_text_targets ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Word32 -> -- info : TBasicType TUInt32
IO ()
targetListAddTextTargets ::
(MonadIO m) =>
TargetList -> -- _obj
Word32 -> -- info
m ()
targetListAddTextTargets _obj info = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gtk_target_list_add_text_targets _obj' info
touchManagedPtr _obj
return ()
-- method TargetList::add_uri_targets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_add_uri_targets" gtk_target_list_add_uri_targets ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Word32 -> -- info : TBasicType TUInt32
IO ()
targetListAddUriTargets ::
(MonadIO m) =>
TargetList -> -- _obj
Word32 -> -- info
m ()
targetListAddUriTargets _obj info = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gtk_target_list_add_uri_targets _obj' info
touchManagedPtr _obj
return ()
-- method TargetList::find
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_find" gtk_target_list_find ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Ptr Gdk.Atom -> -- target : TInterface "Gdk" "Atom"
Ptr Word32 -> -- info : TBasicType TUInt32
IO CInt
targetListFind ::
(MonadIO m) =>
TargetList -> -- _obj
Gdk.Atom -> -- target
m (Bool,Word32)
targetListFind _obj target = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let target' = unsafeManagedPtrGetPtr target
info <- allocMem :: IO (Ptr Word32)
result <- gtk_target_list_find _obj' target' info
let result' = (/= 0) result
info' <- peek info
touchManagedPtr _obj
touchManagedPtr target
freeMem info
return (result', info')
-- method TargetList::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "TargetList"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_ref" gtk_target_list_ref ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
IO (Ptr TargetList)
targetListRef ::
(MonadIO m) =>
TargetList -> -- _obj
m TargetList
targetListRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gtk_target_list_ref _obj'
checkUnexpectedReturnNULL "gtk_target_list_ref" result
result' <- (wrapBoxed TargetList) result
touchManagedPtr _obj
return result'
-- method TargetList::remove
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_remove" gtk_target_list_remove ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
Ptr Gdk.Atom -> -- target : TInterface "Gdk" "Atom"
IO ()
targetListRemove ::
(MonadIO m) =>
TargetList -> -- _obj
Gdk.Atom -> -- target
m ()
targetListRemove _obj target = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let target' = unsafeManagedPtrGetPtr target
gtk_target_list_remove _obj' target'
touchManagedPtr _obj
touchManagedPtr target
return ()
-- method TargetList::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "TargetList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_target_list_unref" gtk_target_list_unref ::
Ptr TargetList -> -- _obj : TInterface "Gtk" "TargetList"
IO ()
targetListUnref ::
(MonadIO m) =>
TargetList -> -- _obj
m ()
targetListUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gtk_target_list_unref _obj'
touchManagedPtr _obj
return ()