Make LayoutCombinators deal with emptyLayout

This commit is contained in:
Andrea Rossato 2008-01-27 09:24:15 +00:00
parent ee0b0d59cb
commit 099d1c689f

View File

@ -163,6 +163,10 @@ instance (LayoutClass l1 a, LayoutClass l2 a) => LayoutClass (NewSelect l1 l2) a
return (wrs, (\l1' -> NewSelect True l1' l2) `fmap` ml1') return (wrs, (\l1' -> NewSelect True l1' l2) `fmap` ml1')
doLayout (NewSelect False l1 l2) r s = do (wrs, ml2') <- doLayout l2 r s doLayout (NewSelect False l1 l2) r s = do (wrs, ml2') <- doLayout l2 r s
return (wrs, (\l2' -> NewSelect False l1 l2') `fmap` ml2') return (wrs, (\l2' -> NewSelect False l1 l2') `fmap` ml2')
emptyLayout (NewSelect True l1 l2) r = do (wrs, ml1') <- emptyLayout l1 r
return (wrs, (\l1' -> NewSelect True l1' l2) `fmap` ml1')
emptyLayout (NewSelect False l1 l2) r = do (wrs, ml2') <- emptyLayout l2 r
return (wrs, (\l2' -> NewSelect False l1 l2') `fmap` ml2')
description (NewSelect True l1 _) = description l1 description (NewSelect True l1 _) = description l1
description (NewSelect False _ l2) = description l2 description (NewSelect False _ l2) = description l2
handleMessage l@(NewSelect False _ _) m handleMessage l@(NewSelect False _ _) m