factor/core/ui/debugger.factor

46 lines
1.3 KiB
Factor
Raw Normal View History

2006-11-30 02:15:42 -05:00
! Copyright (C) 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
2006-11-30 02:55:55 -05:00
IN: gadgets
USING: arrays errors gadgets gadgets-buttons
gadgets-labels gadgets-panes gadgets-presentations
gadgets-scrolling gadgets-theme gadgets-viewports gadgets-lists
generic hashtables io kernel math models namespaces prettyprint
queues sequences test threads help sequences words timers ;
2006-11-30 02:15:42 -05:00
: <restart-list> ( restarts restart-hook -- gadget )
[ restart-name ] rot <model> <list> ;
2006-11-30 02:15:42 -05:00
TUPLE: debugger restarts ;
: <debugger-display> ( error restart-list -- gadget )
2006-12-05 01:23:57 -05:00
>r [ print-error ] make-pane r> 2array make-filled-pile ;
2006-11-30 02:15:42 -05:00
C: debugger ( error restarts restart-hook -- gadget )
2006-11-30 02:15:42 -05:00
{
{
[ gadget get { debugger } <toolbar> ]
f f @top
}
{
[ <restart-list> ]
2006-11-30 02:15:42 -05:00
set-debugger-restarts
[ <debugger-display> <scroller> ]
@center
}
} make-frame* dup popup-theme ;
M: debugger focusable-child*
debugger-restarts ;
2006-12-04 00:20:05 -05:00
: debugger-window ( error -- )
#! No restarts for the debugger window
f [ drop ] <debugger>
"Error" open-titled-window ;
2006-11-30 02:55:55 -05:00
: ui-try ( quot -- )
[ debugger-window ] recover ;
debugger "gestures" {
{ "Request focus" T{ button-down } [ request-focus ] }
} define-commands