1 ! Copyright (C) 2007 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: io kernel prettyprint ui ui.gadgets ui.gadgets.panes
4 ui.gadgets.scrollers ui.gadgets.theme ui.gestures colors ;
7 TUPLE: gesture-logger stream ;
9 : <gesture-logger> ( stream -- gadget )
10 \ gesture-logger construct-gadget
11 [ set-gesture-logger-stream ] keep
12 { 100 100 } over set-rect-dim
13 dup black solid-interior ;
15 M: gesture-logger handle-gesture*
17 dup T{ button-down } = [ over request-focus ] when
18 swap gesture-logger-stream [ . ] with-stream*
21 M: gesture-logger user-input*
22 gesture-logger-stream [
23 "User input: " write print
26 : gesture-logger ( -- )
28 <scrolling-pane> dup <scroller>
29 "Gesture log" open-window
30 <pane-stream> <gesture-logger>
31 "Gesture input" open-window