glib 0.13.1.1 → 0.13.2.1
raw patch · 2 files changed
+38/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- System.Glib.Attributes: instance GHC.Show.Show (System.Glib.Attributes.ReadWriteAttr o a b)
- System.Glib.GDateTime: [gDateJulianDay] :: GDate -> GDateJulianDay
- System.Glib.GDateTime: [gTimeValSec] :: GTimeVal -> GTimeValPart
- System.Glib.GDateTime: [gTimeValUSec] :: GTimeVal -> GTimeValPart
- System.Glib.GDateTime: instance Foreign.Storable.Storable System.Glib.GDateTime.GDate
- System.Glib.GDateTime: instance Foreign.Storable.Storable System.Glib.GDateTime.GTimeVal
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GDate
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GDateDay
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GDateMonth
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GDateWeekday
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GDateYear
- System.Glib.GDateTime: instance GHC.Classes.Eq System.Glib.GDateTime.GTimeVal
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GDate
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GDateDay
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GDateMonth
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GDateWeekday
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GDateYear
- System.Glib.GDateTime: instance GHC.Classes.Ord System.Glib.GDateTime.GTimeVal
- System.Glib.GDateTime: instance GHC.Enum.Bounded System.Glib.GDateTime.GDateDay
- System.Glib.GDateTime: instance GHC.Enum.Bounded System.Glib.GDateTime.GDateMonth
- System.Glib.GDateTime: instance GHC.Enum.Bounded System.Glib.GDateTime.GDateWeekday
- System.Glib.GDateTime: instance GHC.Enum.Bounded System.Glib.GDateTime.GDateYear
- System.Glib.GDateTime: instance GHC.Enum.Enum System.Glib.GDateTime.GDateMonth
- System.Glib.GDateTime: instance GHC.Enum.Enum System.Glib.GDateTime.GDateWeekday
- System.Glib.GError: instance Foreign.Storable.Storable System.Glib.GError.GError
- System.Glib.GError: instance GHC.Exception.Exception System.Glib.GError.GError
- System.Glib.GError: instance GHC.Show.Show System.Glib.GError.GError
- System.Glib.GParameter: instance Foreign.Storable.Storable System.Glib.GParameter.GParameter
- System.Glib.MainLoop: instance GHC.Classes.Eq System.Glib.MainLoop.IOCondition
- System.Glib.MainLoop: instance GHC.Enum.Bounded System.Glib.MainLoop.IOCondition
- System.Glib.MainLoop: instance GHC.Enum.Enum System.Glib.MainLoop.IOCondition
- System.Glib.MainLoop: instance System.Glib.Flags.Flags System.Glib.MainLoop.IOCondition
- System.Glib.StoreValue: instance GHC.Enum.Enum System.Glib.StoreValue.TMType
- System.Glib.UTFString: instance GHC.Show.Show System.Glib.UTFString.UTFCorrection
- System.Glib.UTFString: instance System.Glib.UTFString.GlibFilePath GHC.IO.FilePath
- System.Glib.UTFString: instance System.Glib.UTFString.GlibString Data.Text.Internal.Text
- System.Glib.UTFString: instance System.Glib.UTFString.GlibString [GHC.Types.Char]
+ System.Glib.Attributes: instance Show (ReadWriteAttr o a b)
+ System.Glib.GDateTime: gDateJulianDay :: GDate -> GDateJulianDay
+ System.Glib.GDateTime: gTimeValSec :: GTimeVal -> GTimeValPart
+ System.Glib.GDateTime: gTimeValUSec :: GTimeVal -> GTimeValPart
+ System.Glib.GDateTime: instance Bounded GDateDay
+ System.Glib.GDateTime: instance Bounded GDateMonth
+ System.Glib.GDateTime: instance Bounded GDateWeekday
+ System.Glib.GDateTime: instance Bounded GDateYear
+ System.Glib.GDateTime: instance Enum GDateMonth
+ System.Glib.GDateTime: instance Enum GDateWeekday
+ System.Glib.GDateTime: instance Eq GDate
+ System.Glib.GDateTime: instance Eq GDateDay
+ System.Glib.GDateTime: instance Eq GDateMonth
+ System.Glib.GDateTime: instance Eq GDateWeekday
+ System.Glib.GDateTime: instance Eq GDateYear
+ System.Glib.GDateTime: instance Eq GTimeVal
+ System.Glib.GDateTime: instance Ord GDate
+ System.Glib.GDateTime: instance Ord GDateDay
+ System.Glib.GDateTime: instance Ord GDateMonth
+ System.Glib.GDateTime: instance Ord GDateWeekday
+ System.Glib.GDateTime: instance Ord GDateYear
+ System.Glib.GDateTime: instance Ord GTimeVal
+ System.Glib.GDateTime: instance Storable GDate
+ System.Glib.GDateTime: instance Storable GTimeVal
+ System.Glib.GError: instance Exception GError
+ System.Glib.GError: instance Show GError
+ System.Glib.GError: instance Storable GError
+ System.Glib.GError: instance Typeable GError
+ System.Glib.GParameter: instance Storable GParameter
+ System.Glib.MainLoop: instance Bounded IOCondition
+ System.Glib.MainLoop: instance Enum IOCondition
+ System.Glib.MainLoop: instance Eq IOCondition
+ System.Glib.MainLoop: instance Flags IOCondition
+ System.Glib.Signals: SignalMatchClosure :: GSignalMatchType
+ System.Glib.Signals: SignalMatchData :: GSignalMatchType
+ System.Glib.Signals: SignalMatchDetail :: GSignalMatchType
+ System.Glib.Signals: SignalMatchFunc :: GSignalMatchType
+ System.Glib.Signals: SignalMatchId :: GSignalMatchType
+ System.Glib.Signals: SignalMatchUnblocked :: GSignalMatchType
+ System.Glib.Signals: data GSignalMatchType
+ System.Glib.Signals: instance Bounded GSignalMatchType
+ System.Glib.Signals: instance Enum GSignalMatchType
+ System.Glib.Signals: instance Eq GSignalMatchType
+ System.Glib.Signals: instance Flags GSignalMatchType
+ System.Glib.Signals: instance Ord GSignalMatchType
+ System.Glib.Signals: signalBlockMatched :: GObjectClass obj => obj -> [GSignalMatchType] -> SignalName -> GType -> Quark -> Maybe GClosure -> Maybe (Ptr ()) -> Maybe (Ptr ()) -> IO Int
+ System.Glib.StoreValue: instance Enum TMType
+ System.Glib.UTFString: instance GlibFilePath FilePath
+ System.Glib.UTFString: instance GlibString Text
+ System.Glib.UTFString: instance GlibString [Char]
+ System.Glib.UTFString: instance Show UTFCorrection
Files
- System/Glib/Signals.chs +37/−0
- glib.cabal +1/−1
System/Glib/Signals.chs view
@@ -37,10 +37,12 @@ Signal(Signal), on, after, SignalName,+ GSignalMatchType(..), ConnectAfter, ConnectId(ConnectId), signalDisconnect, signalBlock,+ signalBlockMatched, signalUnblock, signalStopEmission, disconnect,@@ -53,7 +55,10 @@ #endif ) where +import Control.Monad (liftM) import System.Glib.FFI+import System.Glib.GType+import System.Glib.Flags {#import System.Glib.GObject#} #ifndef USE_GCLOSURE_SIGNALS_IMPL import Data.IORef@@ -133,6 +138,38 @@ signalBlock (ConnectId handler obj) = withForeignPtr ((unGObject.toGObject) obj) $ \objPtr -> {# call g_signal_handler_block #} (castPtr objPtr) handler++{# enum GSignalMatchType {underscoreToCase} deriving (Eq, Ord, Bounded) #}+instance Flags GSignalMatchType++-- | Blocks all handlers on an instance that match a certain selection+-- criteria. The criteria mask is passed as a list of `GSignalMatchType` flags,+-- and the criteria values are passed as arguments. Passing at least one of+-- the `SignalMatchClosure`, `SignalMatchFunc` or `SignalMatchData` match flags+-- is required for successful matches. If no handlers were found, 0 is returned,+-- the number of blocked handlers otherwise.+signalBlockMatched :: GObjectClass obj+ => obj+ -> [GSignalMatchType]+ -> SignalName+ -> GType+ -> Quark+ -> Maybe GClosure+ -> Maybe (Ptr ())+ -> Maybe (Ptr ())+ -> IO Int+signalBlockMatched obj mask sigName gType quark closure func userData = do+ sigId <- withCString sigName $ \strPtr ->+ {# call g_signal_lookup #} strPtr gType+ liftM fromIntegral $ withForeignPtr (unGObject $ toGObject obj) $ \objPtr ->+ {# call g_signal_handlers_block_matched #}+ (castPtr objPtr)+ (fromIntegral $ fromFlags mask)+ sigId+ quark+ (maybe nullPtr (\(GClosure p) -> castPtr p) closure)+ (maybe nullPtr id func)+ (maybe nullPtr id userData) -- | Unblock a specific signal handler. --
glib.cabal view
@@ -1,5 +1,5 @@ Name: glib-Version: 0.13.1.1+Version: 0.13.2.1 License: LGPL-2.1 License-file: COPYING Copyright: (c) 2001-2010 The Gtk2Hs Team