webkit 0.12.5.3 → 0.12.6.0
raw patch · 6 files changed
+34/−6 lines, 6 files
Files
- Graphics/UI/Gtk/WebKit/DOM/EventM.hs +4/−3
- Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs +11/−2
- Graphics/UI/Gtk/WebKit/DOM/hsevents.c +11/−0
- Graphics/UI/Gtk/WebKit/Types.chs +1/−0
- cbits/events.h +6/−0
- webkit.cabal +1/−1
Graphics/UI/Gtk/WebKit/DOM/EventM.hs view
@@ -59,6 +59,7 @@ import Control.Applicative ((<$>)) import Control.Monad.Reader ( ReaderT, ask, runReaderT ) import Control.Monad.Trans ( liftIO )+import Control.Monad ( void ) import Graphics.UI.Gtk.WebKit.Types import Graphics.UI.Gtk.WebKit.DOM.Event import Graphics.UI.Gtk.WebKit.DOM.UIEvent@@ -66,7 +67,7 @@ import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures import Data.Word (Word) -type Signal target callback = target -> callback -> IO Bool+type Signal target callback = target -> callback -> IO (IO ()) type EventM e t a = ReaderT (t, e) IO a @@ -258,6 +259,6 @@ mouseToElement :: MouseEventClass e => EventM e t (Maybe Node) mouseToElement = event >>= (liftIO . mouseEventGetToElement) -connect :: (GObjectClass t, EventClass e) => String -> t -> EventM e t () -> IO Bool-connect eventName target callback =+connect :: (GObjectClass t, EventClass e) => String -> t -> EventM e t () -> IO (IO ())+connect eventName target callback = do eventTargetAddEventListener target eventName False $ curry (runReaderT callback)
Graphics/UI/Gtk/WebKit/DOM/EventTargetClosures.chs view
@@ -2,11 +2,13 @@ {-# CFILES events.c #-} module Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures (eventTargetAddEventListener) where-import System.Glib.FFI+import System.Glib.FFI (newStablePtr, StablePtr, Ptr(..), toBool, CInt(..), CChar,+ withForeignPtr, fromBool) import System.Glib.UTFString import Control.Applicative {#import Graphics.UI.Gtk.WebKit.Types#} import System.Glib.GError+import Control.Monad (void) {# pointer *GClosure newtype #} @@ -15,7 +17,7 @@ eventTargetAddEventListener :: (GObjectClass self, EventClass event) =>- self -> String -> Bool -> (self -> event -> IO ()) -> IO Bool+ self -> String -> Bool -> (self -> event -> IO ()) -> IO (IO ()) eventTargetAddEventListener self eventName bubble user = do sptr <- newStablePtr action gclosurePtr <- gtk2hs_closure_new sptr@@ -26,6 +28,13 @@ eventNamePtr (GClosure gclosurePtr) (fromBool bubble))+ return . void $+ withUTFString eventName $ \ eventNamePtr ->+ {# call webkit_dom_event_target_remove_event_listener_closure #}+ (unsafeCastGObject $ toGObject self)+ eventNamePtr+ (GClosure gclosurePtr)+ (fromBool bubble) where action :: Ptr GObject -> Ptr GObject -> IO () action obj1 obj2 = failOnGError $
Graphics/UI/Gtk/WebKit/DOM/hsevents.c view
@@ -65,3 +65,14 @@ return webkit_dom_event_target_add_event_listener( WEBKIT_DOM_EVENT_TARGET (target), eventName, G_CALLBACK(webkit_gtk2hs_closure_callback), bubble, closure); }++gboolean webkit_dom_event_target_remove_event_listener_closure(+ WebKitDOMEventTarget *target,+ const char *eventName,+ GClosure *closure,+ gboolean bubble)+{+ WHEN_DEBUG(g_debug("webkit_dom_event_target_remove_event_listener_closure: about to run target %p, eventName=\"%s\", closure=%p (all closures for this target and eventName be removed)", target, eventName, closure));+ return webkit_dom_event_target_remove_event_listener(+ WEBKIT_DOM_EVENT_TARGET (target), eventName, G_CALLBACK(webkit_gtk2hs_closure_callback), bubble);+}
Graphics/UI/Gtk/WebKit/Types.chs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_HADDOCK hide #-} -- -*-haskell-*- -- -------------------- automatically generated file - do not edit ----------
cbits/events.h view
@@ -12,3 +12,9 @@ const char *eventName, GClosure *closure, gboolean bubble);++gboolean webkit_dom_event_target_remove_event_listener_closure(+ WebKitDOMEventTarget *target,+ const char *eventName,+ GClosure *closure,+ gboolean bubble);
webkit.cabal view
@@ -1,5 +1,5 @@ Name: webkit-Version: 0.12.5.3+Version: 0.12.6.0 License: LGPL-2.1 License-file: COPYING Copyright: (c) 2001-2013 The Gtk2Hs Team