module GI.Gtk.Interfaces.Activatable
(
Activatable(..) ,
noActivatable ,
ActivatableK ,
toActivatable ,
activatableDoSetRelatedAction ,
activatableGetRelatedAction ,
activatableGetUseActionAppearance ,
activatableSetRelatedAction ,
activatableSetUseActionAppearance ,
activatableSyncActionProperties ,
ActivatableRelatedActionPropertyInfo ,
constructActivatableRelatedAction ,
getActivatableRelatedAction ,
setActivatableRelatedAction ,
ActivatableUseActionAppearancePropertyInfo,
constructActivatableUseActionAppearance ,
getActivatableUseActionAppearance ,
setActivatableUseActionAppearance ,
) 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.GObject as GObject
newtype Activatable = Activatable (ForeignPtr Activatable)
noActivatable :: Maybe Activatable
noActivatable = Nothing
getActivatableRelatedAction :: (MonadIO m, ActivatableK o) => o -> m Action
getActivatableRelatedAction obj = liftIO $ getObjectPropertyObject obj "related-action" Action
setActivatableRelatedAction :: (MonadIO m, ActivatableK o, ActionK a) => o -> a -> m ()
setActivatableRelatedAction obj val = liftIO $ setObjectPropertyObject obj "related-action" val
constructActivatableRelatedAction :: (ActionK a) => a -> IO ([Char], GValue)
constructActivatableRelatedAction val = constructObjectPropertyObject "related-action" val
data ActivatableRelatedActionPropertyInfo
instance AttrInfo ActivatableRelatedActionPropertyInfo where
type AttrAllowedOps ActivatableRelatedActionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ActivatableRelatedActionPropertyInfo = ActionK
type AttrBaseTypeConstraint ActivatableRelatedActionPropertyInfo = ActivatableK
type AttrGetType ActivatableRelatedActionPropertyInfo = Action
type AttrLabel ActivatableRelatedActionPropertyInfo = "Activatable::related-action"
attrGet _ = getActivatableRelatedAction
attrSet _ = setActivatableRelatedAction
attrConstruct _ = constructActivatableRelatedAction
getActivatableUseActionAppearance :: (MonadIO m, ActivatableK o) => o -> m Bool
getActivatableUseActionAppearance obj = liftIO $ getObjectPropertyBool obj "use-action-appearance"
setActivatableUseActionAppearance :: (MonadIO m, ActivatableK o) => o -> Bool -> m ()
setActivatableUseActionAppearance obj val = liftIO $ setObjectPropertyBool obj "use-action-appearance" val
constructActivatableUseActionAppearance :: Bool -> IO ([Char], GValue)
constructActivatableUseActionAppearance val = constructObjectPropertyBool "use-action-appearance" val
data ActivatableUseActionAppearancePropertyInfo
instance AttrInfo ActivatableUseActionAppearancePropertyInfo where
type AttrAllowedOps ActivatableUseActionAppearancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ActivatableUseActionAppearancePropertyInfo = (~) Bool
type AttrBaseTypeConstraint ActivatableUseActionAppearancePropertyInfo = ActivatableK
type AttrGetType ActivatableUseActionAppearancePropertyInfo = Bool
type AttrLabel ActivatableUseActionAppearancePropertyInfo = "Activatable::use-action-appearance"
attrGet _ = getActivatableUseActionAppearance
attrSet _ = setActivatableUseActionAppearance
attrConstruct _ = constructActivatableUseActionAppearance
type instance AttributeList Activatable = ActivatableAttributeList
type ActivatableAttributeList = ('[ '("related-action", ActivatableRelatedActionPropertyInfo), '("use-action-appearance", ActivatableUseActionAppearancePropertyInfo)] :: [(Symbol, *)])
type instance SignalList Activatable = ActivatableSignalList
type ActivatableSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_activatable_get_type"
c_gtk_activatable_get_type :: IO GType
type instance ParentTypes Activatable = ActivatableParentTypes
type ActivatableParentTypes = '[GObject.Object]
instance GObject Activatable where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_activatable_get_type
class GObject o => ActivatableK o
instance (GObject o, IsDescendantOf Activatable o) => ActivatableK o
toActivatable :: ActivatableK o => o -> IO Activatable
toActivatable = unsafeCastTo Activatable
foreign import ccall "gtk_activatable_do_set_related_action" gtk_activatable_do_set_related_action ::
Ptr Activatable ->
Ptr Action ->
IO ()
activatableDoSetRelatedAction ::
(MonadIO m, ActivatableK a, ActionK b) =>
a ->
b ->
m ()
activatableDoSetRelatedAction _obj action = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let action' = unsafeManagedPtrCastPtr action
gtk_activatable_do_set_related_action _obj' action'
touchManagedPtr _obj
touchManagedPtr action
return ()
foreign import ccall "gtk_activatable_get_related_action" gtk_activatable_get_related_action ::
Ptr Activatable ->
IO (Ptr Action)
activatableGetRelatedAction ::
(MonadIO m, ActivatableK a) =>
a ->
m Action
activatableGetRelatedAction _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_activatable_get_related_action _obj'
checkUnexpectedReturnNULL "gtk_activatable_get_related_action" result
result' <- (newObject Action) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_activatable_get_use_action_appearance" gtk_activatable_get_use_action_appearance ::
Ptr Activatable ->
IO CInt
activatableGetUseActionAppearance ::
(MonadIO m, ActivatableK a) =>
a ->
m Bool
activatableGetUseActionAppearance _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_activatable_get_use_action_appearance _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_activatable_set_related_action" gtk_activatable_set_related_action ::
Ptr Activatable ->
Ptr Action ->
IO ()
activatableSetRelatedAction ::
(MonadIO m, ActivatableK a, ActionK b) =>
a ->
b ->
m ()
activatableSetRelatedAction _obj action = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let action' = unsafeManagedPtrCastPtr action
gtk_activatable_set_related_action _obj' action'
touchManagedPtr _obj
touchManagedPtr action
return ()
foreign import ccall "gtk_activatable_set_use_action_appearance" gtk_activatable_set_use_action_appearance ::
Ptr Activatable ->
CInt ->
IO ()
activatableSetUseActionAppearance ::
(MonadIO m, ActivatableK a) =>
a ->
Bool ->
m ()
activatableSetUseActionAppearance _obj use_appearance = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let use_appearance' = (fromIntegral . fromEnum) use_appearance
gtk_activatable_set_use_action_appearance _obj' use_appearance'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_activatable_sync_action_properties" gtk_activatable_sync_action_properties ::
Ptr Activatable ->
Ptr Action ->
IO ()
activatableSyncActionProperties ::
(MonadIO m, ActivatableK a, ActionK b) =>
a ->
Maybe (b) ->
m ()
activatableSyncActionProperties _obj action = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeAction <- case action of
Nothing -> return nullPtr
Just jAction -> do
let jAction' = unsafeManagedPtrCastPtr jAction
return jAction'
gtk_activatable_sync_action_properties _obj' maybeAction
touchManagedPtr _obj
whenJust action touchManagedPtr
return ()