adam@20: type t rmbruijn@19: adam@20: (* The type of dateboxes, which are input elements allowing the user to select a adam@20: * date from a popup calendar. *) adam@2: adam@4: type date = {Year : int, Month : int, Day : int} kkallio@14: val date_eq : eq date adam@5: val date_ord : ord date adam@5: val time : date -> time kkallio@12: val date : time -> date kkallio@14: (* Type of dates and some useful utility functions. *) adam@4: adam@20: val create : time -> transaction t kkallio@14: (* Get a datebox initially set to the given time. *) kkallio@14: adam@20: val onChange : t -> (date -> transaction {}) -> transaction {} kkallio@14: (* Add an action to be run when the date changes. *) kkallio@14: adam@20: val set : t -> date -> transaction {} kkallio@14: (* Call this to change the selected date. *) kkallio@14: adam@20: val value : t -> signal date kkallio@14: (* Extract the current date value. *) kkallio@14: adam@27: val gui_t : Gui.gui t body' kkallio@14: (* Draws the datebox as a piece of xml. *)