ui.debugger: new mini error dialog box for deployed apps
parent
87717fa78c
commit
f5af7977ec
|
@ -0,0 +1,19 @@
|
||||||
|
! Copyright (C) 2006, 2009 Slava Pestov.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: accessors debugger io kernel namespaces prettyprint
|
||||||
|
ui.gadgets.panes ui.gadgets.worlds ui ;
|
||||||
|
IN: ui.debugger
|
||||||
|
|
||||||
|
: <error-pane> ( error -- pane )
|
||||||
|
<pane> [ [ print-error ] with-pane ] keep ; inline
|
||||||
|
|
||||||
|
: error-window ( error -- )
|
||||||
|
<error-pane> "Error" open-window ;
|
||||||
|
|
||||||
|
[ error-window ] ui-error-hook set-global
|
||||||
|
|
||||||
|
M: world-error error.
|
||||||
|
"An error occurred while drawing the world " write
|
||||||
|
dup world>> pprint-short "." print
|
||||||
|
"This world has been deactivated to prevent cascading errors." print
|
||||||
|
error>> error. ;
|
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2005, 2009 Slava Pestov.
|
! Copyright (C) 2005, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: arrays accessors definitions hashtables io kernel sequences
|
USING: arrays accessors definitions hashtables io kernel sequences
|
||||||
strings words help math models namespaces quotations ui.gadgets
|
strings words math models namespaces quotations ui.gadgets
|
||||||
ui.gadgets.borders ui.gadgets.buttons ui.gadgets.buttons.private
|
ui.gadgets.borders ui.gadgets.buttons ui.gadgets.buttons.private
|
||||||
ui.gadgets.labels ui.gadgets.menus ui.gadgets.worlds
|
ui.gadgets.labels ui.gadgets.menus ui.gadgets.worlds
|
||||||
ui.gadgets.status-bar ui.commands ui.operations ui.gestures ;
|
ui.gadgets.status-bar ui.commands ui.operations ui.gestures ;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors arrays definitions kernel ui.commands
|
USING: accessors arrays definitions kernel ui.commands
|
||||||
ui.gestures sequences strings math words generic namespaces
|
ui.gestures sequences strings math words generic namespaces
|
||||||
hashtables help.markup quotations assocs fry linked-assocs ;
|
hashtables quotations assocs fry linked-assocs ;
|
||||||
IN: ui.operations
|
IN: ui.operations
|
||||||
|
|
||||||
SYMBOL: +keyboard+
|
SYMBOL: +keyboard+
|
||||||
|
|
|
@ -8,7 +8,7 @@ ui.gadgets.buttons ui.gadgets.labels ui.gadgets.panes
|
||||||
ui.gadgets.presentations ui.gadgets.viewports ui.gadgets.tables
|
ui.gadgets.presentations ui.gadgets.viewports ui.gadgets.tables
|
||||||
ui.gadgets.tracks ui.gadgets.scrollers ui.gadgets.panes
|
ui.gadgets.tracks ui.gadgets.scrollers ui.gadgets.panes
|
||||||
ui.gadgets.borders ui.gadgets.status-bar ui.tools.traceback
|
ui.gadgets.borders ui.gadgets.status-bar ui.tools.traceback
|
||||||
ui.tools.inspector ui.tools.browser ;
|
ui.tools.inspector ui.tools.browser ui.debugger ;
|
||||||
IN: ui.tools.debugger
|
IN: ui.tools.debugger
|
||||||
|
|
||||||
TUPLE: debugger < track error restarts restart-hook restart-list continuation ;
|
TUPLE: debugger < track error restarts restart-hook restart-list continuation ;
|
||||||
|
@ -27,9 +27,6 @@ M: restart-renderer row-columns
|
||||||
t >>selection-required?
|
t >>selection-required?
|
||||||
t >>single-click? ; inline
|
t >>single-click? ; inline
|
||||||
|
|
||||||
: <error-pane> ( error -- pane )
|
|
||||||
<pane> [ [ print-error ] with-pane ] keep ; inline
|
|
||||||
|
|
||||||
: <error-display> ( debugger -- gadget )
|
: <error-display> ( debugger -- gadget )
|
||||||
[ <filled-pile> ] dip
|
[ <filled-pile> ] dip
|
||||||
[ error>> <error-pane> add-gadget ]
|
[ error>> <error-pane> add-gadget ]
|
||||||
|
@ -72,12 +69,6 @@ M: object error-in-debugger? drop f ;
|
||||||
[ rethrow ] [ error-continuation get debugger-window ] if
|
[ rethrow ] [ error-continuation get debugger-window ] if
|
||||||
] ui-error-hook set-global
|
] ui-error-hook set-global
|
||||||
|
|
||||||
M: world-error error.
|
|
||||||
"An error occurred while drawing the world " write
|
|
||||||
dup world>> pprint-short "." print
|
|
||||||
"This world has been deactivated to prevent cascading errors." print
|
|
||||||
error>> error. ;
|
|
||||||
|
|
||||||
debugger "gestures" f {
|
debugger "gestures" f {
|
||||||
{ T{ button-down } request-focus }
|
{ T{ button-down } request-focus }
|
||||||
} define-command-map
|
} define-command-map
|
||||||
|
|
Loading…
Reference in New Issue