{-# LINE 2 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
module Graphics.UI.Gtk.ActionMenuToolbar.RadioAction (
RadioAction,
RadioActionClass,
castToRadioAction, gTypeRadioAction,
toRadioAction,
radioActionNew,
radioActionGetGroup,
radioActionSetGroup,
radioActionGetCurrentValue,
radioActionValueAttr,
radioActionGroup,
radioActionCurrentValue,
radioActionChanged,
onRadioActionChanged,
afterRadioActionChanged,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.GList
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Types
{-# LINE 92 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 93 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
import Graphics.UI.Gtk.General.StockItems
{-# LINE 96 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
radioActionNew :: GlibString string
=> string
-> string
-> Maybe string
-> Maybe StockId
-> Int
-> IO RadioAction
radioActionNew name label tooltip stockId value =
wrapNewGObject mkRadioAction $
maybeWith withUTFString stockId $ \stockIdPtr ->
maybeWith withUTFString tooltip $ \tooltipPtr ->
withUTFString label $ \labelPtr ->
withUTFString name $ \namePtr ->
gtk_radio_action_new
{-# LINE 122 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
namePtr
labelPtr
tooltipPtr
stockIdPtr
(fromIntegral value)
radioActionGetGroup :: RadioActionClass self => self
-> IO [RadioAction]
radioActionGetGroup self =
(\(RadioAction arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_radio_action_get_group argPtr1)
{-# LINE 137 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
(toRadioAction self)
>>= readGSList
>>= mapM (\elemPtr -> makeNewGObject mkRadioAction (return elemPtr))
radioActionSetGroup :: (RadioActionClass self, RadioActionClass groupMember) => self
-> groupMember
-> IO ()
radioActionSetGroup self group = do
groupPtr <- (\(RadioAction arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_radio_action_get_group argPtr1) (toRadioAction group)
(\(RadioAction arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_radio_action_set_group argPtr1 arg2)
{-# LINE 149 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
(toRadioAction self)
groupPtr
radioActionGetCurrentValue :: RadioActionClass self => self
-> IO Int
radioActionGetCurrentValue self =
liftM fromIntegral $
(\(RadioAction arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_radio_action_get_current_value argPtr1)
{-# LINE 160 "./Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs" #-}
(toRadioAction self)
radioActionValueAttr :: RadioActionClass self => Attr self Int
radioActionValueAttr = newAttrFromIntProperty "value"
radioActionGroup :: RadioActionClass self => ReadWriteAttr self [RadioAction] RadioAction
radioActionGroup = newAttr
radioActionGetGroup
radioActionSetGroup
radioActionCurrentValue :: RadioActionClass self => Attr self Int
radioActionCurrentValue = newAttrFromIntProperty "current-value"
radioActionChanged :: RadioActionClass self => Signal self (RadioAction -> IO ())
radioActionChanged = Signal (connect_OBJECT__NONE "changed")
onRadioActionChanged, afterRadioActionChanged :: RadioActionClass self => self
-> (RadioAction -> IO ())
-> IO (ConnectId self)
onRadioActionChanged = connect_OBJECT__NONE "changed" False
afterRadioActionChanged = connect_OBJECT__NONE "changed" True
foreign import ccall safe "gtk_radio_action_new"
gtk_radio_action_new :: ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (CInt -> (IO (Ptr RadioAction)))))))
foreign import ccall unsafe "gtk_radio_action_get_group"
gtk_radio_action_get_group :: ((Ptr RadioAction) -> (IO (Ptr ())))
foreign import ccall safe "gtk_radio_action_set_group"
gtk_radio_action_set_group :: ((Ptr RadioAction) -> ((Ptr ()) -> (IO ())))
foreign import ccall safe "gtk_radio_action_get_current_value"
gtk_radio_action_get_current_value :: ((Ptr RadioAction) -> (IO CInt))