{-# LINE 2 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
module Graphics.UI.Gtk.ModelView.CellRendererAccel (
CellRendererAccel,
CellRendererAccelClass,
castToCellRendererAccel,
toCellRendererAccel,
CellRendererAccelMode(..),
cellRendererAccelNew,
cellRendererAccelAccelKey,
cellRendererAccelAccelMods,
cellRendererAccelKeycode,
cellRendererAccelAccelMode,
accelEdited,
accelCleared,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Gdk.Enums (Modifier)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Gdk.Keys (KeyVal, KeyCode)
import Graphics.UI.Gtk.Signals
{-# LINE 86 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
import Graphics.UI.Gtk.Types
{-# LINE 87 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
{-# LINE 89 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
data CellRendererAccelMode = CellRendererAccelModeGtk
| CellRendererAccelModeOther
deriving (Enum,Bounded,Eq,Show)
{-# LINE 94 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
cellRendererAccelNew :: IO CellRendererAccel
cellRendererAccelNew =
makeNewObject mkCellRendererAccel $ liftM castPtr $
gtk_cell_renderer_accel_new
{-# LINE 106 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
cellRendererAccelAccelKey :: CellRendererAccelClass self => Attr self Int
cellRendererAccelAccelKey = newAttrFromUIntProperty "accel-key"
cellRendererAccelAccelMods :: CellRendererAccelClass self => Attr self [Modifier]
cellRendererAccelAccelMods = newAttrFromFlagsProperty "accel-mods"
gdk_modifier_type_get_type
{-# LINE 128 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
cellRendererAccelKeycode :: CellRendererAccelClass self => Attr self Int
cellRendererAccelKeycode = newAttrFromUIntProperty "keycode"
cellRendererAccelAccelMode :: CellRendererAccelClass self => Attr self CellRendererAccelMode
cellRendererAccelAccelMode = newAttrFromEnumProperty "accel-mode"
gtk_cell_renderer_accel_mode_get_type
{-# LINE 152 "./Graphics/UI/Gtk/ModelView/CellRendererAccel.chs" #-}
accelEdited :: (CellRendererAccelClass self, GlibString string) => Signal self (string -> KeyVal -> Modifier -> KeyCode -> IO ())
accelEdited = Signal (\after obj user -> connect_GLIBSTRING_INT_ENUM_INT__NONE "accel_edited" after obj
(\ path keyval modifier keycode ->
user path (fromIntegral keyval) modifier (fromIntegral keycode)))
accelCleared :: (CellRendererAccelClass self, GlibString string) => Signal self (string -> IO ())
accelCleared = Signal (connect_GLIBSTRING__NONE "accel_cleared")
foreign import ccall safe "gtk_cell_renderer_accel_new"
gtk_cell_renderer_accel_new :: (IO (Ptr CellRenderer))
foreign import ccall unsafe "gdk_modifier_type_get_type"
gdk_modifier_type_get_type :: CULong
foreign import ccall unsafe "gtk_cell_renderer_accel_mode_get_type"
gtk_cell_renderer_accel_mode_get_type :: CULong