gi-gio-0.2.44.12: GI/Gio/Objects/PropertyAction.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.PropertyAction
(
-- * Exported types
PropertyAction(..) ,
PropertyActionK ,
toPropertyAction ,
noPropertyAction ,
-- * Methods
-- ** propertyActionNew
propertyActionNew ,
-- * Properties
-- ** Enabled
PropertyActionEnabledPropertyInfo ,
getPropertyActionEnabled ,
-- ** Name
PropertyActionNamePropertyInfo ,
constructPropertyActionName ,
getPropertyActionName ,
-- ** Object
PropertyActionObjectPropertyInfo ,
constructPropertyActionObject ,
-- ** ParameterType
PropertyActionParameterTypePropertyInfo ,
getPropertyActionParameterType ,
-- ** PropertyName
PropertyActionPropertyNamePropertyInfo ,
constructPropertyActionPropertyName ,
-- ** State
PropertyActionStatePropertyInfo ,
getPropertyActionState ,
-- ** StateType
PropertyActionStateTypePropertyInfo ,
getPropertyActionStateType ,
) 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.GLib as GLib
import qualified GI.GObject as GObject
newtype PropertyAction = PropertyAction (ForeignPtr PropertyAction)
foreign import ccall "g_property_action_get_type"
c_g_property_action_get_type :: IO GType
type instance ParentTypes PropertyAction = PropertyActionParentTypes
type PropertyActionParentTypes = '[GObject.Object, Action]
instance GObject PropertyAction where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_property_action_get_type
class GObject o => PropertyActionK o
instance (GObject o, IsDescendantOf PropertyAction o) => PropertyActionK o
toPropertyAction :: PropertyActionK o => o -> IO PropertyAction
toPropertyAction = unsafeCastTo PropertyAction
noPropertyAction :: Maybe PropertyAction
noPropertyAction = Nothing
--- XXX Duplicated object with different types:
--- Name {namespace = "Gio", name = "PropertyAction"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable,PropertyWritable,PropertyConstructOnly], propTransfer = TransferNothing, propDeprecated = Nothing}
--- Name {namespace = "Gio", name = "Action"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable], propTransfer = TransferNothing, propDeprecated = Nothing}
-- VVV Prop "enabled"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable]
getPropertyActionEnabled :: (MonadIO m, PropertyActionK o) => o -> m Bool
getPropertyActionEnabled obj = liftIO $ getObjectPropertyBool obj "enabled"
data PropertyActionEnabledPropertyInfo
instance AttrInfo PropertyActionEnabledPropertyInfo where
type AttrAllowedOps PropertyActionEnabledPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint PropertyActionEnabledPropertyInfo = (~) ()
type AttrBaseTypeConstraint PropertyActionEnabledPropertyInfo = PropertyActionK
type AttrGetType PropertyActionEnabledPropertyInfo = Bool
type AttrLabel PropertyActionEnabledPropertyInfo = "PropertyAction::enabled"
attrGet _ = getPropertyActionEnabled
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "name"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getPropertyActionName :: (MonadIO m, PropertyActionK o) => o -> m T.Text
getPropertyActionName obj = liftIO $ getObjectPropertyString obj "name"
constructPropertyActionName :: T.Text -> IO ([Char], GValue)
constructPropertyActionName val = constructObjectPropertyString "name" val
data PropertyActionNamePropertyInfo
instance AttrInfo PropertyActionNamePropertyInfo where
type AttrAllowedOps PropertyActionNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PropertyActionNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint PropertyActionNamePropertyInfo = PropertyActionK
type AttrGetType PropertyActionNamePropertyInfo = T.Text
type AttrLabel PropertyActionNamePropertyInfo = "PropertyAction::name"
attrGet _ = getPropertyActionName
attrSet _ = undefined
attrConstruct _ = constructPropertyActionName
-- VVV Prop "object"
-- Type: TInterface "GObject" "Object"
-- Flags: [PropertyWritable,PropertyConstructOnly]
constructPropertyActionObject :: (GObject.ObjectK a) => a -> IO ([Char], GValue)
constructPropertyActionObject val = constructObjectPropertyObject "object" val
data PropertyActionObjectPropertyInfo
instance AttrInfo PropertyActionObjectPropertyInfo where
type AttrAllowedOps PropertyActionObjectPropertyInfo = '[ 'AttrConstruct]
type AttrSetTypeConstraint PropertyActionObjectPropertyInfo = GObject.ObjectK
type AttrBaseTypeConstraint PropertyActionObjectPropertyInfo = PropertyActionK
type AttrGetType PropertyActionObjectPropertyInfo = ()
type AttrLabel PropertyActionObjectPropertyInfo = "PropertyAction::object"
attrGet _ = undefined
attrSet _ = undefined
attrConstruct _ = constructPropertyActionObject
-- VVV Prop "parameter-type"
-- Type: TInterface "GLib" "VariantType"
-- Flags: [PropertyReadable]
getPropertyActionParameterType :: (MonadIO m, PropertyActionK o) => o -> m GLib.VariantType
getPropertyActionParameterType obj = liftIO $ getObjectPropertyBoxed obj "parameter-type" GLib.VariantType
data PropertyActionParameterTypePropertyInfo
instance AttrInfo PropertyActionParameterTypePropertyInfo where
type AttrAllowedOps PropertyActionParameterTypePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint PropertyActionParameterTypePropertyInfo = (~) ()
type AttrBaseTypeConstraint PropertyActionParameterTypePropertyInfo = PropertyActionK
type AttrGetType PropertyActionParameterTypePropertyInfo = GLib.VariantType
type AttrLabel PropertyActionParameterTypePropertyInfo = "PropertyAction::parameter-type"
attrGet _ = getPropertyActionParameterType
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "property-name"
-- Type: TBasicType TUTF8
-- Flags: [PropertyWritable,PropertyConstructOnly]
constructPropertyActionPropertyName :: T.Text -> IO ([Char], GValue)
constructPropertyActionPropertyName val = constructObjectPropertyString "property-name" val
data PropertyActionPropertyNamePropertyInfo
instance AttrInfo PropertyActionPropertyNamePropertyInfo where
type AttrAllowedOps PropertyActionPropertyNamePropertyInfo = '[ 'AttrConstruct]
type AttrSetTypeConstraint PropertyActionPropertyNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint PropertyActionPropertyNamePropertyInfo = PropertyActionK
type AttrGetType PropertyActionPropertyNamePropertyInfo = ()
type AttrLabel PropertyActionPropertyNamePropertyInfo = "PropertyAction::property-name"
attrGet _ = undefined
attrSet _ = undefined
attrConstruct _ = constructPropertyActionPropertyName
-- VVV Prop "state"
-- Type: TVariant
-- Flags: [PropertyReadable]
getPropertyActionState :: (MonadIO m, PropertyActionK o) => o -> m GVariant
getPropertyActionState obj = liftIO $ getObjectPropertyVariant obj "state"
data PropertyActionStatePropertyInfo
instance AttrInfo PropertyActionStatePropertyInfo where
type AttrAllowedOps PropertyActionStatePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint PropertyActionStatePropertyInfo = (~) ()
type AttrBaseTypeConstraint PropertyActionStatePropertyInfo = PropertyActionK
type AttrGetType PropertyActionStatePropertyInfo = GVariant
type AttrLabel PropertyActionStatePropertyInfo = "PropertyAction::state"
attrGet _ = getPropertyActionState
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "state-type"
-- Type: TInterface "GLib" "VariantType"
-- Flags: [PropertyReadable]
getPropertyActionStateType :: (MonadIO m, PropertyActionK o) => o -> m GLib.VariantType
getPropertyActionStateType obj = liftIO $ getObjectPropertyBoxed obj "state-type" GLib.VariantType
data PropertyActionStateTypePropertyInfo
instance AttrInfo PropertyActionStateTypePropertyInfo where
type AttrAllowedOps PropertyActionStateTypePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint PropertyActionStateTypePropertyInfo = (~) ()
type AttrBaseTypeConstraint PropertyActionStateTypePropertyInfo = PropertyActionK
type AttrGetType PropertyActionStateTypePropertyInfo = GLib.VariantType
type AttrLabel PropertyActionStateTypePropertyInfo = "PropertyAction::state-type"
attrGet _ = getPropertyActionStateType
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList PropertyAction = PropertyActionAttributeList
type PropertyActionAttributeList = ('[ '("enabled", PropertyActionEnabledPropertyInfo), '("object", PropertyActionObjectPropertyInfo), '("parameter-type", PropertyActionParameterTypePropertyInfo), '("property-name", PropertyActionPropertyNamePropertyInfo), '("state", PropertyActionStatePropertyInfo), '("state-type", PropertyActionStateTypePropertyInfo)] :: [(Symbol, *)])
type instance SignalList PropertyAction = PropertyActionSignalList
type PropertyActionSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method PropertyAction::new
-- method type : Constructor
-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "PropertyAction"
-- throws : False
-- Skip return : False
foreign import ccall "g_property_action_new" g_property_action_new ::
CString -> -- name : TBasicType TUTF8
Ptr GObject.Object -> -- object : TInterface "GObject" "Object"
CString -> -- property_name : TBasicType TUTF8
IO (Ptr PropertyAction)
propertyActionNew ::
(MonadIO m, GObject.ObjectK a) =>
T.Text -> -- name
a -> -- object
T.Text -> -- property_name
m PropertyAction
propertyActionNew name object property_name = liftIO $ do
name' <- textToCString name
let object' = unsafeManagedPtrCastPtr object
property_name' <- textToCString property_name
result <- g_property_action_new name' object' property_name'
checkUnexpectedReturnNULL "g_property_action_new" result
result' <- (wrapObject PropertyAction) result
touchManagedPtr object
freeMem name'
freeMem property_name'
return result'