Tools__ViewTreeApplication.st
changeset 3658 18137fdc0f76
parent 3628 dae68c3b50a6
child 3660 4b4a427f8976
--- a/Tools__ViewTreeApplication.st	Tue Apr 30 15:13:35 2019 +0200
+++ b/Tools__ViewTreeApplication.st	Tue Apr 30 23:17:10 2019 +0200
@@ -2039,46 +2039,48 @@
     |theProcess|
 
     aRootItemOrNil isNil ifTrue:[
-	process := nil.
+        process := nil.
     ] ifFalse:[
-	"/ expand tree to level 3
-	aRootItemOrNil do:[:aRootChild|
-	    aRootChild do:[:aSubChild| aSubChild expand ].
-	    aRootChild expand.
-	].
-	aRootItemOrNil expand.
-
-	process isNil ifTrue:[
-	    theProcess := process :=
-		Process
-		    for:[
-			|update testModeChannel|
-
-			update := false.
-			testModeChannel := model testModeChannel.
-
-			[process == theProcess] whileTrue:[
-			    Delay waitForSeconds:0.5.
-
-			    (treeView notNil and:[process == theProcess and:[treeView shown]]) ifTrue:[
-				(testModeChannel value == true and:[followFocusChannel value == true]) ifTrue:[
-				    self selectFocusView.
-				].
-				update ifTrue:[
-				    self updateShownStatus.
-				].
-				update := update not.
-			    ].
-			].
-		    ]
-		    priority:(Processor userSchedulingPriority).
-	    theProcess name:'ViewTreeInspector - Focus Follower'.
-	    theProcess resume.
-	].
+        "/ expand tree to level 3
+        aRootItemOrNil do:[:aRootChild|
+            aRootChild do:[:aSubChild| aSubChild expand ].
+            aRootChild expand.
+        ].
+        aRootItemOrNil expand.
+
+        process isNil ifTrue:[
+            "/ the focusFollower process terminates itself, when process is not longer theProcess
+            theProcess := process :=
+                Process
+                    for:[
+                        |update testModeChannel|
+
+                        update := false.
+                        testModeChannel := model testModeChannel.
+
+                        [process == theProcess] whileTrue:[
+                            Delay waitForSeconds:0.5.
+
+                            (treeView notNil and:[process == theProcess and:[treeView shown]]) ifTrue:[
+                                (testModeChannel value == true and:[followFocusChannel value == true]) ifTrue:[
+                                    self selectFocusView.
+                                ].
+                                update ifTrue:[
+                                    self updateShownStatus.
+                                ].
+                                update := update not.
+                            ].
+                        ].
+                    ]
+                    priority:(Processor userSchedulingPriority).
+            theProcess name:'ViewTreeInspector - Focus Follower'.
+            theProcess resume.
+        ].
     ].
     model rootItem:aRootItemOrNil.
 
     "Modified: / 25-07-2013 / 12:03:44 / cg"
+    "Modified (format): / 30-04-2019 / 22:32:23 / Claus Gittinger"
 !
 
 updateShownStatus