From 57a8a8e7186a32c59c2a9a19aa1868093ac87419 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Thu, 30 Jul 2015 16:14:52 -0700 Subject: 1897 --- edit.mu | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/edit.mu b/edit.mu index 7d1ac31d..692132bf 100644 --- a/edit.mu +++ b/edit.mu @@ -2597,7 +2597,7 @@ recipe event-loop [ loop +next-event:label } } - # 'touch' event + # 'touch' event - send to both sides, see what picks it up { t:address:touch-event <- maybe-convert e:event, touch:variant break-unless t @@ -2606,22 +2606,14 @@ recipe event-loop [ touch-type:number <- get *t, type:offset is-left-click?:boolean <- equal touch-type, 65513/mouse-left loop-unless is-left-click?, +next-event:label - # on a sandbox delete icon? process delete - { - was-delete?:boolean <- delete-sandbox *t, env - break-unless was-delete? -#? trace [app], [delete clicked] #? 1 - screen <- render-sandbox-side screen, env, 1/clear - update-cursor screen, recipes, current-sandbox, *sandbox-in-focus? - show-screen screen - loop +next-event:label - } - # if not, send to both editors + # later exceptions for non-editor touches will go here + +global-touch + # send to both editors _ <- move-cursor-in-editor screen, recipes, *t *sandbox-in-focus? <- move-cursor-in-editor screen, current-sandbox, *t jump +continue:label } - # if it's not global, send to appropriate editor + # if it's not global and not a touch event, send to appropriate editor { { break-if *sandbox-in-focus? @@ -2758,6 +2750,8 @@ scenario run-and-show-results [ ] ] +# hook into event-loop recipe: read non-unicode keypress from k, process it if +# necessary, then go to next level after +global-keypress [ # F4? load all code and run all sandboxes. { @@ -3003,6 +2997,19 @@ recipe render-screen [ reply row/same-as-ingredient:4, screen/same-as-ingredient:0 ] +after +global-touch [ + # on a sandbox delete icon? process delete + { + was-delete?:boolean <- delete-sandbox *t, env + break-unless was-delete? +#? trace [app], [delete clicked] #? 1 + screen <- render-sandbox-side screen, env, 1/clear + update-cursor screen, recipes, current-sandbox, *sandbox-in-focus? + show-screen screen + loop +next-event:label + } +] + # was-deleted?:boolean <- delete-sandbox t:touch-event, env:address:programming-environment-data recipe delete-sandbox [ local-scope -- cgit 1.4.1-2-gfad0