-USING: sequences kernel math io ;
+USING: sequences kernel math io calendar calendar.model
+arrays models namespaces ui.gadgets ui.gadgets.labels
+ui.gadgets.theme ui ;
IN: lcd
: lcd-digit ( row digit -- str )
" _ _ _ _ _ _ _ _ "
" | | | _| _| |_| |_ |_ | |_| |_| * "
" |_| | |_ _| | _| |_| | |_| | * "
+ " "
} nth >r 4 * dup 4 + r> subseq ;
: lcd-row ( num row -- string )
[ swap lcd-digit ] curry { } map-as concat ;
: lcd ( digit-str -- string )
- 3 [ lcd-row ] with map "\n" join ;
+ 4 [ lcd-row ] with map "\n" join ;
-: lcd-demo ( -- ) "31337" lcd print ;
+: hh:mm:ss ( timestamp -- string )
+ {
+ timestamp-hour timestamp-minute timestamp-second
+ } get-slots >fixnum 3array [ pad-00 ] map ":" join ;
-MAIN: lcd-demo
+: <time-display> ( timestamp -- gadget )
+ [ hh:mm:ss lcd ] <filter> <label-control>
+ "99:99:99" lcd over set-label-string
+ monospace-font over set-label-font ;
+
+: time-window ( -- )
+ [ time get <time-display> "Time" open-window ] with-ui ;
+
+MAIN: time-window