ui.tools.debugger: rewrite to not use variable based gadget words

db4
Eduardo Cavazos 2008-07-13 15:44:55 -05:00
parent 44c972e308
commit 202e15cd9c
1 changed files with 15 additions and 16 deletions

View File

@ -1,12 +1,13 @@
! Copyright (C) 2006, 2008 Slava Pestov. ! Copyright (C) 2006, 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays ui ui.commands ui.gestures ui.gadgets USING: accessors arrays ui ui.commands ui.gestures ui.gadgets
ui.gadgets.worlds ui.gadgets.packs ui.gadgets.buttons ui.gadgets.worlds ui.gadgets.packs ui.gadgets.buttons
ui.gadgets.labels ui.gadgets.panes ui.gadgets.presentations ui.gadgets.labels ui.gadgets.panes ui.gadgets.presentations
ui.gadgets.viewports ui.gadgets.lists ui.gadgets.tracks ui.gadgets.viewports ui.gadgets.lists ui.gadgets.tracks
ui.gadgets.scrollers ui.gadgets.panes hashtables io kernel math ui.gadgets.scrollers ui.gadgets.panes hashtables io kernel math
models namespaces sequences sequences words continuations models namespaces sequences sequences words continuations
debugger prettyprint ui.tools.traceback help editors ; debugger prettyprint ui.tools.traceback help editors ;
IN: ui.tools.debugger IN: ui.tools.debugger
: <restart-list> ( restarts restart-hook -- gadget ) : <restart-list> ( restarts restart-hook -- gadget )
@ -15,20 +16,18 @@ IN: ui.tools.debugger
TUPLE: debugger < track restarts ; TUPLE: debugger < track restarts ;
: <debugger-display> ( restart-list error -- gadget ) : <debugger-display> ( restart-list error -- gadget )
<filled-pile> <filled-pile>
<pane> <pane>
swapd tuck [ print-error ] with-pane swapd tuck [ print-error ] with-pane
add-gadget add-gadget
swap add-gadget ; swap add-gadget ;
: <debugger> ( error restarts restart-hook -- gadget ) : <debugger> ( error restarts restart-hook -- gadget )
{ 0 1 } debugger new-track { 0 1 } debugger new-track
[ dup <toolbar> f track-add*
toolbar, -rot <restart-list> >>restarts
<restart-list> g-> set-debugger-restarts dup restarts>> rot <debugger-display> <scroller> 1 track-add* ;
swap <debugger-display> <scroller> 1 track,
] make-gadget ;
M: debugger focusable-child* debugger-restarts ; M: debugger focusable-child* debugger-restarts ;