CodeCompletionHelpView.st
changeset 18319 7625bc676f9c
parent 18316 3d8bed1ef0a6
child 18320 1a44eee484b2
--- a/CodeCompletionHelpView.st	Sat Aug 04 19:02:16 2018 +0200
+++ b/CodeCompletionHelpView.st	Sat Aug 04 21:28:13 2018 +0200
@@ -94,10 +94,20 @@
 
 !CodeCompletionHelpView methodsFor:'event handling'!
 
+delayedDestroy
+    (subViews notEmptyOrNil) ifTrue:[
+        self topView destroy
+    ].
+    ^ true
+
+    "Created: / 04-08-2018 / 21:25:48 / Claus Gittinger"
+!
+
 focusOut
-    self topView destroy
+    self installDelayedDestroy.
 
     "Created: / 04-08-2018 / 10:41:59 / Claus Gittinger"
+    "Modified: / 04-08-2018 / 21:27:31 / Claus Gittinger"
 !
 
 handlesButtonMotion:state inView:aView
@@ -142,19 +152,28 @@
     "Created: / 04-08-2018 / 16:55:53 / Claus Gittinger"
 !
 
-keyPress:key x:x y:y
-    self topView destroy
+installDelayedDestroy
+    delayedDestroyAction notNil ifTrue:[
+        Processor removeTimedBlock:delayedDestroyAction.
+    ].    
+    delayedDestroyAction := [ self topView destroy ]. 
+    Processor addTimedBlock:delayedDestroyAction after:0.5.
 
-    "Created: / 04-08-2018 / 10:40:43 / Claus Gittinger"
+    "Created: / 04-08-2018 / 21:26:10 / Claus Gittinger"
 !
 
 keyPress:key x:x y:y view:aView
-    aView == (subViews firstIfEmpty:nil) ifTrue:[
-        self topView destroy
-    ].
-    ^ true
+    key == #Escape ifTrue:[
+        self installDelayedDestroy.
+        ^ true.
+    ].    
+"/    (subViews notNil and:[aView == (subViews firstIfEmpty:nil)]) ifTrue:[
+"/        self topView destroy
+"/    ].
+    ^ false
 
     "Created: / 04-08-2018 / 17:00:33 / Claus Gittinger"
+    "Modified: / 04-08-2018 / 21:27:14 / Claus Gittinger"
 !
 
 pointerEnter:state x:x y:y view:view
@@ -167,14 +186,11 @@
 !
 
 pointerLeave:state view:view
-    delayedDestroyAction notNil ifTrue:[
-        Processor removeTimedBlock:delayedDestroyAction.
-    ].    
-    delayedDestroyAction := [ self topView destroy ]. 
-    Processor addTimedBlock:delayedDestroyAction after:0.5.
+    self installDelayedDestroy.
     ^ false
 
     "Created: / 04-08-2018 / 16:57:18 / Claus Gittinger"
+    "Modified: / 04-08-2018 / 21:26:21 / Claus Gittinger"
 ! !
 
 !CodeCompletionHelpView methodsFor:'initialization'!