Updates in FranTk1.1

Note that the MANUAL is NOT up to date with the following changes. It
will be altered shortly

New FRP Implementation

Some names changes:

mapL -> comapL
mapIOL -> comapIOL
mapMaybeL -> comapMaybeL
snapshot -> snapshotE
snapshotF -> snapshotFE
fireListener -> getListener

previous names kept but deprecated

Some type changes (in all cases first and second arguments have
swapped places). Now:

filterE :: (a -> Bool) -> Event a -> Event a 
mapMaybeE :: (a -> Maybe b) -> Event a -> Event b
mapE ::  (a -> b) -> Event a -> Event b
mapEs :: (a -> [b]) -> Event a -> Event [b]

Added 
joinB :: Behavior (Behavior a) -> Behavior a

In FranTk

added

listenEntry :: Listener String -> Conf Entry
onClose :: Listener () -> Conf Window
popupME :: Event Bool -> Conf Menu
afterE :: Time -> GUI (Event ())
everyE :: Time -> GUI (Event ())
class Has_focus w where
 focus :: Conf w
listItemsLB :: ListB String -> Conf Listbox
listItemsB :: Behavior [String] -> Conf Listbox
Structured data type for structured text in Edit widget
(to do: discuss more)
addChanListener  :: Chan a -> Listener a -> GUI (IO ())
addCVarListener  :: CVar a -> Listener a -> GUI (IO ())

structured data in Edit widget now uses DocumentB - document behaviors

Conf Style , withStyle option to apply global style options to composite
widgets (eg background color)

added mkBVarE :: a -> Event (a -> a) -> GUI (BVar a)

now all FRP ops that need to be in monad are in GUI monad

class GBehavior -> class IfBehavior

extra module GFRP that supports types 
type GEvent a = GUI (Event a)
type GBehavior a = GUI (Behavior a)

various bug fixes

Updates in TclHaskell1.2 (included in this distribution)


Changes 

added

popupM :: Menu -> GUI ()
getPointerLoc :: Window -> GUI Coord
getRootPointerLoc :: GUI Coord

Various bug fixes
Now compiles with ghc-5

Changes in TclHaskell1.1

CWidgets no longer have a unique integer. Instead their widget tag (wtag) is unique. So equality works on them.

Added iconifyWindow :: Window -> GUI ()

Added TModMove TIndex ModMove to TIndex
Supports transformations on text indices 
eg (TIndex LineStart TIndexEnd) means the start of the last line.

Type changes
fromTIndex :: Edit -> TIndex -> GUI (Int,Int)
becomes
fromTIndex :: Edit -> TIndex -> GUI (Maybe (Int,Int))

getMarkPos :: Mark -> GUI (Int,Int) 
becomes
getMarkPos :: Mark -> GUI(Maybe (Int,Int))
as the index or mark may not be valid.

Added 
scrollbar' :: WPath -> [Conf Scr] -> GUI Scrollbar

Added lines to makefile.nt to compile tclprim.dll. It uses some cygwin tools.

Bug fixes

Fixed bug with Tcl Embedded widget that prevented it from being displayed

Fixed problem with deleting and reshowing menus

Inserting text into a read/only text widget now works.

