From f5af7977ec3fceba60cf425b1d3841734c07f595 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 11 May 2009 16:18:47 -0500 Subject: [PATCH] ui.debugger: new mini error dialog box for deployed apps --- basis/ui/debugger/debugger.factor | 19 +++++++++++++++++++ .../presentations/presentations.factor | 2 +- basis/ui/operations/operations.factor | 2 +- basis/ui/tools/debugger/debugger.factor | 11 +---------- 4 files changed, 22 insertions(+), 12 deletions(-) create mode 100755 basis/ui/debugger/debugger.factor mode change 100644 => 100755 basis/ui/gadgets/presentations/presentations.factor mode change 100644 => 100755 basis/ui/operations/operations.factor mode change 100644 => 100755 basis/ui/tools/debugger/debugger.factor diff --git a/basis/ui/debugger/debugger.factor b/basis/ui/debugger/debugger.factor new file mode 100755 index 0000000000..e2c8b06bdd --- /dev/null +++ b/basis/ui/debugger/debugger.factor @@ -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 ) + [ [ print-error ] with-pane ] keep ; inline + +: error-window ( error -- ) + "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. ; diff --git a/basis/ui/gadgets/presentations/presentations.factor b/basis/ui/gadgets/presentations/presentations.factor old mode 100644 new mode 100755 index a0799c7b86..93a585e330 --- a/basis/ui/gadgets/presentations/presentations.factor +++ b/basis/ui/gadgets/presentations/presentations.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2005, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. 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.labels ui.gadgets.menus ui.gadgets.worlds ui.gadgets.status-bar ui.commands ui.operations ui.gestures ; diff --git a/basis/ui/operations/operations.factor b/basis/ui/operations/operations.factor old mode 100644 new mode 100755 index db6048061e..a502707ee6 --- a/basis/ui/operations/operations.factor +++ b/basis/ui/operations/operations.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays definitions kernel ui.commands 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 SYMBOL: +keyboard+ diff --git a/basis/ui/tools/debugger/debugger.factor b/basis/ui/tools/debugger/debugger.factor old mode 100644 new mode 100755 index 42666ab064..f3f533e681 --- a/basis/ui/tools/debugger/debugger.factor +++ b/basis/ui/tools/debugger/debugger.factor @@ -8,7 +8,7 @@ ui.gadgets.buttons ui.gadgets.labels ui.gadgets.panes ui.gadgets.presentations ui.gadgets.viewports ui.gadgets.tables ui.gadgets.tracks ui.gadgets.scrollers ui.gadgets.panes 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 TUPLE: debugger < track error restarts restart-hook restart-list continuation ; @@ -27,9 +27,6 @@ M: restart-renderer row-columns t >>selection-required? t >>single-click? ; inline -: ( error -- pane ) - [ [ print-error ] with-pane ] keep ; inline - : ( debugger -- gadget ) [ ] dip [ error>> add-gadget ] @@ -72,12 +69,6 @@ M: object error-in-debugger? drop f ; [ rethrow ] [ error-continuation get debugger-window ] if ] 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 { { T{ button-down } request-focus } } define-command-map