Mercurial > gui
diff datebox.ur @ 20:554e342665fe
Add a new parameter to Gui.gui
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sat, 24 Sep 2011 15:47:00 -0400 |
parents | 3a303df9ae92 |
children | 5905b56e0cd9 |
line wrap: on
line diff
--- a/datebox.ur Fri Sep 23 13:30:01 2011 +0200 +++ b/datebox.ur Sat Sep 24 15:47:00 2011 -0400 @@ -1,5 +1,5 @@ -con t other_ctx = {Cal : Calendar.t, - Panel : TogglePanel.togglePanel Calendar.t other_ctx} +type t = {Cal : Calendar.t, + Panel : TogglePanel.togglePanel Calendar.t []} type date = Calendar.date val date_eq = Calendar.date_eq @@ -7,16 +7,15 @@ val time = Calendar.time val date = Calendar.date -(* : other_ctx:::{Unit} -> [other_ctx ~ body] => formatCtl other_ctx *) - -val format = TogglePanel.defaultFormat - --#OpenCtl -- #CloseCtl - ++ {OpenCtl = fn behaviour => <xml><button value="Choose" onclick={behaviour}/></xml>, - CloseCtl = fn behaviour => <xml><button value="Hide" onclick={behaviour}/></xml>} +val format : TogglePanel.formatCtl [] = fn [body ~ []] => + TogglePanel.defaultFormat + -- #OpenCtl -- #CloseCtl + ++ {OpenCtl = fn behaviour => <xml><button value="Choose" onclick={behaviour}/></xml>, + CloseCtl = fn behaviour => <xml><button value="Hide" onclick={behaviour}/></xml>} fun create tm = cal <- Calendar.create tm; - panel <- TogglePanel.create format cal False; + panel <- TogglePanel.create @format cal False; return {Cal = cal, Panel = panel} @@ -29,9 +28,9 @@ fun value db = Calendar.value db.Cal -fun render db = +val gui_t = Gui.mkGui (fn [body ~ []] db => <xml> <dyn signal={date <- Calendar.value db.Cal; return <xml>{[date.Year]}-{[date.Month]}-{[date.Day]}</xml>}/> {Gui.toXml db.Panel} - </xml> + </xml>)