diff calendar.urs @ 14:0827320b0f04

Write calendarCtl in terms of a source with a listener.
author Karn Kallio <kkallio@eka>
date Fri, 05 Aug 2011 18:55:24 -0430
parents
children 8300d5f0dc19
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendar.urs	Fri Aug 05 18:55:24 2011 -0430
@@ -0,0 +1,37 @@
+type date = {Year : int, Month : int, Day : int}
+val date_eq : eq date
+val date_ord : ord date
+val time : date -> time
+val date : time -> date
+(* A type to represent calendar dates and some operations on them. *)
+
+type t
+(* Interactive calendar control widgets. The date can be set and read.
+ * They support adding a change listener which will be called on 
+ * the new date.  They are displayed as pictures of calendars which
+ * have clickable dates. *)
+
+val addListener : (date -> transaction unit) -> t -> transaction unit
+(* Add a change listener to a calendar control. *)
+
+val set : t -> date -> transaction unit
+(* Set the date of the calendar. *)
+
+val value : t -> signal date
+(* Read the date of the calendar. *)
+
+val gui_t : Gui.gui t
+(* Witness that this is a gui widget. *)
+
+val create : time -> transaction t
+(* Get a basic interactive calendar control widget. *)
+
+style calendar
+style prev
+style this
+style next
+style weekday
+style curday
+style otherday
+style selday
+(* Styles for the calendar panel. *)