{-# LINE 2 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
module Graphics.UI.Gtk.ModelView.CellRendererToggle (
  CellRendererToggle,
  CellRendererToggleClass,
  castToCellRendererToggle, gTypeCellRendererToggle,
  toCellRendererToggle,
  cellRendererToggleNew,
  cellRendererToggleGetRadio,
  cellRendererToggleSetRadio,
  cellRendererToggleGetActive,
  cellRendererToggleSetActive,
  cellToggleActive,
  cellToggleInconsistent,
  cellToggleActivatable,
  cellToggleRadio,
  cellToggleIndicatorSize,
  cellToggled,
  onCellToggled,
  afterCellToggled
  ) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes (Attr)
import System.Glib.Properties (newAttrFromBoolProperty,
                                                 newAttrFromIntProperty)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 85 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 86 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
{-# LINE 88 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
cellRendererToggleNew :: IO CellRendererToggle
cellRendererToggleNew =
  makeNewObject mkCellRendererToggle $
  liftM (castPtr :: Ptr CellRenderer -> Ptr CellRendererToggle) $
  gtk_cell_renderer_toggle_new
{-# LINE 108 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
cellRendererToggleSetRadio :: CellRendererToggleClass self => self
 -> Bool 
 -> IO ()
cellRendererToggleSetRadio self radio =
  (\(CellRendererToggle arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_cell_renderer_toggle_set_radio argPtr1 arg2)
{-# LINE 125 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
    (toCellRendererToggle self)
    (fromBool radio)
cellRendererToggleGetRadio :: CellRendererToggleClass self => self
 -> IO Bool 
            
cellRendererToggleGetRadio self =
  liftM toBool $
  (\(CellRendererToggle arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_cell_renderer_toggle_get_radio argPtr1)
{-# LINE 137 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
    (toCellRendererToggle self)
cellRendererToggleGetActive :: CellRendererToggleClass self => self
 -> IO Bool 
cellRendererToggleGetActive self =
  liftM toBool $
  (\(CellRendererToggle arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_cell_renderer_toggle_get_active argPtr1)
{-# LINE 148 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
    (toCellRendererToggle self)
cellRendererToggleSetActive :: CellRendererToggleClass self => self
 -> Bool 
 -> IO ()
cellRendererToggleSetActive self setting =
  (\(CellRendererToggle arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_cell_renderer_toggle_set_active argPtr1 arg2)
{-# LINE 158 "./Graphics/UI/Gtk/ModelView/CellRendererToggle.chs" #-}
    (toCellRendererToggle self)
    (fromBool setting)
cellToggleActive :: CellRendererToggleClass self => Attr self Bool
cellToggleActive = newAttrFromBoolProperty "active"
cellToggleInconsistent :: CellRendererToggleClass self => Attr self Bool
cellToggleInconsistent = newAttrFromBoolProperty "inconsistent"
cellToggleActivatable :: CellRendererToggleClass self => Attr self Bool
cellToggleActivatable = newAttrFromBoolProperty "activatable"
cellToggleRadio :: CellRendererToggleClass self => Attr self Bool
cellToggleRadio = newAttrFromBoolProperty "radio"
cellToggleIndicatorSize :: CellRendererToggleClass self => Attr self Int
cellToggleIndicatorSize = newAttrFromIntProperty "indicator-size"
cellToggled :: (CellRendererToggleClass self, GlibString string) => Signal self (string -> IO ())
cellToggled = Signal (connect_GLIBSTRING__NONE "toggled")
onCellToggled :: (CellRendererToggleClass self, GlibString string) => self
 -> (string -> IO ())
 -> IO (ConnectId self)
onCellToggled = connect_GLIBSTRING__NONE "toggled" False
{-# DEPRECATED onCellToggled "instead of 'onCellToggled obj' use 'on obj cellToggled'" #-}
afterCellToggled :: (CellRendererToggleClass self, GlibString string) => self
 -> (string -> IO ())
 -> IO (ConnectId self)
afterCellToggled = connect_GLIBSTRING__NONE "toggled" True
{-# DEPRECATED afterCellToggled "instead of 'afterCellToggled obj' use 'after obj cellToggled'" #-}
foreign import ccall unsafe "gtk_cell_renderer_toggle_new"
  gtk_cell_renderer_toggle_new :: (IO (Ptr CellRenderer))
foreign import ccall safe "gtk_cell_renderer_toggle_set_radio"
  gtk_cell_renderer_toggle_set_radio :: ((Ptr CellRendererToggle) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_cell_renderer_toggle_get_radio"
  gtk_cell_renderer_toggle_get_radio :: ((Ptr CellRendererToggle) -> (IO CInt))
foreign import ccall unsafe "gtk_cell_renderer_toggle_get_active"
  gtk_cell_renderer_toggle_get_active :: ((Ptr CellRendererToggle) -> (IO CInt))
foreign import ccall safe "gtk_cell_renderer_toggle_set_active"
  gtk_cell_renderer_toggle_set_active :: ((Ptr CellRendererToggle) -> (CInt -> (IO ())))