module GI.Gio.Objects.SimpleAction
(
SimpleAction(..) ,
SimpleActionK ,
toSimpleAction ,
noSimpleAction ,
simpleActionNew ,
simpleActionNewStateful ,
simpleActionSetEnabled ,
simpleActionSetState ,
simpleActionSetStateHint ,
SimpleActionEnabledPropertyInfo ,
constructSimpleActionEnabled ,
getSimpleActionEnabled ,
setSimpleActionEnabled ,
SimpleActionNamePropertyInfo ,
constructSimpleActionName ,
getSimpleActionName ,
SimpleActionParameterTypePropertyInfo ,
constructSimpleActionParameterType ,
getSimpleActionParameterType ,
SimpleActionStatePropertyInfo ,
constructSimpleActionState ,
getSimpleActionState ,
setSimpleActionState ,
SimpleActionStateTypePropertyInfo ,
getSimpleActionStateType ,
SimpleActionActivateCallback ,
SimpleActionActivateCallbackC ,
SimpleActionActivateSignalInfo ,
afterSimpleActionActivate ,
mkSimpleActionActivateCallback ,
noSimpleActionActivateCallback ,
onSimpleActionActivate ,
simpleActionActivateCallbackWrapper ,
simpleActionActivateClosure ,
SimpleActionChangeStateCallback ,
SimpleActionChangeStateCallbackC ,
SimpleActionChangeStateSignalInfo ,
afterSimpleActionChangeState ,
mkSimpleActionChangeStateCallback ,
noSimpleActionChangeStateCallback ,
onSimpleActionChangeState ,
simpleActionChangeStateCallbackWrapper ,
simpleActionChangeStateClosure ,
) 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 SimpleAction = SimpleAction (ForeignPtr SimpleAction)
foreign import ccall "g_simple_action_get_type"
c_g_simple_action_get_type :: IO GType
type instance ParentTypes SimpleAction = SimpleActionParentTypes
type SimpleActionParentTypes = '[GObject.Object, Action]
instance GObject SimpleAction where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_simple_action_get_type
class GObject o => SimpleActionK o
instance (GObject o, IsDescendantOf SimpleAction o) => SimpleActionK o
toSimpleAction :: SimpleActionK o => o -> IO SimpleAction
toSimpleAction = unsafeCastTo SimpleAction
noSimpleAction :: Maybe SimpleAction
noSimpleAction = Nothing
type SimpleActionActivateCallback =
Maybe GVariant ->
IO ()
noSimpleActionActivateCallback :: Maybe SimpleActionActivateCallback
noSimpleActionActivateCallback = Nothing
type SimpleActionActivateCallbackC =
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkSimpleActionActivateCallback :: SimpleActionActivateCallbackC -> IO (FunPtr SimpleActionActivateCallbackC)
simpleActionActivateClosure :: SimpleActionActivateCallback -> IO Closure
simpleActionActivateClosure cb = newCClosure =<< mkSimpleActionActivateCallback wrapped
where wrapped = simpleActionActivateCallbackWrapper cb
simpleActionActivateCallbackWrapper ::
SimpleActionActivateCallback ->
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
simpleActionActivateCallbackWrapper _cb _ parameter _ = do
maybeParameter <-
if parameter == nullPtr
then return Nothing
else do
parameter' <- newGVariantFromPtr parameter
return $ Just parameter'
_cb maybeParameter
onSimpleActionActivate :: (GObject a, MonadIO m) => a -> SimpleActionActivateCallback -> m SignalHandlerId
onSimpleActionActivate obj cb = liftIO $ connectSimpleActionActivate obj cb SignalConnectBefore
afterSimpleActionActivate :: (GObject a, MonadIO m) => a -> SimpleActionActivateCallback -> m SignalHandlerId
afterSimpleActionActivate obj cb = connectSimpleActionActivate obj cb SignalConnectAfter
connectSimpleActionActivate :: (GObject a, MonadIO m) =>
a -> SimpleActionActivateCallback -> SignalConnectMode -> m SignalHandlerId
connectSimpleActionActivate obj cb after = liftIO $ do
cb' <- mkSimpleActionActivateCallback (simpleActionActivateCallbackWrapper cb)
connectSignalFunPtr obj "activate" cb' after
type SimpleActionChangeStateCallback =
Maybe GVariant ->
IO ()
noSimpleActionChangeStateCallback :: Maybe SimpleActionChangeStateCallback
noSimpleActionChangeStateCallback = Nothing
type SimpleActionChangeStateCallbackC =
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkSimpleActionChangeStateCallback :: SimpleActionChangeStateCallbackC -> IO (FunPtr SimpleActionChangeStateCallbackC)
simpleActionChangeStateClosure :: SimpleActionChangeStateCallback -> IO Closure
simpleActionChangeStateClosure cb = newCClosure =<< mkSimpleActionChangeStateCallback wrapped
where wrapped = simpleActionChangeStateCallbackWrapper cb
simpleActionChangeStateCallbackWrapper ::
SimpleActionChangeStateCallback ->
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
simpleActionChangeStateCallbackWrapper _cb _ value _ = do
maybeValue <-
if value == nullPtr
then return Nothing
else do
value' <- newGVariantFromPtr value
return $ Just value'
_cb maybeValue
onSimpleActionChangeState :: (GObject a, MonadIO m) => a -> SimpleActionChangeStateCallback -> m SignalHandlerId
onSimpleActionChangeState obj cb = liftIO $ connectSimpleActionChangeState obj cb SignalConnectBefore
afterSimpleActionChangeState :: (GObject a, MonadIO m) => a -> SimpleActionChangeStateCallback -> m SignalHandlerId
afterSimpleActionChangeState obj cb = connectSimpleActionChangeState obj cb SignalConnectAfter
connectSimpleActionChangeState :: (GObject a, MonadIO m) =>
a -> SimpleActionChangeStateCallback -> SignalConnectMode -> m SignalHandlerId
connectSimpleActionChangeState obj cb after = liftIO $ do
cb' <- mkSimpleActionChangeStateCallback (simpleActionChangeStateCallbackWrapper cb)
connectSignalFunPtr obj "change-state" cb' after
getSimpleActionEnabled :: (MonadIO m, SimpleActionK o) => o -> m Bool
getSimpleActionEnabled obj = liftIO $ getObjectPropertyBool obj "enabled"
setSimpleActionEnabled :: (MonadIO m, SimpleActionK o) => o -> Bool -> m ()
setSimpleActionEnabled obj val = liftIO $ setObjectPropertyBool obj "enabled" val
constructSimpleActionEnabled :: Bool -> IO ([Char], GValue)
constructSimpleActionEnabled val = constructObjectPropertyBool "enabled" val
data SimpleActionEnabledPropertyInfo
instance AttrInfo SimpleActionEnabledPropertyInfo where
type AttrAllowedOps SimpleActionEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionEnabledPropertyInfo = (~) Bool
type AttrBaseTypeConstraint SimpleActionEnabledPropertyInfo = SimpleActionK
type AttrGetType SimpleActionEnabledPropertyInfo = Bool
type AttrLabel SimpleActionEnabledPropertyInfo = "SimpleAction::enabled"
attrGet _ = getSimpleActionEnabled
attrSet _ = setSimpleActionEnabled
attrConstruct _ = constructSimpleActionEnabled
getSimpleActionName :: (MonadIO m, SimpleActionK o) => o -> m T.Text
getSimpleActionName obj = liftIO $ getObjectPropertyString obj "name"
constructSimpleActionName :: T.Text -> IO ([Char], GValue)
constructSimpleActionName val = constructObjectPropertyString "name" val
data SimpleActionNamePropertyInfo
instance AttrInfo SimpleActionNamePropertyInfo where
type AttrAllowedOps SimpleActionNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint SimpleActionNamePropertyInfo = SimpleActionK
type AttrGetType SimpleActionNamePropertyInfo = T.Text
type AttrLabel SimpleActionNamePropertyInfo = "SimpleAction::name"
attrGet _ = getSimpleActionName
attrSet _ = undefined
attrConstruct _ = constructSimpleActionName
getSimpleActionParameterType :: (MonadIO m, SimpleActionK o) => o -> m GLib.VariantType
getSimpleActionParameterType obj = liftIO $ getObjectPropertyBoxed obj "parameter-type" GLib.VariantType
constructSimpleActionParameterType :: GLib.VariantType -> IO ([Char], GValue)
constructSimpleActionParameterType val = constructObjectPropertyBoxed "parameter-type" val
data SimpleActionParameterTypePropertyInfo
instance AttrInfo SimpleActionParameterTypePropertyInfo where
type AttrAllowedOps SimpleActionParameterTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionParameterTypePropertyInfo = (~) GLib.VariantType
type AttrBaseTypeConstraint SimpleActionParameterTypePropertyInfo = SimpleActionK
type AttrGetType SimpleActionParameterTypePropertyInfo = GLib.VariantType
type AttrLabel SimpleActionParameterTypePropertyInfo = "SimpleAction::parameter-type"
attrGet _ = getSimpleActionParameterType
attrSet _ = undefined
attrConstruct _ = constructSimpleActionParameterType
getSimpleActionState :: (MonadIO m, SimpleActionK o) => o -> m GVariant
getSimpleActionState obj = liftIO $ getObjectPropertyVariant obj "state"
setSimpleActionState :: (MonadIO m, SimpleActionK o) => o -> GVariant -> m ()
setSimpleActionState obj val = liftIO $ setObjectPropertyVariant obj "state" val
constructSimpleActionState :: GVariant -> IO ([Char], GValue)
constructSimpleActionState val = constructObjectPropertyVariant "state" val
data SimpleActionStatePropertyInfo
instance AttrInfo SimpleActionStatePropertyInfo where
type AttrAllowedOps SimpleActionStatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionStatePropertyInfo = (~) GVariant
type AttrBaseTypeConstraint SimpleActionStatePropertyInfo = SimpleActionK
type AttrGetType SimpleActionStatePropertyInfo = GVariant
type AttrLabel SimpleActionStatePropertyInfo = "SimpleAction::state"
attrGet _ = getSimpleActionState
attrSet _ = setSimpleActionState
attrConstruct _ = constructSimpleActionState
getSimpleActionStateType :: (MonadIO m, SimpleActionK o) => o -> m GLib.VariantType
getSimpleActionStateType obj = liftIO $ getObjectPropertyBoxed obj "state-type" GLib.VariantType
data SimpleActionStateTypePropertyInfo
instance AttrInfo SimpleActionStateTypePropertyInfo where
type AttrAllowedOps SimpleActionStateTypePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint SimpleActionStateTypePropertyInfo = (~) ()
type AttrBaseTypeConstraint SimpleActionStateTypePropertyInfo = SimpleActionK
type AttrGetType SimpleActionStateTypePropertyInfo = GLib.VariantType
type AttrLabel SimpleActionStateTypePropertyInfo = "SimpleAction::state-type"
attrGet _ = getSimpleActionStateType
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList SimpleAction = SimpleActionAttributeList
type SimpleActionAttributeList = ('[ '("state-type", SimpleActionStateTypePropertyInfo)] :: [(Symbol, *)])
data SimpleActionActivateSignalInfo
instance SignalInfo SimpleActionActivateSignalInfo where
type HaskellCallbackType SimpleActionActivateSignalInfo = SimpleActionActivateCallback
connectSignal _ = connectSimpleActionActivate
data SimpleActionChangeStateSignalInfo
instance SignalInfo SimpleActionChangeStateSignalInfo where
type HaskellCallbackType SimpleActionChangeStateSignalInfo = SimpleActionChangeStateCallback
connectSignal _ = connectSimpleActionChangeState
type instance SignalList SimpleAction = SimpleActionSignalList
type SimpleActionSignalList = ('[ '("activate", SimpleActionActivateSignalInfo), '("change-state", SimpleActionChangeStateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_simple_action_new" g_simple_action_new ::
CString ->
Ptr GLib.VariantType ->
IO (Ptr SimpleAction)
simpleActionNew ::
(MonadIO m) =>
T.Text ->
Maybe (GLib.VariantType) ->
m SimpleAction
simpleActionNew name parameter_type = liftIO $ do
name' <- textToCString name
maybeParameter_type <- case parameter_type of
Nothing -> return nullPtr
Just jParameter_type -> do
let jParameter_type' = unsafeManagedPtrGetPtr jParameter_type
return jParameter_type'
result <- g_simple_action_new name' maybeParameter_type
checkUnexpectedReturnNULL "g_simple_action_new" result
result' <- (wrapObject SimpleAction) result
whenJust parameter_type touchManagedPtr
freeMem name'
return result'
foreign import ccall "g_simple_action_new_stateful" g_simple_action_new_stateful ::
CString ->
Ptr GLib.VariantType ->
Ptr GVariant ->
IO (Ptr SimpleAction)
simpleActionNewStateful ::
(MonadIO m) =>
T.Text ->
Maybe (GLib.VariantType) ->
GVariant ->
m SimpleAction
simpleActionNewStateful name parameter_type state = liftIO $ do
name' <- textToCString name
maybeParameter_type <- case parameter_type of
Nothing -> return nullPtr
Just jParameter_type -> do
let jParameter_type' = unsafeManagedPtrGetPtr jParameter_type
return jParameter_type'
let state' = unsafeManagedPtrGetPtr state
result <- g_simple_action_new_stateful name' maybeParameter_type state'
checkUnexpectedReturnNULL "g_simple_action_new_stateful" result
result' <- (wrapObject SimpleAction) result
whenJust parameter_type touchManagedPtr
freeMem name'
return result'
foreign import ccall "g_simple_action_set_enabled" g_simple_action_set_enabled ::
Ptr SimpleAction ->
CInt ->
IO ()
simpleActionSetEnabled ::
(MonadIO m, SimpleActionK a) =>
a ->
Bool ->
m ()
simpleActionSetEnabled _obj enabled = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let enabled' = (fromIntegral . fromEnum) enabled
g_simple_action_set_enabled _obj' enabled'
touchManagedPtr _obj
return ()
foreign import ccall "g_simple_action_set_state" g_simple_action_set_state ::
Ptr SimpleAction ->
Ptr GVariant ->
IO ()
simpleActionSetState ::
(MonadIO m, SimpleActionK a) =>
a ->
GVariant ->
m ()
simpleActionSetState _obj value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let value' = unsafeManagedPtrGetPtr value
g_simple_action_set_state _obj' value'
touchManagedPtr _obj
return ()
foreign import ccall "g_simple_action_set_state_hint" g_simple_action_set_state_hint ::
Ptr SimpleAction ->
Ptr GVariant ->
IO ()
simpleActionSetStateHint ::
(MonadIO m, SimpleActionK a) =>
a ->
Maybe (GVariant) ->
m ()
simpleActionSetStateHint _obj state_hint = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeState_hint <- case state_hint of
Nothing -> return nullPtr
Just jState_hint -> do
let jState_hint' = unsafeManagedPtrGetPtr jState_hint
return jState_hint'
g_simple_action_set_state_hint _obj' maybeState_hint
touchManagedPtr _obj
return ()