module GI.Gio.Objects.Emblem
(
Emblem(..) ,
EmblemK ,
toEmblem ,
noEmblem ,
emblemGetIcon ,
emblemGetOrigin ,
emblemNew ,
emblemNewWithOrigin ,
EmblemIconPropertyInfo ,
constructEmblemIcon ,
getEmblemIcon ,
EmblemOriginPropertyInfo ,
constructEmblemOrigin ,
getEmblemOrigin ,
) 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 Emblem = Emblem (ForeignPtr Emblem)
foreign import ccall "g_emblem_get_type"
c_g_emblem_get_type :: IO GType
type instance ParentTypes Emblem = EmblemParentTypes
type EmblemParentTypes = '[GObject.Object, Icon]
instance GObject Emblem where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_emblem_get_type
class GObject o => EmblemK o
instance (GObject o, IsDescendantOf Emblem o) => EmblemK o
toEmblem :: EmblemK o => o -> IO Emblem
toEmblem = unsafeCastTo Emblem
noEmblem :: Maybe Emblem
noEmblem = Nothing
getEmblemIcon :: (MonadIO m, EmblemK o) => o -> m GObject.Object
getEmblemIcon obj = liftIO $ getObjectPropertyObject obj "icon" GObject.Object
constructEmblemIcon :: (GObject.ObjectK a) => a -> IO ([Char], GValue)
constructEmblemIcon val = constructObjectPropertyObject "icon" val
data EmblemIconPropertyInfo
instance AttrInfo EmblemIconPropertyInfo where
type AttrAllowedOps EmblemIconPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint EmblemIconPropertyInfo = GObject.ObjectK
type AttrBaseTypeConstraint EmblemIconPropertyInfo = EmblemK
type AttrGetType EmblemIconPropertyInfo = GObject.Object
type AttrLabel EmblemIconPropertyInfo = "Emblem::icon"
attrGet _ = getEmblemIcon
attrSet _ = undefined
attrConstruct _ = constructEmblemIcon
getEmblemOrigin :: (MonadIO m, EmblemK o) => o -> m EmblemOrigin
getEmblemOrigin obj = liftIO $ getObjectPropertyEnum obj "origin"
constructEmblemOrigin :: EmblemOrigin -> IO ([Char], GValue)
constructEmblemOrigin val = constructObjectPropertyEnum "origin" val
data EmblemOriginPropertyInfo
instance AttrInfo EmblemOriginPropertyInfo where
type AttrAllowedOps EmblemOriginPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint EmblemOriginPropertyInfo = (~) EmblemOrigin
type AttrBaseTypeConstraint EmblemOriginPropertyInfo = EmblemK
type AttrGetType EmblemOriginPropertyInfo = EmblemOrigin
type AttrLabel EmblemOriginPropertyInfo = "Emblem::origin"
attrGet _ = getEmblemOrigin
attrSet _ = undefined
attrConstruct _ = constructEmblemOrigin
type instance AttributeList Emblem = EmblemAttributeList
type EmblemAttributeList = ('[ '("icon", EmblemIconPropertyInfo), '("origin", EmblemOriginPropertyInfo)] :: [(Symbol, *)])
type instance SignalList Emblem = EmblemSignalList
type EmblemSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_emblem_new" g_emblem_new ::
Ptr Icon ->
IO (Ptr Emblem)
emblemNew ::
(MonadIO m, IconK a) =>
a ->
m Emblem
emblemNew icon = liftIO $ do
let icon' = unsafeManagedPtrCastPtr icon
result <- g_emblem_new icon'
checkUnexpectedReturnNULL "g_emblem_new" result
result' <- (wrapObject Emblem) result
touchManagedPtr icon
return result'
foreign import ccall "g_emblem_new_with_origin" g_emblem_new_with_origin ::
Ptr Icon ->
CUInt ->
IO (Ptr Emblem)
emblemNewWithOrigin ::
(MonadIO m, IconK a) =>
a ->
EmblemOrigin ->
m Emblem
emblemNewWithOrigin icon origin = liftIO $ do
let icon' = unsafeManagedPtrCastPtr icon
let origin' = (fromIntegral . fromEnum) origin
result <- g_emblem_new_with_origin icon' origin'
checkUnexpectedReturnNULL "g_emblem_new_with_origin" result
result' <- (wrapObject Emblem) result
touchManagedPtr icon
return result'
foreign import ccall "g_emblem_get_icon" g_emblem_get_icon ::
Ptr Emblem ->
IO (Ptr Icon)
emblemGetIcon ::
(MonadIO m, EmblemK a) =>
a ->
m Icon
emblemGetIcon _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_emblem_get_icon _obj'
checkUnexpectedReturnNULL "g_emblem_get_icon" result
result' <- (newObject Icon) result
touchManagedPtr _obj
return result'
foreign import ccall "g_emblem_get_origin" g_emblem_get_origin ::
Ptr Emblem ->
IO CUInt
emblemGetOrigin ::
(MonadIO m, EmblemK a) =>
a ->
m EmblemOrigin
emblemGetOrigin _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_emblem_get_origin _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'