module GI.Gtk.Objects.ToggleAction
(
ToggleAction(..) ,
ToggleActionK ,
toToggleAction ,
noToggleAction ,
toggleActionGetActive ,
toggleActionGetDrawAsRadio ,
toggleActionNew ,
toggleActionSetActive ,
toggleActionSetDrawAsRadio ,
toggleActionToggled ,
ToggleActionActivePropertyInfo ,
constructToggleActionActive ,
getToggleActionActive ,
setToggleActionActive ,
ToggleActionDrawAsRadioPropertyInfo ,
constructToggleActionDrawAsRadio ,
getToggleActionDrawAsRadio ,
setToggleActionDrawAsRadio ,
ToggleActionToggledCallback ,
ToggleActionToggledCallbackC ,
ToggleActionToggledSignalInfo ,
afterToggleActionToggled ,
mkToggleActionToggledCallback ,
noToggleActionToggledCallback ,
onToggleActionToggled ,
toggleActionToggledCallbackWrapper ,
toggleActionToggledClosure ,
) 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 ToggleAction = ToggleAction (ForeignPtr ToggleAction)
foreign import ccall "gtk_toggle_action_get_type"
c_gtk_toggle_action_get_type :: IO GType
type instance ParentTypes ToggleAction = ToggleActionParentTypes
type ToggleActionParentTypes = '[Action, GObject.Object, Buildable]
instance GObject ToggleAction where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_toggle_action_get_type
class GObject o => ToggleActionK o
instance (GObject o, IsDescendantOf ToggleAction o) => ToggleActionK o
toToggleAction :: ToggleActionK o => o -> IO ToggleAction
toToggleAction = unsafeCastTo ToggleAction
noToggleAction :: Maybe ToggleAction
noToggleAction = Nothing
type ToggleActionToggledCallback =
IO ()
noToggleActionToggledCallback :: Maybe ToggleActionToggledCallback
noToggleActionToggledCallback = Nothing
type ToggleActionToggledCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkToggleActionToggledCallback :: ToggleActionToggledCallbackC -> IO (FunPtr ToggleActionToggledCallbackC)
toggleActionToggledClosure :: ToggleActionToggledCallback -> IO Closure
toggleActionToggledClosure cb = newCClosure =<< mkToggleActionToggledCallback wrapped
where wrapped = toggleActionToggledCallbackWrapper cb
toggleActionToggledCallbackWrapper ::
ToggleActionToggledCallback ->
Ptr () ->
Ptr () ->
IO ()
toggleActionToggledCallbackWrapper _cb _ _ = do
_cb
onToggleActionToggled :: (GObject a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
onToggleActionToggled obj cb = liftIO $ connectToggleActionToggled obj cb SignalConnectBefore
afterToggleActionToggled :: (GObject a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
afterToggleActionToggled obj cb = connectToggleActionToggled obj cb SignalConnectAfter
connectToggleActionToggled :: (GObject a, MonadIO m) =>
a -> ToggleActionToggledCallback -> SignalConnectMode -> m SignalHandlerId
connectToggleActionToggled obj cb after = liftIO $ do
cb' <- mkToggleActionToggledCallback (toggleActionToggledCallbackWrapper cb)
connectSignalFunPtr obj "toggled" cb' after
getToggleActionActive :: (MonadIO m, ToggleActionK o) => o -> m Bool
getToggleActionActive obj = liftIO $ getObjectPropertyBool obj "active"
setToggleActionActive :: (MonadIO m, ToggleActionK o) => o -> Bool -> m ()
setToggleActionActive obj val = liftIO $ setObjectPropertyBool obj "active" val
constructToggleActionActive :: Bool -> IO ([Char], GValue)
constructToggleActionActive val = constructObjectPropertyBool "active" val
data ToggleActionActivePropertyInfo
instance AttrInfo ToggleActionActivePropertyInfo where
type AttrAllowedOps ToggleActionActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ToggleActionActivePropertyInfo = (~) Bool
type AttrBaseTypeConstraint ToggleActionActivePropertyInfo = ToggleActionK
type AttrGetType ToggleActionActivePropertyInfo = Bool
type AttrLabel ToggleActionActivePropertyInfo = "ToggleAction::active"
attrGet _ = getToggleActionActive
attrSet _ = setToggleActionActive
attrConstruct _ = constructToggleActionActive
getToggleActionDrawAsRadio :: (MonadIO m, ToggleActionK o) => o -> m Bool
getToggleActionDrawAsRadio obj = liftIO $ getObjectPropertyBool obj "draw-as-radio"
setToggleActionDrawAsRadio :: (MonadIO m, ToggleActionK o) => o -> Bool -> m ()
setToggleActionDrawAsRadio obj val = liftIO $ setObjectPropertyBool obj "draw-as-radio" val
constructToggleActionDrawAsRadio :: Bool -> IO ([Char], GValue)
constructToggleActionDrawAsRadio val = constructObjectPropertyBool "draw-as-radio" val
data ToggleActionDrawAsRadioPropertyInfo
instance AttrInfo ToggleActionDrawAsRadioPropertyInfo where
type AttrAllowedOps ToggleActionDrawAsRadioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ToggleActionDrawAsRadioPropertyInfo = (~) Bool
type AttrBaseTypeConstraint ToggleActionDrawAsRadioPropertyInfo = ToggleActionK
type AttrGetType ToggleActionDrawAsRadioPropertyInfo = Bool
type AttrLabel ToggleActionDrawAsRadioPropertyInfo = "ToggleAction::draw-as-radio"
attrGet _ = getToggleActionDrawAsRadio
attrSet _ = setToggleActionDrawAsRadio
attrConstruct _ = constructToggleActionDrawAsRadio
type instance AttributeList ToggleAction = ToggleActionAttributeList
type ToggleActionAttributeList = ('[ '("action-group", ActionActionGroupPropertyInfo), '("active", ToggleActionActivePropertyInfo), '("always-show-image", ActionAlwaysShowImagePropertyInfo), '("draw-as-radio", ToggleActionDrawAsRadioPropertyInfo), '("gicon", ActionGiconPropertyInfo), '("hide-if-empty", ActionHideIfEmptyPropertyInfo), '("icon-name", ActionIconNamePropertyInfo), '("is-important", ActionIsImportantPropertyInfo), '("label", ActionLabelPropertyInfo), '("name", ActionNamePropertyInfo), '("sensitive", ActionSensitivePropertyInfo), '("short-label", ActionShortLabelPropertyInfo), '("stock-id", ActionStockIdPropertyInfo), '("tooltip", ActionTooltipPropertyInfo), '("visible", ActionVisiblePropertyInfo), '("visible-horizontal", ActionVisibleHorizontalPropertyInfo), '("visible-overflown", ActionVisibleOverflownPropertyInfo), '("visible-vertical", ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
data ToggleActionToggledSignalInfo
instance SignalInfo ToggleActionToggledSignalInfo where
type HaskellCallbackType ToggleActionToggledSignalInfo = ToggleActionToggledCallback
connectSignal _ = connectToggleActionToggled
type instance SignalList ToggleAction = ToggleActionSignalList
type ToggleActionSignalList = ('[ '("activate", ActionActivateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("toggled", ToggleActionToggledSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_toggle_action_new" gtk_toggle_action_new ::
CString ->
CString ->
CString ->
CString ->
IO (Ptr ToggleAction)
toggleActionNew ::
(MonadIO m) =>
T.Text ->
Maybe (T.Text) ->
Maybe (T.Text) ->
Maybe (T.Text) ->
m ToggleAction
toggleActionNew name label tooltip stock_id = liftIO $ do
name' <- textToCString name
maybeLabel <- case label of
Nothing -> return nullPtr
Just jLabel -> do
jLabel' <- textToCString jLabel
return jLabel'
maybeTooltip <- case tooltip of
Nothing -> return nullPtr
Just jTooltip -> do
jTooltip' <- textToCString jTooltip
return jTooltip'
maybeStock_id <- case stock_id of
Nothing -> return nullPtr
Just jStock_id -> do
jStock_id' <- textToCString jStock_id
return jStock_id'
result <- gtk_toggle_action_new name' maybeLabel maybeTooltip maybeStock_id
checkUnexpectedReturnNULL "gtk_toggle_action_new" result
result' <- (wrapObject ToggleAction) result
freeMem name'
freeMem maybeLabel
freeMem maybeTooltip
freeMem maybeStock_id
return result'
foreign import ccall "gtk_toggle_action_get_active" gtk_toggle_action_get_active ::
Ptr ToggleAction ->
IO CInt
toggleActionGetActive ::
(MonadIO m, ToggleActionK a) =>
a ->
m Bool
toggleActionGetActive _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_toggle_action_get_active _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_toggle_action_get_draw_as_radio" gtk_toggle_action_get_draw_as_radio ::
Ptr ToggleAction ->
IO CInt
toggleActionGetDrawAsRadio ::
(MonadIO m, ToggleActionK a) =>
a ->
m Bool
toggleActionGetDrawAsRadio _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_toggle_action_get_draw_as_radio _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_toggle_action_set_active" gtk_toggle_action_set_active ::
Ptr ToggleAction ->
CInt ->
IO ()
toggleActionSetActive ::
(MonadIO m, ToggleActionK a) =>
a ->
Bool ->
m ()
toggleActionSetActive _obj is_active = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let is_active' = (fromIntegral . fromEnum) is_active
gtk_toggle_action_set_active _obj' is_active'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_toggle_action_set_draw_as_radio" gtk_toggle_action_set_draw_as_radio ::
Ptr ToggleAction ->
CInt ->
IO ()
toggleActionSetDrawAsRadio ::
(MonadIO m, ToggleActionK a) =>
a ->
Bool ->
m ()
toggleActionSetDrawAsRadio _obj draw_as_radio = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let draw_as_radio' = (fromIntegral . fromEnum) draw_as_radio
gtk_toggle_action_set_draw_as_radio _obj' draw_as_radio'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_toggle_action_toggled" gtk_toggle_action_toggled ::
Ptr ToggleAction ->
IO ()
toggleActionToggled ::
(MonadIO m, ToggleActionK a) =>
a ->
m ()
toggleActionToggled _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_toggle_action_toggled _obj'
touchManagedPtr _obj
return ()