module HTk.Toolkit.TextDisplay(
createTextDisplayExt,
createTextDisplay
) where
import Util.Computation
import Events.Events
import HTk.Toplevel.HTk
import HTk.Toolkit.ScrollBox
createTextDisplayExt :: String
-> String
-> [Config Editor]
-> IO()
-> IO (Toplevel,Editor)
createTextDisplayExt title txt conf unpost =
do win <- createToplevel [text title]
b <- newFrame win [relief Groove, borderwidth (cm 0.05)]
t <- newLabel b [text title, font (Helvetica, Roman, 18::Int)]
q <- newButton b [text "Close", width 12]
(sb, ed) <- newScrollBox b (\p-> newEditor p (state Normal:conf)) []
pack b [Side AtTop, Expand On, Fill Both]
pack t [Side AtTop, Expand Off, PadY 10]
pack sb [Side AtTop, Expand On, Fill Both]
pack ed [Side AtTop, Expand On, Fill Both]
pack q [Side AtRight, PadX 5, PadY 5]
ed # value txt
ed # state Disabled
quit <- clicked q
_ <- spawnEvent (quit >>> do destroy win; unpost)
return (win, ed)
createTextDisplay :: String
-> String
-> [Config Editor]
-> IO()
createTextDisplay t txt conf = do createTextDisplayExt t txt conf done; done