Mercurial > gui
annotate calendar.urs @ 18:16447dc6a68c
Introduction of multi-parameter type class for gui components
author | Ron de Bruijn <rmbruijn@gmail.com> |
---|---|
date | Thu, 22 Sep 2011 19:24:01 +0200 |
parents | 8300d5f0dc19 |
children | 554e342665fe |
rev | line source |
---|---|
kkallio@14 | 1 type date = {Year : int, Month : int, Day : int} |
kkallio@14 | 2 val date_eq : eq date |
kkallio@14 | 3 val date_ord : ord date |
kkallio@14 | 4 val time : date -> time |
kkallio@14 | 5 val date : time -> date |
kkallio@14 | 6 (* A type to represent calendar dates and some operations on them. *) |
kkallio@14 | 7 |
kkallio@14 | 8 type t |
kkallio@14 | 9 (* Interactive calendar control widgets. The date can be set and read. |
kkallio@14 | 10 * They support adding a change listener which will be called on |
kkallio@14 | 11 * the new date. They are displayed as pictures of calendars which |
kkallio@14 | 12 * have clickable dates. *) |
kkallio@14 | 13 |
adam@15 | 14 val onChange : t -> (date -> transaction {}) -> transaction unit |
kkallio@14 | 15 (* Add a change listener to a calendar control. *) |
kkallio@14 | 16 |
kkallio@14 | 17 val set : t -> date -> transaction unit |
kkallio@14 | 18 (* Set the date of the calendar. *) |
kkallio@14 | 19 |
kkallio@14 | 20 val value : t -> signal date |
kkallio@14 | 21 (* Read the date of the calendar. *) |
kkallio@14 | 22 |
rmbruijn@18 | 23 val gui_t : Gui.gui t xbody |
kkallio@14 | 24 (* Witness that this is a gui widget. *) |
kkallio@14 | 25 |
kkallio@14 | 26 val create : time -> transaction t |
kkallio@14 | 27 (* Get a basic interactive calendar control widget. *) |
kkallio@14 | 28 |
kkallio@14 | 29 style calendar |
kkallio@14 | 30 style prev |
kkallio@14 | 31 style this |
kkallio@14 | 32 style next |
kkallio@14 | 33 style weekday |
kkallio@14 | 34 style curday |
kkallio@14 | 35 style otherday |
kkallio@14 | 36 style selday |
kkallio@14 | 37 (* Styles for the calendar panel. *) |