gi-gio-0.2.44.12: GI/Gio/Objects/ListStore.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.Gio.Objects.ListStore
(
-- * Exported types
ListStore(..) ,
ListStoreK ,
toListStore ,
noListStore ,
-- * Methods
-- ** listStoreAppend
listStoreAppend ,
-- ** listStoreInsert
listStoreInsert ,
-- ** listStoreNew
listStoreNew ,
-- ** listStoreRemove
listStoreRemove ,
-- ** listStoreRemoveAll
listStoreRemoveAll ,
-- * Properties
-- ** ItemType
ListStoreItemTypePropertyInfo ,
constructListStoreItemType ,
getListStoreItemType ,
) 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.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype ListStore = ListStore (ForeignPtr ListStore)
foreign import ccall "g_list_store_get_type"
c_g_list_store_get_type :: IO GType
type instance ParentTypes ListStore = ListStoreParentTypes
type ListStoreParentTypes = '[GObject.Object, ListModel]
instance GObject ListStore where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_list_store_get_type
class GObject o => ListStoreK o
instance (GObject o, IsDescendantOf ListStore o) => ListStoreK o
toListStore :: ListStoreK o => o -> IO ListStore
toListStore = unsafeCastTo ListStore
noListStore :: Maybe ListStore
noListStore = Nothing
-- VVV Prop "item-type"
-- Type: TBasicType TGType
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getListStoreItemType :: (MonadIO m, ListStoreK o) => o -> m GType
getListStoreItemType obj = liftIO $ getObjectPropertyGType obj "item-type"
constructListStoreItemType :: GType -> IO ([Char], GValue)
constructListStoreItemType val = constructObjectPropertyGType "item-type" val
data ListStoreItemTypePropertyInfo
instance AttrInfo ListStoreItemTypePropertyInfo where
type AttrAllowedOps ListStoreItemTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ListStoreItemTypePropertyInfo = (~) GType
type AttrBaseTypeConstraint ListStoreItemTypePropertyInfo = ListStoreK
type AttrGetType ListStoreItemTypePropertyInfo = GType
type AttrLabel ListStoreItemTypePropertyInfo = "ListStore::item-type"
attrGet _ = getListStoreItemType
attrSet _ = undefined
attrConstruct _ = constructListStoreItemType
type instance AttributeList ListStore = ListStoreAttributeList
type ListStoreAttributeList = ('[ '("item-type", ListStoreItemTypePropertyInfo)] :: [(Symbol, *)])
type instance SignalList ListStore = ListStoreSignalList
type ListStoreSignalList = ('[ '("items-changed", ListModelItemsChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method ListStore::new
-- method type : Constructor
-- Args : [Arg {argName = "item_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "item_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "ListStore"
-- throws : False
-- Skip return : False
foreign import ccall "g_list_store_new" g_list_store_new ::
CGType -> -- item_type : TBasicType TGType
IO (Ptr ListStore)
listStoreNew ::
(MonadIO m) =>
GType -> -- item_type
m ListStore
listStoreNew item_type = liftIO $ do
let item_type' = gtypeToCGType item_type
result <- g_list_store_new item_type'
checkUnexpectedReturnNULL "g_list_store_new" result
result' <- (wrapObject ListStore) result
return result'
-- method ListStore::append
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_list_store_append" g_list_store_append ::
Ptr ListStore -> -- _obj : TInterface "Gio" "ListStore"
Ptr () -> -- item : TBasicType TVoid
IO ()
listStoreAppend ::
(MonadIO m, ListStoreK a) =>
a -> -- _obj
Ptr () -> -- item
m ()
listStoreAppend _obj item = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_list_store_append _obj' item
touchManagedPtr _obj
return ()
-- method ListStore::insert
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_list_store_insert" g_list_store_insert ::
Ptr ListStore -> -- _obj : TInterface "Gio" "ListStore"
Word32 -> -- position : TBasicType TUInt32
Ptr () -> -- item : TBasicType TVoid
IO ()
listStoreInsert ::
(MonadIO m, ListStoreK a) =>
a -> -- _obj
Word32 -> -- position
Ptr () -> -- item
m ()
listStoreInsert _obj position item = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_list_store_insert _obj' position item
touchManagedPtr _obj
return ()
-- method ListStore::remove
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", 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 "g_list_store_remove" g_list_store_remove ::
Ptr ListStore -> -- _obj : TInterface "Gio" "ListStore"
Word32 -> -- position : TBasicType TUInt32
IO ()
listStoreRemove ::
(MonadIO m, ListStoreK a) =>
a -> -- _obj
Word32 -> -- position
m ()
listStoreRemove _obj position = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_list_store_remove _obj' position
touchManagedPtr _obj
return ()
-- method ListStore::remove_all
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "ListStore", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_list_store_remove_all" g_list_store_remove_all ::
Ptr ListStore -> -- _obj : TInterface "Gio" "ListStore"
IO ()
listStoreRemoveAll ::
(MonadIO m, ListStoreK a) =>
a -> -- _obj
m ()
listStoreRemoveAll _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_list_store_remove_all _obj'
touchManagedPtr _obj
return ()