Revision: 16158
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 27, 2009 18:50 by keigoi
Initial Code
import EnableGUI -- from http://wxhaskell.sourceforge.net/download/EnableGUI.hs import Graphics.UI.WXCore hiding (Var) import Graphics.UI.WX hiding (Var, enter) import Data.Bits ((.&.), complement) myEventId = wxID_HIGHEST+1 -- the custom event ID -- the custom event is registered as a menu event createMyEvent = commandEventCreate wxEVT_COMMAND_MENU_SELECTED myEventId registerMyEvent win io = evtHandlerOnMenuCommand win myEventId io gui = do f <- frame [text := "custom event sample"] bt <- button f [text := "click to invoke a custom event"] set f [layout := column 1 [hfill (widget bt)]] set bt [on command := onClick f] registerMyEvent f (putStrLn "The custom event is fired!!") return () where onClick f = do ev <- createMyEvent evtHandlerProcessEvent f ev return () main = enableGUI >> start gui
Initial URL
Initial Description
This examples shows how to handle user-defined events in wxHaskell via menu events. If the thread issues an event is not the main thread, use evtHandlerAddPendingEvent instead of evtHandlerProcessEvent.
Initial Title
wxHaskell multi-thread & custom event example
Initial Tags
Initial Language
Haskell