1 ! Copyright (C) 2006, 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors ui.tools.workspace inspector kernel ui.commands
4 ui.gadgets ui.gadgets.panes ui.gadgets.scrollers
5 ui.gadgets.slots ui.gadgets.tracks ui.gestures
6 ui.gadgets.buttons namespaces ;
9 TUPLE: inspector-gadget < track object pane ;
11 : refresh ( inspector -- )
12 [ object>> ] [ pane>> ] bi [
18 : <inspector-gadget> ( -- gadget )
19 { 0 1 } inspector-gadget new-track
22 dup pane>> <scroller> 1 track-add ;
24 : inspect-object ( obj mirror keys inspector -- )
25 2nip swap >>object refresh ;
27 \ &push H{ { +nullary+ t } { +listener+ t } } define-command
29 \ &back H{ { +nullary+ t } { +listener+ t } } define-command
31 \ &globals H{ { +nullary+ t } { +listener+ t } } define-command
33 : inspector-help ( -- ) "ui-inspector" help-window ;
35 \ inspector-help H{ { +nullary+ t } } define-command
37 inspector-gadget "toolbar" f {
38 { T{ update-object } refresh }
42 { T{ key-down f f "F1" } inspector-help }
45 inspector-gadget "multi-touch" f {
46 { T{ left-action } &back }
49 M: inspector-gadget tool-scroller
50 pane>> find-scroller ;