Hi Brian, On 25/07/13 04:14, bri...@aracnet.com wrote: > This should be simple, and I thought it had it working, but I've broken it > and can't figure out why. > > What I want is to invoke the callback whenever the user activates and entry > in a dialogbox, so I did both this :
Not sure what you mean by dialogbox here. A complete (but small) example would help. > Gtk.on entry Gtk.entryActivate (boxHandler entry) Perhaps it's a terminology confusion: in GTK, "activate" for an entry means "pressing return key". This program works fine for me, pressing return prints the text I entered in the box: ----8<---- import Graphics.UI.Gtk main :: IO () main = do initGUI window <- windowNew entry <- entryNew set window [ containerBorderWidth := 10, containerChild := entry ] entry `on` entryActivate $ putStrLn =<< entryGetText entry onDestroy window mainQuit widgetShowAll window mainGUI ----8<---- > (I believe this supercedes the previous method which was onEntryActivate) > > and this > > Gtk.on entry Gtk.entryPreeditChanged (boxHandler entry) > > however neither method will invoke the callback. The program compiles and > works just fine, it's just that the callback never runs. Maybe you instead mean to do something when the widget is focussed for input? ----8<---- import Control.Monad.Trans (liftIO) ... entry `on` focusInEvent $ tryEvent $ liftIO $ putStrLn "focusInEvent" ----8<---- Claude -- http://mathr.co.uk _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe