{-# LINE 2 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
module Graphics.UI.Gtk.Misc.Switch (
Switch
, castToSwitch
, gTypeSwitch
, toSwitch
, switchNew
, switchSetActive
, switchGetActive
, switchActive
, switchActivate
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 83 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 84 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
{-# LINE 86 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
switchNew :: IO Switch
switchNew =
makeNewObject mkSwitch $
liftM (castPtr :: Ptr Widget -> Ptr Switch) $
gtk_switch_new
{-# LINE 97 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
switchSetActive :: SwitchClass self => self
-> Bool
-> IO ()
switchSetActive self is_active =
(\(Switch arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_switch_set_active argPtr1 arg2)
{-# LINE 108 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
(toSwitch self)
(fromBool is_active)
switchGetActive :: SwitchClass self => self
-> IO Bool
switchGetActive self =
liftM toBool $
(\(Switch arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_switch_get_active argPtr1)
{-# LINE 117 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
(toSwitch self)
{-# LINE 144 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
switchActive :: SwitchClass self => Attr self Bool
switchActive = newAttr
switchGetActive
switchSetActive
{-# LINE 167 "./Graphics/UI/Gtk/Misc/Switch.chs" #-}
switchActivate :: SwitchClass self => Signal self (IO ())
switchActivate = Signal (connect_NONE__NONE "activate")
foreign import ccall unsafe "gtk_switch_new"
gtk_switch_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_switch_set_active"
gtk_switch_set_active :: ((Ptr Switch) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_switch_get_active"
gtk_switch_get_active :: ((Ptr Switch) -> (IO CInt))