import Graphics.UI.WX import Graphics.UI.WXCore calltiptext = "I can write whatever I want here" main = start $ do f <- frame [text := "Scintilla Test"] p <- panel f [] textlog <- textCtrl p [clientSize := sz 500 200] textCtrlMakeLogActiveTarget textlog logMessage "logging enabled" s <- styledTextCtrl p [] set s [on stcEvent := handler s] styledTextCtrlSetMouseDwellTime s 2000 set f [ layout := container p $ column 5 $ [ fill $ widget s , hfill $ widget textlog ] , clientSize := sz 500 500 ] handler :: StyledTextCtrl a -> EventSTC -> IO () handler _ STCUpdateUI = return () handler _ STCStyleNeeded = return () handler _ STCPainted = return () handler stc e = do logMessage $ show e case e of (STCDwellStart xy) -> do pos <- styledTextCtrlPositionFromPoint stc xy styledTextCtrlCallTipShow stc pos calltiptext (STCDwellEnd xy) -> do active <- styledTextCtrlCallTipActive stc when active $ styledTextCtrlCallTipCancel stc _ -> return ()