factor/extra/gesture-logger/gesture-logger.factor

35 lines
892 B
Factor
Raw Normal View History

2008-08-23 00:27:25 -04:00
! Copyright (C) 2007, 2008 Slava Pestov.
2007-09-20 18:09:08 -04:00
! See http://factorcode.org/license.txt for BSD license.
2008-08-23 00:27:25 -04:00
USING: accessors io kernel prettyprint ui ui.gadgets
ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.theme
ui.gestures colors ;
2007-09-20 18:09:08 -04:00
IN: gesture-logger
2008-07-12 02:29:25 -04:00
TUPLE: gesture-logger < gadget stream ;
2007-09-20 18:09:08 -04:00
: <gesture-logger> ( stream -- gadget )
2008-07-12 02:29:25 -04:00
\ gesture-logger new-gadget
2008-06-18 23:30:54 -04:00
swap >>stream
{ 100 100 } >>dim
black solid-interior ;
2007-09-20 18:09:08 -04:00
2008-08-27 17:24:04 -04:00
M: gesture-logger handle-gesture
2008-08-23 00:27:25 -04:00
over T{ button-down } = [ dup request-focus ] when
stream>> [ . ] with-output-stream*
2007-09-20 18:09:08 -04:00
t ;
M: gesture-logger user-input*
2008-09-02 14:02:51 -04:00
stream>> [
2007-09-20 18:09:08 -04:00
"User input: " write print
] with-output-stream* t ;
2007-09-20 18:09:08 -04:00
: gesture-logger ( -- )
[
<scrolling-pane> dup <scroller>
"Gesture log" open-window
<pane-stream> <gesture-logger>
"Gesture input" open-window
] with-ui ;
MAIN: gesture-logger