flyByHelpSpec -> helpSpec
authorClaus Gittinger <cg@exept.de>
Tue, 16 Jan 2018 22:33:10 +0100
changeset 3524366f04fbfb23
parent 3523 25fa267c550a
child 3525 5df4da794cd2
flyByHelpSpec -> helpSpec
Tools__ViewTreeApplication.st
     1.1 --- a/Tools__ViewTreeApplication.st	Tue Jan 16 22:32:41 2018 +0100
     1.2 +++ b/Tools__ViewTreeApplication.st	Tue Jan 16 22:33:10 2018 +0100
     1.3 @@ -1,6 +1,6 @@
     1.4  "
     1.5   COPYRIGHT (c) 2007 by eXept Software AG
     1.6 -              All Rights Reserved
     1.7 +	      All Rights Reserved
     1.8  
     1.9   This software is furnished under a license and may be used
    1.10   only in accordance with the terms of that license and with the
    1.11 @@ -59,7 +59,7 @@
    1.12  copyright
    1.13  "
    1.14   COPYRIGHT (c) 2007 by eXept Software AG
    1.15 -              All Rights Reserved
    1.16 +	      All Rights Reserved
    1.17  
    1.18   This software is furnished under a license and may be used
    1.19   only in accordance with the terms of that license and with the
    1.20 @@ -81,18 +81,18 @@
    1.21  
    1.22  
    1.23      [Instance variables:]
    1.24 -        model           <ViewTreeModel>      the used ViewTreeModel
    1.25 -        clickedItem     <ViewTreeItem>       item under the clickedPoint (motion action)
    1.26 -        clickedPoint    <Point>              point where the motion action started from.
    1.27 -        motionAction    <Action>             (oneArg-) action called durring buttonMotion.
    1.28 +	model           <ViewTreeModel>      the used ViewTreeModel
    1.29 +	clickedItem     <ViewTreeItem>       item under the clickedPoint (motion action)
    1.30 +	clickedPoint    <Point>              point where the motion action started from.
    1.31 +	motionAction    <Action>             (oneArg-) action called durring buttonMotion.
    1.32  
    1.33  
    1.34      [author:]
    1.35 -        Claus Atzkern
    1.36 +	Claus Atzkern
    1.37  
    1.38      [see also:]
    1.39 -        ViewTreeModel
    1.40 -        ViewTreeItem
    1.41 +	ViewTreeModel
    1.42 +	ViewTreeItem
    1.43  "
    1.44  ! !
    1.45  
    1.46 @@ -115,7 +115,7 @@
    1.47  
    1.48  "/    icon := ToolbarIconLibrary inspectLocals20x20Icon magnifiedTo:28@28.
    1.49  "/
    1.50 -"/    menuItem := MenuItem new 
    1.51 +"/    menuItem := MenuItem new
    1.52  "/                    label: 'View Tree Inspector';
    1.53  "/                    value: [ ViewTreeInspectorApplication open];
    1.54  "/                    isButton: true;
    1.55 @@ -164,28 +164,28 @@
    1.56  
    1.57  !ViewTreeInspectorApplication class methodsFor:'help specs'!
    1.58  
    1.59 -flyByHelpSpec
    1.60 +helpSpec
    1.61      <resource: #help>
    1.62  
    1.63 -    ^super flyByHelpSpec addPairsFrom:#(
    1.64 +    ^super helpSpec addPairsFrom:#(
    1.65  
    1.66  #doRedraw
    1.67  'Force the application to redraw its windows'
    1.68  
    1.69  #doUncatchEvents
    1.70 -'Release picked view and uncatch events\(currently locked for widget selection)'  
    1.71 +'Release picked view and uncatch events\(currently locked for widget selection)'
    1.72  
    1.73  #doCatchEvents
    1.74 -'Lock view and catch events for widget selection\(currently unlocked)'  
    1.75 +'Lock view and catch events for widget selection\(currently unlocked)'
    1.76  
    1.77  #doInspectApplication
    1.78 -'Inspect the selected view''s application'  
    1.79 +'Inspect the selected view''s application'
    1.80  
    1.81  #doBrowseApplication
    1.82 -'Browse the selected view''s application'  
    1.83 +'Browse the selected view''s application'
    1.84  
    1.85  #doPickView
    1.86 -'Pick a widget with the mouse and inspect its view hierarchy'  
    1.87 +'Pick a widget with the mouse and inspect its view hierarchy'
    1.88  
    1.89  )
    1.90  ! !
    1.91 @@ -212,8 +212,8 @@
    1.92      <resource: #image>
    1.93  
    1.94      ^Icon
    1.95 -        constantNamed:'Tools::ViewTreeInspectorApplication lockViewIcon'
    1.96 -        ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
    1.97 +	constantNamed:'Tools::ViewTreeInspectorApplication lockViewIcon'
    1.98 +	ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
    1.99  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   1.100  @@@@@@@@@@@@@@A8^G!!7O3ACP5*P@@A8^G @@@@@@@@@@@A8^@@@OE0/!!P0S#0@@^G @@@@@@@@@@@B (@D''D#48"1.CX5H@(J@@@@@@@@@@@@B (B(>SAT"
   1.101  ''%!!/P7,@(J@@@@@@@@@@@@@%IB0#M"H%IRTQV5P@IRT@@@@@@@@@@@ANSX:U]PANS$8:T80@S$8@@@@@@@@@@@AN&UYWK(EYQ@\FUPQHXT8@@@@@@@@@@@AN
   1.102 @@ -238,8 +238,8 @@
   1.103      <resource: #image>
   1.104  
   1.105      ^Icon
   1.106 -        constantNamed:'Tools::ViewTreeInspectorApplication releaseViewIcon'
   1.107 -        ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   1.108 +	constantNamed:'Tools::ViewTreeInspectorApplication releaseViewIcon'
   1.109 +	ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   1.110  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   1.111  @@@@@@@@@@@@@@A8^G!!7O3ACP5*P@@A8^G @@@@@@@@@@@A8^@@@OE0/!!P0S#0@@^G @@@@@@@@@@@B (@@''D#48"1.CX5H@(J@@@@@@@@@@@@B (@@@@@@"
   1.112  ''%!!/P7,@(J@@@@@@@@@@@@@%I@@@@BH%IRTQV5P@IRT@@@@@@@@@@@ANSP@@@@ANS$8:T80@S$8@@@@@@@@@@@AN&UYWK(EYQ@\FUPQHXT8@@@@@@@@@@@AN
   1.113 @@ -266,123 +266,123 @@
   1.114  
   1.115      <resource: #canvas>
   1.116  
   1.117 -    ^ 
   1.118 +    ^
   1.119      #(FullSpec
   1.120         name: windowSpec
   1.121 -       window: 
   1.122 +       window:
   1.123        (WindowSpec
   1.124 -         label: 'View Tree Inspector'
   1.125 -         name: 'View Tree Inspector'
   1.126 -         min: (Point 10 10)
   1.127 -         max: (Point 1024 9999)
   1.128 -         bounds: (Rectangle 0 0 693 643)
   1.129 -         menu: menu
   1.130 +	 label: 'View Tree Inspector'
   1.131 +	 name: 'View Tree Inspector'
   1.132 +	 min: (Point 10 10)
   1.133 +	 max: (Point 1024 9999)
   1.134 +	 bounds: (Rectangle 0 0 693 643)
   1.135 +	 menu: menu
   1.136         )
   1.137 -       component: 
   1.138 +       component:
   1.139        (SpecCollection
   1.140 -         collection: (
   1.141 -          (MenuPanelSpec
   1.142 -             name: 'toolbarMenu'
   1.143 -             layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
   1.144 -             menu: toolbarMenu
   1.145 -             textDefault: true
   1.146 -           )
   1.147 -          (VariableVerticalPanelSpec
   1.148 -             name: 'VariableVerticalPanel1'
   1.149 -             layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 0 1.0)
   1.150 -             component: 
   1.151 -            (SpecCollection
   1.152 -               collection: (
   1.153 -                (ViewSpec
   1.154 -                   name: 'PathAndListPane'
   1.155 -                   component: 
   1.156 -                  (SpecCollection
   1.157 -                     collection: (
   1.158 -                      (ViewSpec
   1.159 -                         name: 'PathPane'
   1.160 -                         layout: (LayoutFrame 0 0 0 0 0 1 25 0)
   1.161 -                         component: 
   1.162 -                        (SpecCollection
   1.163 -                           collection: (
   1.164 -                            (InputFieldSpec
   1.165 -                               name: 'Path'
   1.166 -                               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
   1.167 -                               model: path
   1.168 -                               acceptOnReturn: true
   1.169 -                               acceptOnTab: true
   1.170 -                               acceptOnPointerLeave: true
   1.171 -                               emptyFieldReplacementText: 'No View Selected'
   1.172 -                             )
   1.173 -                            )
   1.174 -                          
   1.175 -                         )
   1.176 -                       )
   1.177 -                      (HierarchicalListViewSpec
   1.178 -                         name: 'List'
   1.179 -                         layout: (LayoutFrame 0 0 25 0 0 1 0 1)
   1.180 -                         level: 1
   1.181 -                         model: model
   1.182 -                         menu: middleButtonMenu
   1.183 -                         hasHorizontalScrollBar: true
   1.184 -                         hasVerticalScrollBar: true
   1.185 -                         miniScrollerHorizontal: true
   1.186 -                         miniScrollerVertical: false
   1.187 -                         listModel: listOfItems
   1.188 -                         multipleSelectOk: true
   1.189 -                         useIndex: false
   1.190 -                         highlightMode: label
   1.191 -                         showLeftIndicators: false
   1.192 -                         indicatorSelector: indicatorClicked:
   1.193 -                         useDefaultIcons: false
   1.194 -                         postBuildCallback: postBuildTree:
   1.195 -                       )
   1.196 -                      )
   1.197 -                    
   1.198 -                   )
   1.199 -                 )
   1.200 -                (ViewSpec
   1.201 -                   name: 'Box2'
   1.202 -                   component: 
   1.203 -                  (SpecCollection
   1.204 -                     collection: (
   1.205 -                      (TabViewSpec
   1.206 -                         name: 'TabHeader1'
   1.207 -                         layout: (LayoutFrame 0 0.0 0 0 0 1.0 25 0)
   1.208 -                         model: inspectorModeIndexHolder
   1.209 -                         menu: inspectorModes
   1.210 -                         useIndex: true
   1.211 -                         translateLabel: true
   1.212 -                       )
   1.213 -                      (SubCanvasSpec
   1.214 -                         name: 'Browser'
   1.215 -                         layout: (LayoutFrame 0 0 26 0 0 1 0 1)
   1.216 -                         visibilityChannel: browserVisibleHolder
   1.217 -                         hasHorizontalScrollBar: true
   1.218 -                         hasVerticalScrollBar: true
   1.219 -                         majorKey: #'Tools::NewSystemBrowser'
   1.220 -                         minorKey: singleClassWithoutVariableListBrowserSpec
   1.221 -                         createNewApplication: true
   1.222 -                         createNewBuilder: true
   1.223 -                         postBuildCallback: postBuildBrowserCanvas:
   1.224 -                       )
   1.225 -                      (ViewSpec
   1.226 -                         name: 'Inspector'
   1.227 -                         layout: (LayoutFrame 0 0 26 0 0 1 0 1)
   1.228 -                         visibilityChannel: inspectorVisibleHolder
   1.229 -                         postBuildCallback: postBuildInspectorView:
   1.230 -                         viewClassName: 'InspectorView'
   1.231 -                       )
   1.232 -                      )
   1.233 -                    
   1.234 -                   )
   1.235 -                 )
   1.236 -                )
   1.237 -              
   1.238 -             )
   1.239 -             handles: (Any 0.5 1.0)
   1.240 -           )
   1.241 -          )
   1.242 -        
   1.243 +	 collection: (
   1.244 +	  (MenuPanelSpec
   1.245 +	     name: 'toolbarMenu'
   1.246 +	     layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
   1.247 +	     menu: toolbarMenu
   1.248 +	     textDefault: true
   1.249 +	   )
   1.250 +	  (VariableVerticalPanelSpec
   1.251 +	     name: 'VariableVerticalPanel1'
   1.252 +	     layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 0 1.0)
   1.253 +	     component:
   1.254 +	    (SpecCollection
   1.255 +	       collection: (
   1.256 +		(ViewSpec
   1.257 +		   name: 'PathAndListPane'
   1.258 +		   component:
   1.259 +		  (SpecCollection
   1.260 +		     collection: (
   1.261 +		      (ViewSpec
   1.262 +			 name: 'PathPane'
   1.263 +			 layout: (LayoutFrame 0 0 0 0 0 1 25 0)
   1.264 +			 component:
   1.265 +			(SpecCollection
   1.266 +			   collection: (
   1.267 +			    (InputFieldSpec
   1.268 +			       name: 'Path'
   1.269 +			       layout: (LayoutFrame 0 0 0 0 0 1 0 1)
   1.270 +			       model: path
   1.271 +			       acceptOnReturn: true
   1.272 +			       acceptOnTab: true
   1.273 +			       acceptOnPointerLeave: true
   1.274 +			       emptyFieldReplacementText: 'No View Selected'
   1.275 +			     )
   1.276 +			    )
   1.277 +
   1.278 +			 )
   1.279 +		       )
   1.280 +		      (HierarchicalListViewSpec
   1.281 +			 name: 'List'
   1.282 +			 layout: (LayoutFrame 0 0 25 0 0 1 0 1)
   1.283 +			 level: 1
   1.284 +			 model: model
   1.285 +			 menu: middleButtonMenu
   1.286 +			 hasHorizontalScrollBar: true
   1.287 +			 hasVerticalScrollBar: true
   1.288 +			 miniScrollerHorizontal: true
   1.289 +			 miniScrollerVertical: false
   1.290 +			 listModel: listOfItems
   1.291 +			 multipleSelectOk: true
   1.292 +			 useIndex: false
   1.293 +			 highlightMode: label
   1.294 +			 showLeftIndicators: false
   1.295 +			 indicatorSelector: indicatorClicked:
   1.296 +			 useDefaultIcons: false
   1.297 +			 postBuildCallback: postBuildTree:
   1.298 +		       )
   1.299 +		      )
   1.300 +
   1.301 +		   )
   1.302 +		 )
   1.303 +		(ViewSpec
   1.304 +		   name: 'Box2'
   1.305 +		   component:
   1.306 +		  (SpecCollection
   1.307 +		     collection: (
   1.308 +		      (TabViewSpec
   1.309 +			 name: 'TabHeader1'
   1.310 +			 layout: (LayoutFrame 0 0.0 0 0 0 1.0 25 0)
   1.311 +			 model: inspectorModeIndexHolder
   1.312 +			 menu: inspectorModes
   1.313 +			 useIndex: true
   1.314 +			 translateLabel: true
   1.315 +		       )
   1.316 +		      (SubCanvasSpec
   1.317 +			 name: 'Browser'
   1.318 +			 layout: (LayoutFrame 0 0 26 0 0 1 0 1)
   1.319 +			 visibilityChannel: browserVisibleHolder
   1.320 +			 hasHorizontalScrollBar: true
   1.321 +			 hasVerticalScrollBar: true
   1.322 +			 majorKey: #'Tools::NewSystemBrowser'
   1.323 +			 minorKey: singleClassWithoutVariableListBrowserSpec
   1.324 +			 createNewApplication: true
   1.325 +			 createNewBuilder: true
   1.326 +			 postBuildCallback: postBuildBrowserCanvas:
   1.327 +		       )
   1.328 +		      (ViewSpec
   1.329 +			 name: 'Inspector'
   1.330 +			 layout: (LayoutFrame 0 0 26 0 0 1 0 1)
   1.331 +			 visibilityChannel: inspectorVisibleHolder
   1.332 +			 postBuildCallback: postBuildInspectorView:
   1.333 +			 viewClassName: 'InspectorView'
   1.334 +		       )
   1.335 +		      )
   1.336 +
   1.337 +		   )
   1.338 +		 )
   1.339 +		)
   1.340 +
   1.341 +	     )
   1.342 +	     handles: (Any 0.5 1.0)
   1.343 +	   )
   1.344 +	  )
   1.345 +
   1.346         )
   1.347       )
   1.348  ! !
   1.349 @@ -394,7 +394,7 @@
   1.350       by the MenuEditor of ST/X."
   1.351  
   1.352      "Do not manually edit this!! If it is corrupted,
   1.353 -     the MenuEditor may not be able to read the specification."      
   1.354 +     the MenuEditor may not be able to read the specification."
   1.355  
   1.356  
   1.357      "
   1.358 @@ -404,214 +404,214 @@
   1.359  
   1.360      <resource: #menu>
   1.361  
   1.362 -    ^ 
   1.363 +    ^
   1.364       #(Menu
   1.365 -        (
   1.366 -         (MenuItem
   1.367 -            label: 'File'
   1.368 -            submenu: 
   1.369 -           (Menu
   1.370 -              (
   1.371 -               (MenuItem
   1.372 -                  label: 'Pick a View'
   1.373 -                  itemValue: doPickView
   1.374 -                )
   1.375 -               (MenuItem
   1.376 -                  enabled: hasTargetWidgetChannel
   1.377 -                  label: 'Release Picked View'
   1.378 -                  itemValue: doUnpick
   1.379 -                )
   1.380 -               (MenuItem
   1.381 -                  label: '-'
   1.382 -                )
   1.383 -               (MenuItem
   1.384 -                  label: 'Settings'
   1.385 -                  submenu: 
   1.386 -                 (Menu
   1.387 -                    (
   1.388 -                     (MenuItem
   1.389 -                        label: 'Test Mode'
   1.390 -                        hideMenuOnActivated: false
   1.391 -                        indication: testModeChannel
   1.392 -                      )
   1.393 -                     (MenuItem
   1.394 -                        enabled: testModeChannel
   1.395 -                        label: 'Follow Focus'
   1.396 -                        hideMenuOnActivated: false
   1.397 -                        indication: followFocusChannel
   1.398 -                      )
   1.399 -                     (MenuItem
   1.400 -                        label: '-'
   1.401 -                      )
   1.402 -                     (MenuItem
   1.403 -                        label: 'Select on Click'
   1.404 -                        hideMenuOnActivated: false
   1.405 -                        indication: selectOnClickHolder
   1.406 -                      )
   1.407 -                     (MenuItem
   1.408 -                        label: '-'
   1.409 -                      )
   1.410 -                     (MenuItem
   1.411 -                        label: 'Show Name of Widgets'
   1.412 -                        hideMenuOnActivated: false
   1.413 -                        indication: showNamesHolder
   1.414 -                      )
   1.415 -                     )
   1.416 -                    nil
   1.417 -                    nil
   1.418 -                  )
   1.419 -                )
   1.420 -               (MenuItem
   1.421 -                  label: '-'
   1.422 -                )
   1.423 -               (MenuItem
   1.424 -                  label: 'Exit'
   1.425 -                  itemValue: closeRequest
   1.426 -                )
   1.427 -               )
   1.428 -              nil
   1.429 -              nil
   1.430 -            )
   1.431 -          )
   1.432 -         (MenuItem
   1.433 -            enabled: hasSingleSelectionHolder
   1.434 -            label: 'Selection'
   1.435 -            submenuChannel: middleButtonMenu
   1.436 -          )
   1.437 -         (MenuItem
   1.438 -            label: 'Widget'
   1.439 -            submenu: 
   1.440 -           (Menu
   1.441 -              (
   1.442 -               (MenuItem
   1.443 -                  enabled: hasSingleSelectionHolder
   1.444 -                  label: 'Browse'
   1.445 -                  itemValue: doBrowse:
   1.446 -                  argument: view
   1.447 -                )
   1.448 -               (MenuItem
   1.449 -                  enabled: hasSingleSelectionHolder
   1.450 -                  label: 'Inspect'
   1.451 -                  itemValue: doInspect:
   1.452 -                  argument: view
   1.453 -                )
   1.454 -               (MenuItem
   1.455 -                  label: '-'
   1.456 -                )
   1.457 -               (MenuItem
   1.458 -                  enabled: hasTargetWidgetChannel
   1.459 -                  label: 'All Components'
   1.460 -                  startGroup: right
   1.461 -                  submenuChannel: submenuComponents:
   1.462 -                )
   1.463 -               )
   1.464 -              nil
   1.465 -              nil
   1.466 -            )
   1.467 -          )
   1.468 -         (MenuItem
   1.469 -            label: 'Application'
   1.470 -            submenu: 
   1.471 -           (Menu
   1.472 -              (
   1.473 -               (MenuItem
   1.474 -                  label: 'Redraw'
   1.475 -                  itemValue: doRedraw
   1.476 -                )
   1.477 -               (MenuItem
   1.478 -                  label: '-'
   1.479 -                )
   1.480 -               (MenuItem
   1.481 -                  enabled: hasSingleSelectionHolder
   1.482 -                  label: 'Browse'
   1.483 -                  itemValue: doBrowse:
   1.484 -                  argument: application
   1.485 -                )
   1.486 -               (MenuItem
   1.487 -                  enabled: hasSingleSelectionHolder
   1.488 -                  label: 'Inspect'
   1.489 -                  itemValue: doInspect:
   1.490 -                  argument: application
   1.491 -                )
   1.492 -               (MenuItem
   1.493 -                  label: '-'
   1.494 -                )
   1.495 -               (MenuItem
   1.496 -                  enabled: canBrowseWindowSpecMethod
   1.497 -                  label: 'Browse Window Spec Method'
   1.498 -                  itemValue: doBrowseWindowSpecMethod
   1.499 -                )
   1.500 -               (MenuItem
   1.501 -                  enabled: canEditWindowSpec
   1.502 -                  label: 'Edit Window Spec'
   1.503 -                  itemValue: doEditWindowSpec
   1.504 -                )
   1.505 -               (MenuItem
   1.506 -                  label: '-'
   1.507 -                )
   1.508 -               (MenuItem
   1.509 -                  enabled: hasTargetWidgetChannel
   1.510 -                  label: 'All Applications'
   1.511 -                  submenuChannel: submenuApplications:
   1.512 -                )
   1.513 -               )
   1.514 -              nil
   1.515 -              nil
   1.516 -            )
   1.517 -          )
   1.518 -         (MenuItem
   1.519 -            label: 'Process'
   1.520 -            submenu: 
   1.521 -           (Menu
   1.522 -              (
   1.523 -               (MenuItem
   1.524 -                  enabled: hasSingleSelectionHolder
   1.525 -                  label: 'Debug'
   1.526 -                  itemValue: doDebugProcess
   1.527 -                )
   1.528 -               (MenuItem
   1.529 -                  enabled: hasSingleSelectionHolder
   1.530 -                  label: 'Inspect'
   1.531 -                  itemValue: doInspect:
   1.532 -                  argument: process
   1.533 -                )
   1.534 -               (MenuItem
   1.535 -                  label: '-'
   1.536 -                )
   1.537 -               (MenuItem
   1.538 -                  label: 'Open Process Monitor'
   1.539 -                  itemValue: doOpenProcessMonitor
   1.540 -                )
   1.541 -               )
   1.542 -              nil
   1.543 -              nil
   1.544 -            )
   1.545 -          )
   1.546 -         (MenuItem
   1.547 -            label: 'Help'
   1.548 -            startGroup: conditionalRight
   1.549 -            submenu: 
   1.550 -           (Menu
   1.551 -              (
   1.552 -               (MenuItem
   1.553 -                  label: 'Documentation'
   1.554 -                  itemValue: openDocumentation
   1.555 -                )
   1.556 -               (MenuItem
   1.557 -                  label: '-'
   1.558 -                )
   1.559 -               (MenuItem
   1.560 -                  label: 'About this Application...'
   1.561 -                  itemValue: openAboutThisApplication
   1.562 -                )
   1.563 -               )
   1.564 -              nil
   1.565 -              nil
   1.566 -            )
   1.567 -          )
   1.568 -         )
   1.569 -        nil
   1.570 -        nil
   1.571 +	(
   1.572 +	 (MenuItem
   1.573 +	    label: 'File'
   1.574 +	    submenu:
   1.575 +	   (Menu
   1.576 +	      (
   1.577 +	       (MenuItem
   1.578 +		  label: 'Pick a View'
   1.579 +		  itemValue: doPickView
   1.580 +		)
   1.581 +	       (MenuItem
   1.582 +		  enabled: hasTargetWidgetChannel
   1.583 +		  label: 'Release Picked View'
   1.584 +		  itemValue: doUnpick
   1.585 +		)
   1.586 +	       (MenuItem
   1.587 +		  label: '-'
   1.588 +		)
   1.589 +	       (MenuItem
   1.590 +		  label: 'Settings'
   1.591 +		  submenu:
   1.592 +		 (Menu
   1.593 +		    (
   1.594 +		     (MenuItem
   1.595 +			label: 'Test Mode'
   1.596 +			hideMenuOnActivated: false
   1.597 +			indication: testModeChannel
   1.598 +		      )
   1.599 +		     (MenuItem
   1.600 +			enabled: testModeChannel
   1.601 +			label: 'Follow Focus'
   1.602 +			hideMenuOnActivated: false
   1.603 +			indication: followFocusChannel
   1.604 +		      )
   1.605 +		     (MenuItem
   1.606 +			label: '-'
   1.607 +		      )
   1.608 +		     (MenuItem
   1.609 +			label: 'Select on Click'
   1.610 +			hideMenuOnActivated: false
   1.611 +			indication: selectOnClickHolder
   1.612 +		      )
   1.613 +		     (MenuItem
   1.614 +			label: '-'
   1.615 +		      )
   1.616 +		     (MenuItem
   1.617 +			label: 'Show Name of Widgets'
   1.618 +			hideMenuOnActivated: false
   1.619 +			indication: showNamesHolder
   1.620 +		      )
   1.621 +		     )
   1.622 +		    nil
   1.623 +		    nil
   1.624 +		  )
   1.625 +		)
   1.626 +	       (MenuItem
   1.627 +		  label: '-'
   1.628 +		)
   1.629 +	       (MenuItem
   1.630 +		  label: 'Exit'
   1.631 +		  itemValue: closeRequest
   1.632 +		)
   1.633 +	       )
   1.634 +	      nil
   1.635 +	      nil
   1.636 +	    )
   1.637 +	  )
   1.638 +	 (MenuItem
   1.639 +	    enabled: hasSingleSelectionHolder
   1.640 +	    label: 'Selection'
   1.641 +	    submenuChannel: middleButtonMenu
   1.642 +	  )
   1.643 +	 (MenuItem
   1.644 +	    label: 'Widget'
   1.645 +	    submenu:
   1.646 +	   (Menu
   1.647 +	      (
   1.648 +	       (MenuItem
   1.649 +		  enabled: hasSingleSelectionHolder
   1.650 +		  label: 'Browse'
   1.651 +		  itemValue: doBrowse:
   1.652 +		  argument: view
   1.653 +		)
   1.654 +	       (MenuItem
   1.655 +		  enabled: hasSingleSelectionHolder
   1.656 +		  label: 'Inspect'
   1.657 +		  itemValue: doInspect:
   1.658 +		  argument: view
   1.659 +		)
   1.660 +	       (MenuItem
   1.661 +		  label: '-'
   1.662 +		)
   1.663 +	       (MenuItem
   1.664 +		  enabled: hasTargetWidgetChannel
   1.665 +		  label: 'All Components'
   1.666 +		  startGroup: right
   1.667 +		  submenuChannel: submenuComponents:
   1.668 +		)
   1.669 +	       )
   1.670 +	      nil
   1.671 +	      nil
   1.672 +	    )
   1.673 +	  )
   1.674 +	 (MenuItem
   1.675 +	    label: 'Application'
   1.676 +	    submenu:
   1.677 +	   (Menu
   1.678 +	      (
   1.679 +	       (MenuItem
   1.680 +		  label: 'Redraw'
   1.681 +		  itemValue: doRedraw
   1.682 +		)
   1.683 +	       (MenuItem
   1.684 +		  label: '-'
   1.685 +		)
   1.686 +	       (MenuItem
   1.687 +		  enabled: hasSingleSelectionHolder
   1.688 +		  label: 'Browse'
   1.689 +		  itemValue: doBrowse:
   1.690 +		  argument: application
   1.691 +		)
   1.692 +	       (MenuItem
   1.693 +		  enabled: hasSingleSelectionHolder
   1.694 +		  label: 'Inspect'
   1.695 +		  itemValue: doInspect:
   1.696 +		  argument: application
   1.697 +		)
   1.698 +	       (MenuItem
   1.699 +		  label: '-'
   1.700 +		)
   1.701 +	       (MenuItem
   1.702 +		  enabled: canBrowseWindowSpecMethod
   1.703 +		  label: 'Browse Window Spec Method'
   1.704 +		  itemValue: doBrowseWindowSpecMethod
   1.705 +		)
   1.706 +	       (MenuItem
   1.707 +		  enabled: canEditWindowSpec
   1.708 +		  label: 'Edit Window Spec'
   1.709 +		  itemValue: doEditWindowSpec
   1.710 +		)
   1.711 +	       (MenuItem
   1.712 +		  label: '-'
   1.713 +		)
   1.714 +	       (MenuItem
   1.715 +		  enabled: hasTargetWidgetChannel
   1.716 +		  label: 'All Applications'
   1.717 +		  submenuChannel: submenuApplications:
   1.718 +		)
   1.719 +	       )
   1.720 +	      nil
   1.721 +	      nil
   1.722 +	    )
   1.723 +	  )
   1.724 +	 (MenuItem
   1.725 +	    label: 'Process'
   1.726 +	    submenu:
   1.727 +	   (Menu
   1.728 +	      (
   1.729 +	       (MenuItem
   1.730 +		  enabled: hasSingleSelectionHolder
   1.731 +		  label: 'Debug'
   1.732 +		  itemValue: doDebugProcess
   1.733 +		)
   1.734 +	       (MenuItem
   1.735 +		  enabled: hasSingleSelectionHolder
   1.736 +		  label: 'Inspect'
   1.737 +		  itemValue: doInspect:
   1.738 +		  argument: process
   1.739 +		)
   1.740 +	       (MenuItem
   1.741 +		  label: '-'
   1.742 +		)
   1.743 +	       (MenuItem
   1.744 +		  label: 'Open Process Monitor'
   1.745 +		  itemValue: doOpenProcessMonitor
   1.746 +		)
   1.747 +	       )
   1.748 +	      nil
   1.749 +	      nil
   1.750 +	    )
   1.751 +	  )
   1.752 +	 (MenuItem
   1.753 +	    label: 'Help'
   1.754 +	    startGroup: conditionalRight
   1.755 +	    submenu:
   1.756 +	   (Menu
   1.757 +	      (
   1.758 +	       (MenuItem
   1.759 +		  label: 'Documentation'
   1.760 +		  itemValue: openDocumentation
   1.761 +		)
   1.762 +	       (MenuItem
   1.763 +		  label: '-'
   1.764 +		)
   1.765 +	       (MenuItem
   1.766 +		  label: 'About this Application...'
   1.767 +		  itemValue: openAboutThisApplication
   1.768 +		)
   1.769 +	       )
   1.770 +	      nil
   1.771 +	      nil
   1.772 +	    )
   1.773 +	  )
   1.774 +	 )
   1.775 +	nil
   1.776 +	nil
   1.777        )
   1.778  !
   1.779  
   1.780 @@ -630,124 +630,124 @@
   1.781  
   1.782      <resource: #menu>
   1.783  
   1.784 -    ^ 
   1.785 +    ^
   1.786       #(Menu
   1.787 -        (
   1.788 -         (MenuItem
   1.789 -            label: 'Browse View Class'
   1.790 -            itemValue: doBrowse:
   1.791 -            argument: view
   1.792 -          )
   1.793 -         (MenuItem
   1.794 -            label: 'Browse Model Class'
   1.795 -            itemValue: doBrowse:
   1.796 -            isVisible: hasModel
   1.797 -            argument: model
   1.798 -          )
   1.799 -         (MenuItem
   1.800 -            label: 'Browse Application Class'
   1.801 -            itemValue: doBrowse:
   1.802 -            isVisible: hasApplication
   1.803 -            argument: application
   1.804 -          )
   1.805 -         (MenuItem
   1.806 -            label: 'Browse Controller Class'
   1.807 -            itemValue: doBrowse:
   1.808 -            isVisible: hasController
   1.809 -            argument: controller
   1.810 -          )
   1.811 -         (MenuItem
   1.812 -            label: '-'
   1.813 -          )
   1.814 -         (MenuItem
   1.815 -            label: 'Inspect View'
   1.816 -            itemValue: doInspect:
   1.817 -            argument: view
   1.818 -          )
   1.819 -         (MenuItem
   1.820 -            label: 'Inspect Window Group'
   1.821 -            itemValue: doInspect:
   1.822 -            argument: group
   1.823 -          )
   1.824 -         (MenuItem
   1.825 -            label: 'Inspect Model'
   1.826 -            itemValue: doInspect:
   1.827 -            isVisible: hasModel
   1.828 -            argument: model
   1.829 -          )
   1.830 -         (MenuItem
   1.831 -            label: 'Inspect Application'
   1.832 -            itemValue: doInspect:
   1.833 -            isVisible: hasApplication
   1.834 -            argument: application
   1.835 -          )
   1.836 -         (MenuItem
   1.837 -            label: 'Inspect Controller'
   1.838 -            itemValue: doInspect:
   1.839 -            isVisible: hasController
   1.840 -            argument: controller
   1.841 -          )
   1.842 -         (MenuItem
   1.843 -            label: '-'
   1.844 -          )
   1.845 -         (MenuItem
   1.846 -            label: 'Flash'
   1.847 -            itemValue: doFlash
   1.848 -          )
   1.849 -         (MenuItem
   1.850 -            label: '-'
   1.851 -          )
   1.852 -         (MenuItem
   1.853 -            label: 'Destroy'
   1.854 -            itemValue: doDestroy
   1.855 -            labelImage: (ResourceRetriever ToolbarIconLibrary erase16x16Icon 'Destroy')
   1.856 -          )
   1.857 -         (MenuItem
   1.858 -            label: '-'
   1.859 -          )
   1.860 -         (MenuItem
   1.861 -            label: 'Geometry'
   1.862 -            submenuChannel: submenuGeometry:
   1.863 -            keepLinkedMenu: true
   1.864 -          )
   1.865 -         (MenuItem
   1.866 -            label: 'Interface'
   1.867 -            submenuChannel: submenuInterface:
   1.868 -            keepLinkedMenu: true
   1.869 -          )
   1.870 -         (MenuItem
   1.871 -            label: 'Visibility'
   1.872 -            submenuChannel: submenuVisibility:
   1.873 -            keepLinkedMenu: true
   1.874 -          )
   1.875 -         (MenuItem
   1.876 -            label: 'Instance Variables'
   1.877 -            submenuChannel: submenuInspector:
   1.878 -            keepLinkedMenu: true
   1.879 -          )
   1.880 -         (MenuItem
   1.881 -            label: '='
   1.882 -          )
   1.883 -         (MenuItem
   1.884 -            label: ''
   1.885 -          )
   1.886 -         (MenuItem
   1.887 -            enabled: selectedComponentHasChildren
   1.888 -            label: 'Applications'
   1.889 -            nameKey: single
   1.890 -            submenuChannel: submenuApplications:
   1.891 -            keepLinkedMenu: true
   1.892 -          )
   1.893 -         (MenuItem
   1.894 -            enabled: selectedComponentHasChildren
   1.895 -            label: 'Components'
   1.896 -            nameKey: single
   1.897 -            submenuChannel: submenuComponents:
   1.898 -            keepLinkedMenu: true
   1.899 -          )
   1.900 -         )
   1.901 -        nil
   1.902 -        nil
   1.903 +	(
   1.904 +	 (MenuItem
   1.905 +	    label: 'Browse View Class'
   1.906 +	    itemValue: doBrowse:
   1.907 +	    argument: view
   1.908 +	  )
   1.909 +	 (MenuItem
   1.910 +	    label: 'Browse Model Class'
   1.911 +	    itemValue: doBrowse:
   1.912 +	    isVisible: hasModel
   1.913 +	    argument: model
   1.914 +	  )
   1.915 +	 (MenuItem
   1.916 +	    label: 'Browse Application Class'
   1.917 +	    itemValue: doBrowse:
   1.918 +	    isVisible: hasApplication
   1.919 +	    argument: application
   1.920 +	  )
   1.921 +	 (MenuItem
   1.922 +	    label: 'Browse Controller Class'
   1.923 +	    itemValue: doBrowse:
   1.924 +	    isVisible: hasController
   1.925 +	    argument: controller
   1.926 +	  )
   1.927 +	 (MenuItem
   1.928 +	    label: '-'
   1.929 +	  )
   1.930 +	 (MenuItem
   1.931 +	    label: 'Inspect View'
   1.932 +	    itemValue: doInspect:
   1.933 +	    argument: view
   1.934 +	  )
   1.935 +	 (MenuItem
   1.936 +	    label: 'Inspect Window Group'
   1.937 +	    itemValue: doInspect:
   1.938 +	    argument: group
   1.939 +	  )
   1.940 +	 (MenuItem
   1.941 +	    label: 'Inspect Model'
   1.942 +	    itemValue: doInspect:
   1.943 +	    isVisible: hasModel
   1.944 +	    argument: model
   1.945 +	  )
   1.946 +	 (MenuItem
   1.947 +	    label: 'Inspect Application'
   1.948 +	    itemValue: doInspect:
   1.949 +	    isVisible: hasApplication
   1.950 +	    argument: application
   1.951 +	  )
   1.952 +	 (MenuItem
   1.953 +	    label: 'Inspect Controller'
   1.954 +	    itemValue: doInspect:
   1.955 +	    isVisible: hasController
   1.956 +	    argument: controller
   1.957 +	  )
   1.958 +	 (MenuItem
   1.959 +	    label: '-'
   1.960 +	  )
   1.961 +	 (MenuItem
   1.962 +	    label: 'Flash'
   1.963 +	    itemValue: doFlash
   1.964 +	  )
   1.965 +	 (MenuItem
   1.966 +	    label: '-'
   1.967 +	  )
   1.968 +	 (MenuItem
   1.969 +	    label: 'Destroy'
   1.970 +	    itemValue: doDestroy
   1.971 +	    labelImage: (ResourceRetriever ToolbarIconLibrary erase16x16Icon 'Destroy')
   1.972 +	  )
   1.973 +	 (MenuItem
   1.974 +	    label: '-'
   1.975 +	  )
   1.976 +	 (MenuItem
   1.977 +	    label: 'Geometry'
   1.978 +	    submenuChannel: submenuGeometry:
   1.979 +	    keepLinkedMenu: true
   1.980 +	  )
   1.981 +	 (MenuItem
   1.982 +	    label: 'Interface'
   1.983 +	    submenuChannel: submenuInterface:
   1.984 +	    keepLinkedMenu: true
   1.985 +	  )
   1.986 +	 (MenuItem
   1.987 +	    label: 'Visibility'
   1.988 +	    submenuChannel: submenuVisibility:
   1.989 +	    keepLinkedMenu: true
   1.990 +	  )
   1.991 +	 (MenuItem
   1.992 +	    label: 'Instance Variables'
   1.993 +	    submenuChannel: submenuInspector:
   1.994 +	    keepLinkedMenu: true
   1.995 +	  )
   1.996 +	 (MenuItem
   1.997 +	    label: '='
   1.998 +	  )
   1.999 +	 (MenuItem
  1.1000 +	    label: ''
  1.1001 +	  )
  1.1002 +	 (MenuItem
  1.1003 +	    enabled: selectedComponentHasChildren
  1.1004 +	    label: 'Applications'
  1.1005 +	    nameKey: single
  1.1006 +	    submenuChannel: submenuApplications:
  1.1007 +	    keepLinkedMenu: true
  1.1008 +	  )
  1.1009 +	 (MenuItem
  1.1010 +	    enabled: selectedComponentHasChildren
  1.1011 +	    label: 'Components'
  1.1012 +	    nameKey: single
  1.1013 +	    submenuChannel: submenuComponents:
  1.1014 +	    keepLinkedMenu: true
  1.1015 +	  )
  1.1016 +	 )
  1.1017 +	nil
  1.1018 +	nil
  1.1019        )
  1.1020  !
  1.1021  
  1.1022 @@ -766,33 +766,33 @@
  1.1023  
  1.1024      <resource: #menu>
  1.1025  
  1.1026 -    ^ 
  1.1027 +    ^
  1.1028       #(Menu
  1.1029 -        (
  1.1030 -         (MenuItem
  1.1031 -            label: 'Browse Menu Item''s Class'
  1.1032 -            itemValue: doBrowse:
  1.1033 -            argument: menuItem
  1.1034 -          )
  1.1035 -         (MenuItem
  1.1036 -            label: '-'
  1.1037 -          )
  1.1038 -         (MenuItem
  1.1039 -            label: 'Inspect Menu Item'
  1.1040 -            itemValue: doInspect:
  1.1041 -            argument: menuItem
  1.1042 -          )
  1.1043 -         (MenuItem
  1.1044 -            label: '-'
  1.1045 -          )
  1.1046 -         (MenuItem
  1.1047 -            label: 'Interface'
  1.1048 -            submenuChannel: submenuMenuItemInterface:
  1.1049 -            keepLinkedMenu: true
  1.1050 -          )
  1.1051 -         )
  1.1052 -        nil
  1.1053 -        nil
  1.1054 +	(
  1.1055 +	 (MenuItem
  1.1056 +	    label: 'Browse Menu Item''s Class'
  1.1057 +	    itemValue: doBrowse:
  1.1058 +	    argument: menuItem
  1.1059 +	  )
  1.1060 +	 (MenuItem
  1.1061 +	    label: '-'
  1.1062 +	  )
  1.1063 +	 (MenuItem
  1.1064 +	    label: 'Inspect Menu Item'
  1.1065 +	    itemValue: doInspect:
  1.1066 +	    argument: menuItem
  1.1067 +	  )
  1.1068 +	 (MenuItem
  1.1069 +	    label: '-'
  1.1070 +	  )
  1.1071 +	 (MenuItem
  1.1072 +	    label: 'Interface'
  1.1073 +	    submenuChannel: submenuMenuItemInterface:
  1.1074 +	    keepLinkedMenu: true
  1.1075 +	  )
  1.1076 +	 )
  1.1077 +	nil
  1.1078 +	nil
  1.1079        )
  1.1080  
  1.1081      "Created: / 16-08-2017 / 13:48:49 / cg"
  1.1082 @@ -813,75 +813,75 @@
  1.1083  
  1.1084      <resource: #menu>
  1.1085  
  1.1086 -    ^ 
  1.1087 +    ^
  1.1088       #(Menu
  1.1089 -        (
  1.1090 -         (MenuItem
  1.1091 -            enabled: hasTargetWidgetChannel
  1.1092 -            label: 'Redraw'
  1.1093 -            itemValue: doRedraw
  1.1094 -            isButton: true
  1.1095 -            labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon)
  1.1096 -          )
  1.1097 -         (MenuItem
  1.1098 -            label: '-'
  1.1099 -          )
  1.1100 -         (MenuItem
  1.1101 -            label: 'Pick a View and Catch Events'
  1.1102 -            itemValue: doPickView
  1.1103 -            translateLabel: false
  1.1104 -            isButton: true
  1.1105 -            hideMenuOnActivated: false
  1.1106 -            labelImage: (ResourceRetriever ToolbarIconLibrary pickWindowIcon)
  1.1107 -          )
  1.1108 -         (MenuItem
  1.1109 -            enabled: hasTargetWidgetChannel
  1.1110 -            isVisible: isNotCatchingEventsChannel
  1.1111 -            label: 'Catch Events of Picked View'
  1.1112 -            activeHelpKey: doCatchEvents
  1.1113 -            itemValue: doCatchEvents
  1.1114 -            nameKey: doCatchEvents
  1.1115 -            isButton: true
  1.1116 -            labelImage: (ResourceRetriever nil releaseViewIcon)
  1.1117 -          )
  1.1118 -         (MenuItem
  1.1119 -            enabled: hasTargetWidgetChannel
  1.1120 -            isVisible: isCatchingEventsChannel
  1.1121 -            label: 'Release Picked View and Uncatch Events'
  1.1122 -            activeHelpKey: doUncatchEvents
  1.1123 -            itemValue: doUncatchEvents
  1.1124 -            nameKey: doUncatchEvents
  1.1125 -            isButton: true
  1.1126 -            labelImage: (ResourceRetriever nil lockViewIcon)
  1.1127 -          )
  1.1128 -         (MenuItem
  1.1129 -            label: '-'
  1.1130 -          )
  1.1131 -         (MenuItem
  1.1132 -            activeHelpKey: doBrowseApplication
  1.1133 -            enabled: hasSingleSelectionHolder
  1.1134 -            label: 'Browse Application'
  1.1135 -            itemValue: doBrowse:
  1.1136 -            translateLabel: false
  1.1137 -            isButton: true
  1.1138 -            hideMenuOnActivated: false
  1.1139 -            labelImage: (ResourceRetriever ToolbarIconLibrary systemBrowser24x24Icon2)
  1.1140 -            argument: application
  1.1141 -          )
  1.1142 -         (MenuItem
  1.1143 -            activeHelpKey: doInspectApplication
  1.1144 -            enabled: hasSingleSelectionHolder
  1.1145 -            label: 'Inspect Application'
  1.1146 -            itemValue: doInspect:
  1.1147 -            translateLabel: false
  1.1148 -            isButton: true
  1.1149 -            hideMenuOnActivated: false
  1.1150 -            labelImage: (ResourceRetriever ToolbarIconLibrary inspect22x24Icon)
  1.1151 -            argument: application
  1.1152 -          )
  1.1153 -         )
  1.1154 -        nil
  1.1155 -        nil
  1.1156 +	(
  1.1157 +	 (MenuItem
  1.1158 +	    enabled: hasTargetWidgetChannel
  1.1159 +	    label: 'Redraw'
  1.1160 +	    itemValue: doRedraw
  1.1161 +	    isButton: true
  1.1162 +	    labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon)
  1.1163 +	  )
  1.1164 +	 (MenuItem
  1.1165 +	    label: '-'
  1.1166 +	  )
  1.1167 +	 (MenuItem
  1.1168 +	    label: 'Pick a View and Catch Events'
  1.1169 +	    itemValue: doPickView
  1.1170 +	    translateLabel: false
  1.1171 +	    isButton: true
  1.1172 +	    hideMenuOnActivated: false
  1.1173 +	    labelImage: (ResourceRetriever ToolbarIconLibrary pickWindowIcon)
  1.1174 +	  )
  1.1175 +	 (MenuItem
  1.1176 +	    enabled: hasTargetWidgetChannel
  1.1177 +	    isVisible: isNotCatchingEventsChannel
  1.1178 +	    label: 'Catch Events of Picked View'
  1.1179 +	    activeHelpKey: doCatchEvents
  1.1180 +	    itemValue: doCatchEvents
  1.1181 +	    nameKey: doCatchEvents
  1.1182 +	    isButton: true
  1.1183 +	    labelImage: (ResourceRetriever nil releaseViewIcon)
  1.1184 +	  )
  1.1185 +	 (MenuItem
  1.1186 +	    enabled: hasTargetWidgetChannel
  1.1187 +	    isVisible: isCatchingEventsChannel
  1.1188 +	    label: 'Release Picked View and Uncatch Events'
  1.1189 +	    activeHelpKey: doUncatchEvents
  1.1190 +	    itemValue: doUncatchEvents
  1.1191 +	    nameKey: doUncatchEvents
  1.1192 +	    isButton: true
  1.1193 +	    labelImage: (ResourceRetriever nil lockViewIcon)
  1.1194 +	  )
  1.1195 +	 (MenuItem
  1.1196 +	    label: '-'
  1.1197 +	  )
  1.1198 +	 (MenuItem
  1.1199 +	    activeHelpKey: doBrowseApplication
  1.1200 +	    enabled: hasSingleSelectionHolder
  1.1201 +	    label: 'Browse Application'
  1.1202 +	    itemValue: doBrowse:
  1.1203 +	    translateLabel: false
  1.1204 +	    isButton: true
  1.1205 +	    hideMenuOnActivated: false
  1.1206 +	    labelImage: (ResourceRetriever ToolbarIconLibrary systemBrowser24x24Icon2)
  1.1207 +	    argument: application
  1.1208 +	  )
  1.1209 +	 (MenuItem
  1.1210 +	    activeHelpKey: doInspectApplication
  1.1211 +	    enabled: hasSingleSelectionHolder
  1.1212 +	    label: 'Inspect Application'
  1.1213 +	    itemValue: doInspect:
  1.1214 +	    translateLabel: false
  1.1215 +	    isButton: true
  1.1216 +	    hideMenuOnActivated: false
  1.1217 +	    labelImage: (ResourceRetriever ToolbarIconLibrary inspect22x24Icon)
  1.1218 +	    argument: application
  1.1219 +	  )
  1.1220 +	 )
  1.1221 +	nil
  1.1222 +	nil
  1.1223        )
  1.1224  ! !
  1.1225  
  1.1226 @@ -926,13 +926,13 @@
  1.1227      item := model listOfItems at:anIndex ifAbsent:nil.
  1.1228  
  1.1229      item notNil ifTrue:[
  1.1230 -        (     (sensor := self window sensor) notNil
  1.1231 -         and:[(sensor ctrlDown or:[sensor shiftDown])]
  1.1232 -        ) ifTrue:[
  1.1233 -            item recursiveToggleExpand
  1.1234 -        ] ifFalse:[
  1.1235 -            item toggleExpand
  1.1236 -        ]
  1.1237 +	(     (sensor := self window sensor) notNil
  1.1238 +	 and:[(sensor ctrlDown or:[sensor shiftDown])]
  1.1239 +	) ifTrue:[
  1.1240 +	    item recursiveToggleExpand
  1.1241 +	] ifFalse:[
  1.1242 +	    item toggleExpand
  1.1243 +	]
  1.1244      ].
  1.1245  ! !
  1.1246  
  1.1247 @@ -944,14 +944,14 @@
  1.1248       2->Application
  1.1249       3->WindowGroup
  1.1250       4->Sensor
  1.1251 -     5->Model 
  1.1252 -     6->Widget Class 
  1.1253 -     7->Application Class 
  1.1254 +     5->Model
  1.1255 +     6->Widget Class
  1.1256 +     7->Application Class
  1.1257      "
  1.1258  
  1.1259      ^ BlockValue
  1.1260 -        with:[:v | self inspectorMode == #widgetClass or:[self inspectorMode == #applicationClass] ]
  1.1261 -        argument:self inspectorModeIndexHolder
  1.1262 +	with:[:v | self inspectorMode == #widgetClass or:[self inspectorMode == #applicationClass] ]
  1.1263 +	argument:self inspectorModeIndexHolder
  1.1264  !
  1.1265  
  1.1266  canBrowseWindowSpecMethod
  1.1267 @@ -986,9 +986,9 @@
  1.1268       2->application
  1.1269       3->WindowGroup
  1.1270       4->Sensor
  1.1271 -     5->Model 
  1.1272 -     6->Widget Class 
  1.1273 -     7->Application Class 
  1.1274 +     5->Model
  1.1275 +     6->Widget Class
  1.1276 +     7->Application Class
  1.1277      "
  1.1278  
  1.1279      |mode|
  1.1280 @@ -1004,9 +1004,9 @@
  1.1281       2->Application
  1.1282       3->WindowGroup
  1.1283       4->Sensor
  1.1284 -     5->Model 
  1.1285 -     6->Widget Class 
  1.1286 -     7->Application Class 
  1.1287 +     5->Model
  1.1288 +     6->Widget Class
  1.1289 +     7->Application Class
  1.1290      "
  1.1291  
  1.1292      ^ inspectorModeIndexHolder
  1.1293 @@ -1027,14 +1027,14 @@
  1.1294       2->Application
  1.1295       3->WindowGroup
  1.1296       4->Sensor
  1.1297 -     5->Model 
  1.1298 -     6->Widget Class 
  1.1299 -     7->Application Class 
  1.1300 +     5->Model
  1.1301 +     6->Widget Class
  1.1302 +     7->Application Class
  1.1303      "
  1.1304  
  1.1305      ^ BlockValue
  1.1306 -        with:[:v | v not ]
  1.1307 -        argument:self browserVisibleHolder
  1.1308 +	with:[:v | v not ]
  1.1309 +	argument:self browserVisibleHolder
  1.1310  !
  1.1311  
  1.1312  isCatchingEventsChannel
  1.1313 @@ -1061,10 +1061,10 @@
  1.1314      <resource: #uiAspect>
  1.1315  
  1.1316      path isNil ifTrue:[
  1.1317 -        path := PluggableAdaptor 
  1.1318 -                    on: self model 
  1.1319 -                    getter:[ :model | model path ]
  1.1320 -                    setter:[ :model :newValue |  ]
  1.1321 +	path := PluggableAdaptor
  1.1322 +		    on: self model
  1.1323 +		    getter:[ :model | model path ]
  1.1324 +		    setter:[ :model :newValue |  ]
  1.1325      ].
  1.1326      ^ path.
  1.1327  
  1.1328 @@ -1099,16 +1099,16 @@
  1.1329       spec builder specSelector implementors|
  1.1330  
  1.1331      item := model selectedItem.
  1.1332 -    item isNil ifTrue:[^ nil]. 
  1.1333 +    item isNil ifTrue:[^ nil].
  1.1334  
  1.1335      view := item widget.
  1.1336 -    view isNil ifTrue:[^ nil]. 
  1.1337 +    view isNil ifTrue:[^ nil].
  1.1338  
  1.1339      app := view application.
  1.1340 -    app isNil ifTrue:[^ nil]. 
  1.1341 -    
  1.1342 +    app isNil ifTrue:[^ nil].
  1.1343 +
  1.1344      builder := app builder.
  1.1345 -    builder isNil ifTrue:[^ nil]. 
  1.1346 +    builder isNil ifTrue:[^ nil].
  1.1347  
  1.1348      spec := builder spec.
  1.1349      spec isNil ifTrue:[^ nil].
  1.1350 @@ -1117,25 +1117,25 @@
  1.1351      specSelector isNil ifTrue:[^ nil].
  1.1352  
  1.1353      ((nonMeta := app class theNonMetaclass) canUnderstand:specSelector) ifTrue:[
  1.1354 -        ^ nonMeta lookupMethodFor:specSelector.
  1.1355 +	^ nonMeta lookupMethodFor:specSelector.
  1.1356      ].
  1.1357      ((meta := app class theMetaclass) canUnderstand:specSelector) ifTrue:[
  1.1358 -        ^ meta lookupMethodFor:specSelector.
  1.1359 +	^ meta lookupMethodFor:specSelector.
  1.1360      ].
  1.1361  
  1.1362      "/ maybe a simple dialog given a spec
  1.1363      (masterApp := app masterApplication) notNil ifTrue:[
  1.1364 -        ((nonMeta := masterApp class theNonMetaclass) canUnderstand:specSelector) ifTrue:[     
  1.1365 -            ^ nonMeta lookupMethodFor:specSelector.
  1.1366 -        ].
  1.1367 -        ((meta := masterApp class theMetaclass) canUnderstand:specSelector) ifTrue:[    
  1.1368 -            ^ meta lookupMethodFor:specSelector.
  1.1369 -        ].
  1.1370 +	((nonMeta := masterApp class theNonMetaclass) canUnderstand:specSelector) ifTrue:[
  1.1371 +	    ^ nonMeta lookupMethodFor:specSelector.
  1.1372 +	].
  1.1373 +	((meta := masterApp class theMetaclass) canUnderstand:specSelector) ifTrue:[
  1.1374 +	    ^ meta lookupMethodFor:specSelector.
  1.1375 +	].
  1.1376      ].
  1.1377  
  1.1378      implementors := Smalltalk allImplementorsOf: specSelector.
  1.1379      implementors size == 1 ifTrue:[
  1.1380 -        ^ implementors first compiledMethodAt:specSelector.
  1.1381 +	^ implementors first compiledMethodAt:specSelector.
  1.1382      ].
  1.1383  
  1.1384      ^ nil
  1.1385 @@ -1153,28 +1153,28 @@
  1.1386      |info view item|
  1.1387  
  1.1388      item := model selectedItem.
  1.1389 -    item notNil ifTrue:[ 
  1.1390 -        |state|
  1.1391 -
  1.1392 -        view := item widget.
  1.1393 -        view isNil ifTrue:[
  1.1394 -            info := '%1 [%2]' bindWith:(item menuItem label asString)
  1.1395 -                                  with:(item menuItem value asString).
  1.1396 -        ] ifFalse:[    
  1.1397 -            view id isNil ifTrue:[
  1.1398 -                state := 'no ID'.
  1.1399 -            ] ifFalse:[
  1.1400 -                view shown ifTrue:[
  1.1401 -                    state := 'visible'.
  1.1402 -                ] ifFalse:[
  1.1403 -                    state := 'invisible'
  1.1404 -                ].
  1.1405 -            ].
  1.1406 -            info := '%1 [%2] - %3' bindWith:(view class name)
  1.1407 -                                       with:(view name ? '') with:state allBold.
  1.1408 -        ]
  1.1409 +    item notNil ifTrue:[
  1.1410 +	|state|
  1.1411 +
  1.1412 +	view := item widget.
  1.1413 +	view isNil ifTrue:[
  1.1414 +	    info := '%1 [%2]' bindWith:(item menuItem label asString)
  1.1415 +				  with:(item menuItem value asString).
  1.1416 +	] ifFalse:[
  1.1417 +	    view id isNil ifTrue:[
  1.1418 +		state := 'no ID'.
  1.1419 +	    ] ifFalse:[
  1.1420 +		view shown ifTrue:[
  1.1421 +		    state := 'visible'.
  1.1422 +		] ifFalse:[
  1.1423 +		    state := 'invisible'
  1.1424 +		].
  1.1425 +	    ].
  1.1426 +	    info := '%1 [%2] - %3' bindWith:(view class name)
  1.1427 +				       with:(view name ? '') with:state allBold.
  1.1428 +	]
  1.1429      ] ifFalse:[
  1.1430 -        info := ''
  1.1431 +	info := ''
  1.1432      ].
  1.1433      hasSingleSelectionHolder value:(view notNil).
  1.1434      self updateInspector
  1.1435 @@ -1186,16 +1186,16 @@
  1.1436      |oldSelection|
  1.1437  
  1.1438      aModel == showNamesHolder ifTrue:[
  1.1439 -        oldSelection := model selectedItem.
  1.1440 -        model selectedItem:nil.
  1.1441 -        self listOfItems showWidgetNames:(aModel value).
  1.1442 -        model selectedItem:oldSelection.
  1.1443 -        ^ self
  1.1444 +	oldSelection := model selectedItem.
  1.1445 +	model selectedItem:nil.
  1.1446 +	self listOfItems showWidgetNames:(aModel value).
  1.1447 +	model selectedItem:oldSelection.
  1.1448 +	^ self
  1.1449      ].
  1.1450  
  1.1451      aModel == model ifTrue:[
  1.1452 -        self selectionChanged.
  1.1453 -        ^ self
  1.1454 +	self selectionChanged.
  1.1455 +	^ self
  1.1456      ].
  1.1457  
  1.1458      super update:something with:someArgument from:aModel.
  1.1459 @@ -1205,13 +1205,13 @@
  1.1460      |cls widget|
  1.1461  
  1.1462      widget := self selectedView.
  1.1463 -    
  1.1464 +
  1.1465      "/ update the browser
  1.1466      self inspectorMode == #widgetClass ifTrue:[
  1.1467 -        cls := widget class.
  1.1468 +	cls := widget class.
  1.1469      ] ifFalse:[
  1.1470 -        cls := widget application class
  1.1471 -    ].    
  1.1472 +	cls := widget application class
  1.1473 +    ].
  1.1474      browser switchToClass:cls selector:nil.
  1.1475  !
  1.1476  
  1.1477 @@ -1220,25 +1220,25 @@
  1.1478  
  1.1479      view := self selectedView.
  1.1480      mode := self inspectorMode.
  1.1481 -    
  1.1482 +
  1.1483      ((mode == #widgetClass) or:[(mode == #applicationClass)]) ifTrue:[
  1.1484 -        "/ update the browser
  1.1485 -        view notNil ifTrue:[
  1.1486 -            self updateBrowser.
  1.1487 -        ].
  1.1488 -        ^ self.
  1.1489 +	"/ update the browser
  1.1490 +	view notNil ifTrue:[
  1.1491 +	    self updateBrowser.
  1.1492 +	].
  1.1493 +	^ self.
  1.1494      ].
  1.1495 -    
  1.1496 +
  1.1497      (view isNil or:[mode == #widget]) ifTrue:[
  1.1498 -        obj := view.
  1.1499 +	obj := view.
  1.1500      ] ifFalse:[ (mode == #group) ifTrue:[
  1.1501 -        obj := view windowGroup
  1.1502 +	obj := view windowGroup
  1.1503      ] ifFalse:[ (mode == #sensor) ifTrue:[
  1.1504 -        obj := view sensor
  1.1505 +	obj := view sensor
  1.1506      ] ifFalse:[ (mode == #model) ifTrue:[
  1.1507 -        obj := view model
  1.1508 +	obj := view model
  1.1509      ] ifFalse:[
  1.1510 -        obj := view application.
  1.1511 +	obj := view application.
  1.1512      ]]]].
  1.1513      inspectorView inspect:obj.
  1.1514      inspectorView headLineLabel:(obj class nameWithoutPrefix)
  1.1515 @@ -1254,19 +1254,19 @@
  1.1516      motionAction isNil ifTrue:[^ self].
  1.1517  
  1.1518      (rootView := model rootView) isNil ifTrue:[
  1.1519 -        clickedItem := motionAction := nil.
  1.1520 -        ^ self
  1.1521 +	clickedItem := motionAction := nil.
  1.1522 +	^ self
  1.1523      ].
  1.1524  
  1.1525      click := rootView device
  1.1526 -            translatePoint:((ev x)@ (ev y))
  1.1527 -            fromView:(ev view)
  1.1528 -            toView:rootView.
  1.1529 +	    translatePoint:((ev x)@ (ev y))
  1.1530 +	    fromView:(ev view)
  1.1531 +	    toView:rootView.
  1.1532  
  1.1533      click = clickedPoint ifFalse:[
  1.1534 -        (clickedItem isNil or:[(click dist:clickedPoint) > 5.0]) ifTrue:[
  1.1535 -            motionAction value:click
  1.1536 -        ]
  1.1537 +	(clickedItem isNil or:[(click dist:clickedPoint) > 5.0]) ifTrue:[
  1.1538 +	    motionAction value:click
  1.1539 +	]
  1.1540      ].
  1.1541  !
  1.1542  
  1.1543 @@ -1278,37 +1278,37 @@
  1.1544      clickedItem := model listOfItems detectItemRespondsToView:(ev view).
  1.1545  
  1.1546      (sensor ctrlDown or:[sensor shiftDown]) ifTrue:[
  1.1547 -        clickedItem notNil ifTrue:[
  1.1548 -            self selectOnClickHolder value ifTrue:[
  1.1549 -                model toggleSelectItem:clickedItem
  1.1550 -            ].
  1.1551 -        ].
  1.1552 -        clickedItem := motionAction := nil.
  1.1553 -        ^ self
  1.1554 +	clickedItem notNil ifTrue:[
  1.1555 +	    self selectOnClickHolder value ifTrue:[
  1.1556 +		model toggleSelectItem:clickedItem
  1.1557 +	    ].
  1.1558 +	].
  1.1559 +	clickedItem := motionAction := nil.
  1.1560 +	^ self
  1.1561      ].
  1.1562  
  1.1563      clickedPoint := rootView device translatePoint:((ev x)@ (ev y))  fromView:(ev view) toView:rootView.
  1.1564      lastRectangle := nil.
  1.1565  
  1.1566      motionAction :=[:p|
  1.1567 -        rootView    := model rootView device rootView.
  1.1568 -        rootView    := model rootView.
  1.1569 -        clickedItem := nil.
  1.1570 -
  1.1571 -        rootView xoring:[
  1.1572 -            lastRectangle notNil ifTrue:[ rootView displayRectangle:lastRectangle ]
  1.1573 -                                ifFalse:[ rootView clippedByChildren:false ].
  1.1574 -
  1.1575 -            p isNil ifTrue:[
  1.1576 -                rootView clippedByChildren:true.
  1.1577 -                motionAction := nil.
  1.1578 -            ] ifFalse:[
  1.1579 -                lastRectangle := Rectangle origin:(clickedPoint min:p) corner:(clickedPoint max:p).
  1.1580 -                rootView displayRectangle:lastRectangle.
  1.1581 -            ].
  1.1582 -            rootView flush.
  1.1583 -        ].
  1.1584 -        lastRectangle
  1.1585 +	rootView    := model rootView device rootView.
  1.1586 +	rootView    := model rootView.
  1.1587 +	clickedItem := nil.
  1.1588 +
  1.1589 +	rootView xoring:[
  1.1590 +	    lastRectangle notNil ifTrue:[ rootView displayRectangle:lastRectangle ]
  1.1591 +				ifFalse:[ rootView clippedByChildren:false ].
  1.1592 +
  1.1593 +	    p isNil ifTrue:[
  1.1594 +		rootView clippedByChildren:true.
  1.1595 +		motionAction := nil.
  1.1596 +	    ] ifFalse:[
  1.1597 +		lastRectangle := Rectangle origin:(clickedPoint min:p) corner:(clickedPoint max:p).
  1.1598 +		rootView displayRectangle:lastRectangle.
  1.1599 +	    ].
  1.1600 +	    rootView flush.
  1.1601 +	].
  1.1602 +	lastRectangle
  1.1603      ].
  1.1604  !
  1.1605  
  1.1606 @@ -1316,8 +1316,8 @@
  1.1607      |rootView rectangle newItems widget origin|
  1.1608  
  1.1609      (rootView := model rootView) isNil ifTrue:[
  1.1610 -        clickedItem := motionAction := nil.
  1.1611 -        ^ self
  1.1612 +	clickedItem := motionAction := nil.
  1.1613 +	^ self
  1.1614      ].
  1.1615      motionAction isNil ifTrue:[ ^ self ].
  1.1616      clickedItem notNil ifTrue:[ ^ model selectItem:clickedItem ].
  1.1617 @@ -1328,14 +1328,14 @@
  1.1618      newItems := OrderedCollection new.
  1.1619  
  1.1620      model rootItem recursiveDo:[:anItem|
  1.1621 -        widget := anItem widget.
  1.1622 -        widget notNil ifTrue:[
  1.1623 -            origin := widget originRelativeTo:rootView.
  1.1624 -
  1.1625 -            (rectangle containsRect:(Rectangle origin:origin extent:(widget extent))) ifTrue:[
  1.1626 -                newItems add:anItem.
  1.1627 -            ]
  1.1628 -        ].
  1.1629 +	widget := anItem widget.
  1.1630 +	widget notNil ifTrue:[
  1.1631 +	    origin := widget originRelativeTo:rootView.
  1.1632 +
  1.1633 +	    (rectangle containsRect:(Rectangle origin:origin extent:(widget extent))) ifTrue:[
  1.1634 +		newItems add:anItem.
  1.1635 +	    ]
  1.1636 +	].
  1.1637      ].
  1.1638      model value:newItems.
  1.1639  
  1.1640 @@ -1351,37 +1351,37 @@
  1.1641      button := anEvent button.
  1.1642  
  1.1643      (button == 2 or:[button == #menu]) ifTrue:[
  1.1644 -        motionAction isNil ifTrue:[
  1.1645 -            anEvent isButtonPressEvent ifTrue:[
  1.1646 -                self selectOnClickHolder value ifTrue:[
  1.1647 -                    menu := self middleButtonMenu value.
  1.1648 -                    menu notNil ifTrue:[
  1.1649 -                        menu := MenuPanel 
  1.1650 -                                    menu:(Menu new fromLiteralArrayEncoding:menu)
  1.1651 -                                    receiver:self.
  1.1652 -                        menu startUp.
  1.1653 -                    ]
  1.1654 -                ].
  1.1655 -            ].
  1.1656 -            clickedItem := nil.
  1.1657 -        ].
  1.1658 -        ^ self
  1.1659 +	motionAction isNil ifTrue:[
  1.1660 +	    anEvent isButtonPressEvent ifTrue:[
  1.1661 +		self selectOnClickHolder value ifTrue:[
  1.1662 +		    menu := self middleButtonMenu value.
  1.1663 +		    menu notNil ifTrue:[
  1.1664 +			menu := MenuPanel
  1.1665 +				    menu:(Menu new fromLiteralArrayEncoding:menu)
  1.1666 +				    receiver:self.
  1.1667 +			menu startUp.
  1.1668 +		    ]
  1.1669 +		].
  1.1670 +	    ].
  1.1671 +	    clickedItem := nil.
  1.1672 +	].
  1.1673 +	^ self
  1.1674      ].
  1.1675  
  1.1676      anEvent isButtonPressEvent  ifTrue:[ self processButtonPressEvent:anEvent. ^ self ].
  1.1677      anEvent isButtonMotionEvent ifTrue:[ self processButtonMotionEvent:anEvent. ^ self ].
  1.1678  
  1.1679      anEvent isButtonReleaseEvent ifTrue:[
  1.1680 -        self selectOnClickHolder value ifTrue:[
  1.1681 -            self processButtonReleaseEvent:anEvent
  1.1682 -        ].
  1.1683 +	self selectOnClickHolder value ifTrue:[
  1.1684 +	    self processButtonReleaseEvent:anEvent
  1.1685 +	].
  1.1686      ].
  1.1687      clickedItem := motionAction := nil.
  1.1688  
  1.1689      anEvent type == #'buttonMultiPress:x:y:' ifTrue:[
  1.1690 -        self selectOnClickHolder value ifTrue:[
  1.1691 -            self doInspect:#view.
  1.1692 -        ].
  1.1693 +	self selectOnClickHolder value ifTrue:[
  1.1694 +	    self doInspect:#view.
  1.1695 +	].
  1.1696      ].
  1.1697  !
  1.1698  
  1.1699 @@ -1399,44 +1399,44 @@
  1.1700      or:[key == #CursorLeft
  1.1701      or:[key == #CursorRight]]]
  1.1702      ) ifFalse:[
  1.1703 -        ^ self
  1.1704 +	^ self
  1.1705      ].
  1.1706      item := model selectedItem.
  1.1707  
  1.1708      item isNil ifTrue:[
  1.1709 -        ^ model selectedItem:(model first ? model rootItem)
  1.1710 +	^ model selectedItem:(model first ? model rootItem)
  1.1711      ].
  1.1712  
  1.1713      prnt := item parent.
  1.1714      prnt isNil ifTrue:[
  1.1715 -        "/ is the root item
  1.1716 -        (key == #CursorUp or:[key == #CursorLeft]) ifTrue:[item := model listOfItems last]
  1.1717 -                                                  ifFalse:[item := item at:1 ifAbsent:item].
  1.1718 -
  1.1719 -        ^ model selectedItem:item
  1.1720 +	"/ is the root item
  1.1721 +	(key == #CursorUp or:[key == #CursorLeft]) ifTrue:[item := model listOfItems last]
  1.1722 +						  ifFalse:[item := item at:1 ifAbsent:item].
  1.1723 +
  1.1724 +	^ model selectedItem:item
  1.1725      ].
  1.1726      key == #CursorLeft ifTrue:[ ^ model selectedItem:prnt ].
  1.1727  
  1.1728      key == #CursorRight ifTrue:[
  1.1729 -        next := item at:1 ifAbsent:nil.
  1.1730 -        next notNil ifTrue:[ model selectedItem:next ].
  1.1731 -        ^ self
  1.1732 +	next := item at:1 ifAbsent:nil.
  1.1733 +	next notNil ifTrue:[ model selectedItem:next ].
  1.1734 +	^ self
  1.1735      ].
  1.1736  
  1.1737      max := prnt size.
  1.1738  
  1.1739      key == #CursorUp ifTrue:[
  1.1740 -        idx := prnt identityIndexOf:item.
  1.1741 -        idx == 1 ifTrue:[idx := max + 1].
  1.1742 -        model selectedItem:(prnt at:idx - 1).
  1.1743 -        ^ self.
  1.1744 +	idx := prnt identityIndexOf:item.
  1.1745 +	idx == 1 ifTrue:[idx := max + 1].
  1.1746 +	model selectedItem:(prnt at:idx - 1).
  1.1747 +	^ self.
  1.1748      ].
  1.1749  
  1.1750      key == #CursorDown ifTrue:[
  1.1751 -        idx := prnt identityIndexOf:item.
  1.1752 -        idx == max ifTrue:[idx := 0].
  1.1753 -        model selectedItem:(prnt at:idx + 1).
  1.1754 -        ^ self.
  1.1755 +	idx := prnt identityIndexOf:item.
  1.1756 +	idx == max ifTrue:[idx := 0].
  1.1757 +	model selectedItem:(prnt at:idx + 1).
  1.1758 +	^ self.
  1.1759      ].
  1.1760  !
  1.1761  
  1.1762 @@ -1447,15 +1447,15 @@
  1.1763      parent isNil ifTrue:[ ^ self ].
  1.1764  
  1.1765      NotFoundSignal handle:[:ex|
  1.1766 -        "contained subvies used by spec are not yet created;
  1.1767 -         thus we have to wait until last used subview is build
  1.1768 -        "
  1.1769 -        anchor := nil.
  1.1770 +	"contained subvies used by spec are not yet created;
  1.1771 +	 thus we have to wait until last used subview is build
  1.1772 +	"
  1.1773 +	anchor := nil.
  1.1774      ] do:[
  1.1775 -        anchor := parent class buildViewsFrom:(parent widget).
  1.1776 +	anchor := parent class buildViewsFrom:(parent widget).
  1.1777      ].
  1.1778      anchor notNil ifTrue:[
  1.1779 -        parent updateFromChildren:anchor children.
  1.1780 +	parent updateFromChildren:anchor children.
  1.1781      ].
  1.1782  ! !
  1.1783  
  1.1784 @@ -1536,7 +1536,7 @@
  1.1785      view := self selectedView.
  1.1786  
  1.1787      view notNil ifTrue:[
  1.1788 -        controller := view controller.
  1.1789 +	controller := view controller.
  1.1790        ^ (controller notNil and:[controller ~~ view])
  1.1791      ].
  1.1792      ^ false
  1.1793 @@ -1556,16 +1556,16 @@
  1.1794  middleButtonMenu
  1.1795      "returns the middleButton menu for the single selected item or nil"
  1.1796  
  1.1797 -    ^ [ 
  1.1798 -        model selectedItem notNil ifTrue:[
  1.1799 -            model selectedItem isView ifTrue:[
  1.1800 -                self class middleButtonMenu
  1.1801 -            ] ifFalse:[
  1.1802 -                self class middleButtonMenuForMenuItems
  1.1803 -            ].    
  1.1804 -        ] ifFalse:[
  1.1805 -            nil
  1.1806 -        ]
  1.1807 +    ^ [
  1.1808 +	model selectedItem notNil ifTrue:[
  1.1809 +	    model selectedItem isView ifTrue:[
  1.1810 +		self class middleButtonMenu
  1.1811 +	    ] ifFalse:[
  1.1812 +		self class middleButtonMenuForMenuItems
  1.1813 +	    ].
  1.1814 +	] ifFalse:[
  1.1815 +	    nil
  1.1816 +	]
  1.1817        ]
  1.1818  
  1.1819      "Modified: / 16-08-2017 / 13:48:31 / cg"
  1.1820 @@ -1575,18 +1575,18 @@
  1.1821      |applications menu item list addBlock|
  1.1822  
  1.1823      item := aMenu selection nameKey == #single ifTrue:[model selectedItem]
  1.1824 -                                              ifFalse:[model rootItem].
  1.1825 +					      ifFalse:[model rootItem].
  1.1826      item isNil ifTrue:[^ nil].
  1.1827  
  1.1828      applications := IdentityDictionary new.
  1.1829  
  1.1830      addBlock := [:el| |cls ctr|
  1.1831 -        cls := self resolveApplicationClassFor:el.
  1.1832 -
  1.1833 -        cls notNil ifTrue:[
  1.1834 -            ctr := applications at:cls ifAbsent:0.
  1.1835 -            applications at:cls put:(ctr + 1).
  1.1836 -        ].
  1.1837 +	cls := self resolveApplicationClassFor:el.
  1.1838 +
  1.1839 +	cls notNil ifTrue:[
  1.1840 +	    ctr := applications at:cls ifAbsent:0.
  1.1841 +	    applications at:cls put:(ctr + 1).
  1.1842 +	].
  1.1843      ].
  1.1844      item recursiveDo:addBlock.
  1.1845      addBlock value:item.
  1.1846 @@ -1596,14 +1596,14 @@
  1.1847  
  1.1848      applications keysAndValuesDo:[:cls :ctr|
  1.1849         list add:(MenuDesc title:(cls name)
  1.1850 -                          value:(ctr printString)
  1.1851 -                         action:[self doSelectNextOfApplicationClass:cls startingIn:item]
  1.1852 -                 ).
  1.1853 +			  value:(ctr printString)
  1.1854 +			 action:[self doSelectNextOfApplicationClass:cls startingIn:item]
  1.1855 +		 ).
  1.1856      ].
  1.1857  
  1.1858      menu := MenuDesc buildFromList:list onGC:aMenu.
  1.1859      menu do:[:el|
  1.1860 -        el hideMenuOnActivated:false
  1.1861 +	el hideMenuOnActivated:false
  1.1862      ].
  1.1863      ^ menu
  1.1864  !
  1.1865 @@ -1612,37 +1612,37 @@
  1.1866      |widgets list total menu item|
  1.1867  
  1.1868      item := aMenu selection nameKey == #single ifTrue:[model selectedItem]
  1.1869 -                                              ifFalse:[model rootItem].
  1.1870 +					      ifFalse:[model rootItem].
  1.1871      item isNil ifTrue:[^ nil].
  1.1872  
  1.1873      widgets := IdentityDictionary new.
  1.1874      total   := 0.
  1.1875  
  1.1876      item recursiveDo:[:el| |cls ctr|
  1.1877 -        cls := el widget.
  1.1878 -
  1.1879 -        cls notNil ifTrue:[
  1.1880 -            cls := cls class.
  1.1881 -            ctr := widgets at:cls ifAbsent:0.
  1.1882 -            widgets at:cls put:(ctr + 1).
  1.1883 -            total := total + 1.
  1.1884 -        ].
  1.1885 +	cls := el widget.
  1.1886 +
  1.1887 +	cls notNil ifTrue:[
  1.1888 +	    cls := cls class.
  1.1889 +	    ctr := widgets at:cls ifAbsent:0.
  1.1890 +	    widgets at:cls put:(ctr + 1).
  1.1891 +	    total := total + 1.
  1.1892 +	].
  1.1893      ].
  1.1894      total == 0 ifTrue:[^ nil].
  1.1895      list := SortedCollection sortBlock:[:a :b| a title < b title ].
  1.1896  
  1.1897      widgets keysAndValuesDo:[:cls :ctr|
  1.1898 -        list add:(MenuDesc title:(cls name)
  1.1899 -                           value:(ctr printString)
  1.1900 -                          action:[self doSelectNextOfClass:cls startingIn:item]
  1.1901 -                 ).
  1.1902 +	list add:(MenuDesc title:(cls name)
  1.1903 +			   value:(ctr printString)
  1.1904 +			  action:[self doSelectNextOfClass:cls startingIn:item]
  1.1905 +		 ).
  1.1906      ].
  1.1907      list := list asOrderedCollection.
  1.1908      list add:(MenuDesc separator).
  1.1909      list add:(MenuDesc title:'Total' value:(total printString)).
  1.1910      menu := MenuDesc buildFromList:list onGC:aMenu.
  1.1911      menu do:[:el|
  1.1912 -        el hideMenuOnActivated:false
  1.1913 +	el hideMenuOnActivated:false
  1.1914      ].
  1.1915      ^ menu
  1.1916  !
  1.1917 @@ -1665,7 +1665,7 @@
  1.1918      y := view top.
  1.1919  
  1.1920      (x == point x and:[y == point y]) ifTrue:[ inst := point ]
  1.1921 -                                     ifFalse:[ inst := '%1 --> (%2@%3)' bindWith:point with:x with:y ].
  1.1922 +				     ifFalse:[ inst := '%1 --> (%2@%3)' bindWith:point with:x with:y ].
  1.1923  
  1.1924      list add:(MenuDesc title:'origin' value:inst).
  1.1925  
  1.1926 @@ -1677,7 +1677,7 @@
  1.1927      y := view bottom.
  1.1928  
  1.1929      (x == point x and:[y == point y]) ifTrue:[ inst := point ]
  1.1930 -                                     ifFalse:[ inst := '%1 --> (%2@%3)' bindWith:point with:x with:y ].
  1.1931 +				     ifFalse:[ inst := '%1 --> (%2@%3)' bindWith:point with:x with:y ].
  1.1932  
  1.1933      list add:(MenuDesc title:'corner' value:inst).
  1.1934  
  1.1935 @@ -1691,9 +1691,9 @@
  1.1936  
  1.1937      "/ view insets
  1.1938      inst := 'l:%1  r:%2  t:%3  b:%4' bindWith:(view leftInset)
  1.1939 -                                         with:(view rightInset)
  1.1940 -                                         with:(view topInset)
  1.1941 -                                         with:(view bottomInset).
  1.1942 +					 with:(view rightInset)
  1.1943 +					 with:(view topInset)
  1.1944 +					 with:(view bottomInset).
  1.1945  
  1.1946      list add:(MenuDesc title:'insets'      value:inst).
  1.1947      list add:(MenuDesc title:'borderWidth' value:(view borderWidth)).
  1.1948 @@ -1707,16 +1707,16 @@
  1.1949      list add:(MenuDesc title:'transformation' value:inst).
  1.1950  
  1.1951      (view isKindOf:Label) ifTrue:[
  1.1952 -        list add:(MenuDesc separator).
  1.1953 -        (inst := view adjust) notNil ifTrue:[ inst := inst displayString ].
  1.1954 -        list add:(MenuDesc title:'adjust' value:inst).
  1.1955 +	list add:(MenuDesc separator).
  1.1956 +	(inst := view adjust) notNil ifTrue:[ inst := inst displayString ].
  1.1957 +	list add:(MenuDesc title:'adjust' value:inst).
  1.1958      ].
  1.1959      (view isKindOf:PanelView) ifTrue:[
  1.1960 -        list add:(MenuDesc separator).
  1.1961 -        (inst := view horizontalLayout ) notNil ifTrue:[ inst := inst displayString ].
  1.1962 -        list add:(MenuDesc title:'horizontalLayout' value:inst).
  1.1963 -        (inst := view verticalLayout ) notNil ifTrue:[ inst := inst displayString ].
  1.1964 -        list add:(MenuDesc title:'verticalLayout' value:inst).
  1.1965 +	list add:(MenuDesc separator).
  1.1966 +	(inst := view horizontalLayout ) notNil ifTrue:[ inst := inst displayString ].
  1.1967 +	list add:(MenuDesc title:'horizontalLayout' value:inst).
  1.1968 +	(inst := view verticalLayout ) notNil ifTrue:[ inst := inst displayString ].
  1.1969 +	list add:(MenuDesc title:'verticalLayout' value:inst).
  1.1970      ].
  1.1971  
  1.1972      ^ MenuDesc buildFromList:list onGC:aMenu
  1.1973 @@ -1739,16 +1739,16 @@
  1.1974      names sortWith:indices.
  1.1975  
  1.1976      1 to:n do:[:i| |action|
  1.1977 -        label := (names at:i) printString.
  1.1978 -        value := view instVarAt:(indices at:i).
  1.1979 -        value isNil ifTrue:[
  1.1980 -            value  := '------'.
  1.1981 -            action := nil.
  1.1982 -        ] ifFalse:[
  1.1983 -            value  := value displayString contractAtEndTo:40.
  1.1984 -            action := [(view instVarAt:i) inspect].
  1.1985 -        ].
  1.1986 -        list add:(MenuDesc title:label value:value action:action).
  1.1987 +	label := (names at:i) printString.
  1.1988 +	value := view instVarAt:(indices at:i).
  1.1989 +	value isNil ifTrue:[
  1.1990 +	    value  := '------'.
  1.1991 +	    action := nil.
  1.1992 +	] ifFalse:[
  1.1993 +	    value  := value displayString contractAtEndTo:40.
  1.1994 +	    action := [(view instVarAt:i) inspect].
  1.1995 +	].
  1.1996 +	list add:(MenuDesc title:label value:value action:action).
  1.1997      ].
  1.1998  
  1.1999      ^ MenuDesc buildFromList:list onGC:aMenu
  1.2000 @@ -1770,108 +1770,108 @@
  1.2001      value := nil.
  1.2002  
  1.2003      inst isNil ifTrue:[
  1.2004 -        label := nil
  1.2005 +	label := nil
  1.2006      ] ifFalse:[
  1.2007 -        inst == view ifTrue:[ 
  1.2008 -            label := '== view itself' 
  1.2009 -        ] ifFalse:[ 
  1.2010 -            label := inst displayString.
  1.2011 -            value := [view controller inspect].
  1.2012 -        ].
  1.2013 +	inst == view ifTrue:[
  1.2014 +	    label := '== view itself'
  1.2015 +	] ifFalse:[
  1.2016 +	    label := inst displayString.
  1.2017 +	    value := [view controller inspect].
  1.2018 +	].
  1.2019      ].
  1.2020      list add:(MenuDesc title:'controller' value:label action:value).
  1.2021  
  1.2022      inst := view delegate.
  1.2023      inst notNil ifTrue:[
  1.2024 -        list add:(MenuDesc title:'delegate' value:(inst displayString) action:[ view delegate inspect ]).
  1.2025 +	list add:(MenuDesc title:'delegate' value:(inst displayString) action:[ view delegate inspect ]).
  1.2026      ].
  1.2027  
  1.2028      inst := view application.
  1.2029  
  1.2030 -    inst notNil ifTrue:[ 
  1.2031 -        |topAppl|
  1.2032 -
  1.2033 -        list add:(MenuDesc title:'application' value:inst action:[ view application inspect ]).
  1.2034 -
  1.2035 -        topAppl := inst topApplication.
  1.2036 -
  1.2037 -        (topAppl notNil and:[topAppl ~~ inst]) ifTrue:[
  1.2038 -            list add:(MenuDesc title:'topApplication' value:topAppl action:[ inst topApplication inspect ]).
  1.2039 -        ].
  1.2040 +    inst notNil ifTrue:[
  1.2041 +	|topAppl|
  1.2042 +
  1.2043 +	list add:(MenuDesc title:'application' value:inst action:[ view application inspect ]).
  1.2044 +
  1.2045 +	topAppl := inst topApplication.
  1.2046 +
  1.2047 +	(topAppl notNil and:[topAppl ~~ inst]) ifTrue:[
  1.2048 +	    list add:(MenuDesc title:'topApplication' value:topAppl action:[ inst topApplication inspect ]).
  1.2049 +	].
  1.2050      ].
  1.2051      list add:(MenuDesc separator).
  1.2052  
  1.2053      (view respondsTo:#'model') ifTrue:[
  1.2054 -        inst := view model.
  1.2055 -
  1.2056 -        inst isNil 
  1.2057 -            ifTrue:[ label := value := nil ]
  1.2058 -            ifFalse:[ label := inst displayString.
  1.2059 -                      label := label,(self aspectLabelFor:inst inApplicationOf:view).  
  1.2060 -                      value := [ view model inspect ].
  1.2061 -                    ].
  1.2062 -
  1.2063 -        list add:(MenuDesc title:'model' value:label action:value).
  1.2064 -
  1.2065 -        (inst notNil and:[view respondsTo:#modelInterface]) ifTrue:[
  1.2066 -            view modelInterface keysAndValuesDo:[:key : val|
  1.2067 -                val isNil ifTrue:[ label := nil ]
  1.2068 -                         ifFalse:[ label := val displayString ].
  1.2069 -
  1.2070 -                list add:(MenuDesc title:('      - ', key) value:label ).
  1.2071 -            ]
  1.2072 -        ].
  1.2073 +	inst := view model.
  1.2074 +
  1.2075 +	inst isNil
  1.2076 +	    ifTrue:[ label := value := nil ]
  1.2077 +	    ifFalse:[ label := inst displayString.
  1.2078 +		      label := label,(self aspectLabelFor:inst inApplicationOf:view).
  1.2079 +		      value := [ view model inspect ].
  1.2080 +		    ].
  1.2081 +
  1.2082 +	list add:(MenuDesc title:'model' value:label action:value).
  1.2083 +
  1.2084 +	(inst notNil and:[view respondsTo:#modelInterface]) ifTrue:[
  1.2085 +	    view modelInterface keysAndValuesDo:[:key : val|
  1.2086 +		val isNil ifTrue:[ label := nil ]
  1.2087 +			 ifFalse:[ label := val displayString ].
  1.2088 +
  1.2089 +		list add:(MenuDesc title:('      - ', key) value:label ).
  1.2090 +	    ]
  1.2091 +	].
  1.2092      ].
  1.2093  
  1.2094      (view respondsTo:#enableChannel) ifTrue:[
  1.2095 -        inst := view enableChannel.
  1.2096 -
  1.2097 -        inst isNil ifTrue:[ label := value := nil ]
  1.2098 -                  ifFalse:[ label := inst displayString.
  1.2099 -                            label := label,(self aspectLabelFor:inst inApplicationOf:view).  
  1.2100 -                            value := [ view enableChannel inspect ].
  1.2101 -                          ].
  1.2102 -
  1.2103 -        list add:(MenuDesc title:'enableChannel' value:label action:value).
  1.2104 +	inst := view enableChannel.
  1.2105 +
  1.2106 +	inst isNil ifTrue:[ label := value := nil ]
  1.2107 +		  ifFalse:[ label := inst displayString.
  1.2108 +			    label := label,(self aspectLabelFor:inst inApplicationOf:view).
  1.2109 +			    value := [ view enableChannel inspect ].
  1.2110 +			  ].
  1.2111 +
  1.2112 +	list add:(MenuDesc title:'enableChannel' value:label action:value).
  1.2113      ].
  1.2114  
  1.2115      #( #action #pressAction #releaseAction ) do:[:actionSelector |
  1.2116 -        (view respondsTo:actionSelector) ifTrue:[
  1.2117 -            inst := view perform:actionSelector.
  1.2118 -
  1.2119 -            inst isNil 
  1.2120 -                ifTrue:[ label := value := nil ]
  1.2121 -                ifFalse:[ label := inst displayString.
  1.2122 -                            value := [ (view perform:actionSelector) inspect ].
  1.2123 -                        ].
  1.2124 -
  1.2125 -            list add:(MenuDesc title:actionSelector"'action'" value:label action:value).
  1.2126 -        ].
  1.2127 +	(view respondsTo:actionSelector) ifTrue:[
  1.2128 +	    inst := view perform:actionSelector.
  1.2129 +
  1.2130 +	    inst isNil
  1.2131 +		ifTrue:[ label := value := nil ]
  1.2132 +		ifFalse:[ label := inst displayString.
  1.2133 +			    value := [ (view perform:actionSelector) inspect ].
  1.2134 +			].
  1.2135 +
  1.2136 +	    list add:(MenuDesc title:actionSelector"'action'" value:label action:value).
  1.2137 +	].
  1.2138      ].
  1.2139  
  1.2140      list last isSeparator ifFalse:[ list add:(MenuDesc separator) ].
  1.2141  
  1.2142      (view respondsTo:#listHolder) ifTrue:[
  1.2143 -        inst := view listHolder.
  1.2144 -
  1.2145 -        inst isNil ifTrue:[ label := value := nil ]
  1.2146 -                  ifFalse:[ label := inst class printString.
  1.2147 -                            label := label,(self aspectLabelFor:inst inApplicationOf:view).  
  1.2148 -                            value := [ view listHolder inspect ].
  1.2149 -                          ].
  1.2150 -        list add:(MenuDesc title:'listHolder' value:label action:value).
  1.2151 +	inst := view listHolder.
  1.2152 +
  1.2153 +	inst isNil ifTrue:[ label := value := nil ]
  1.2154 +		  ifFalse:[ label := inst class printString.
  1.2155 +			    label := label,(self aspectLabelFor:inst inApplicationOf:view).
  1.2156 +			    value := [ view listHolder inspect ].
  1.2157 +			  ].
  1.2158 +	list add:(MenuDesc title:'listHolder' value:label action:value).
  1.2159      ].
  1.2160  
  1.2161      (view respondsTo:#list) ifTrue:[
  1.2162 -        inst := view list.
  1.2163 -
  1.2164 -        inst isNil ifTrue:[ label := value := nil ]
  1.2165 -                  ifFalse:[ label := '%1 [%2]' bindWith:(inst class printString) with:(inst size).
  1.2166 -                            label := label,(self aspectLabelFor:inst inApplicationOf:view).  
  1.2167 -                            value := [ view list inspect ].
  1.2168 -                          ].
  1.2169 -
  1.2170 -        list add:(MenuDesc title:'list' value:label action:value).
  1.2171 +	inst := view list.
  1.2172 +
  1.2173 +	inst isNil ifTrue:[ label := value := nil ]
  1.2174 +		  ifFalse:[ label := '%1 [%2]' bindWith:(inst class printString) with:(inst size).
  1.2175 +			    label := label,(self aspectLabelFor:inst inApplicationOf:view).
  1.2176 +			    value := [ view list inspect ].
  1.2177 +			  ].
  1.2178 +
  1.2179 +	list add:(MenuDesc title:'list' value:label action:value).
  1.2180      ].
  1.2181  
  1.2182      list last isSeparator ifTrue:[ list removeLast ].
  1.2183 @@ -1890,13 +1890,13 @@
  1.2184  
  1.2185      list := OrderedCollection new.
  1.2186  
  1.2187 -    list add:(MenuDesc 
  1.2188 -                title:'itemValue' 
  1.2189 -                value:(item itemValue)
  1.2190 -                action:[ 
  1.2191 -                    UserPreferences systemBrowserClass
  1.2192 -                        browseImplementorsOf:item itemValue
  1.2193 -                ]).
  1.2194 +    list add:(MenuDesc
  1.2195 +		title:'itemValue'
  1.2196 +		value:(item itemValue)
  1.2197 +		action:[
  1.2198 +		    UserPreferences systemBrowserClass
  1.2199 +			browseImplementorsOf:item itemValue
  1.2200 +		]).
  1.2201  
  1.2202      ^ MenuDesc buildFromList:list onGC:aMenu
  1.2203  
  1.2204 @@ -1927,11 +1927,11 @@
  1.2205      list add:(MenuDesc title:'hiddenOnRealize' value:(view isHiddenOnRealize)).
  1.2206  
  1.2207      (value := view visibilityChannel) isNil ifTrue:[
  1.2208 -        list add:(MenuDesc title:'visibilityChannel' value:'------').
  1.2209 +	list add:(MenuDesc title:'visibilityChannel' value:'------').
  1.2210      ] ifFalse:[
  1.2211 -        list add:(MenuDesc title:'visibilityChannel'
  1.2212 -                           value:(value displayString)
  1.2213 -                          action:[view visibilityChannel inspect]).
  1.2214 +	list add:(MenuDesc title:'visibilityChannel'
  1.2215 +			   value:(value displayString)
  1.2216 +			  action:[view visibilityChannel inspect]).
  1.2217      ].
  1.2218  
  1.2219      ^ MenuDesc buildFromList:list onGC:aMenu
  1.2220 @@ -1946,10 +1946,10 @@
  1.2221      aView isNil ifTrue:[^ ''].
  1.2222      (app := aView application) isNil ifTrue:[^ ''].
  1.2223      app builder bindings keysAndValuesDo:[:aspect :value |
  1.2224 -        value == aModel ifTrue:[^ ' [aspect: ',aspect,']'].
  1.2225 +	value == aModel ifTrue:[^ ' [aspect: ',aspect,']'].
  1.2226      ].
  1.2227 -    app class allInstVarNames do:[:nm | 
  1.2228 -        (app instVarNamed:nm) == aModel ifTrue:[^ ' [instvar: ',nm,']']
  1.2229 +    app class allInstVarNames do:[:nm |
  1.2230 +	(app instVarNamed:nm) == aModel ifTrue:[^ ' [instvar: ',nm,']']
  1.2231      ].
  1.2232  
  1.2233      ^ ''
  1.2234 @@ -1963,7 +1963,7 @@
  1.2235      rootView := model rootView.
  1.2236  
  1.2237      (rootView notNil and:[rootView shown]) ifTrue:[
  1.2238 -        focusView := rootView windowGroup focusView.
  1.2239 +	focusView := rootView windowGroup focusView.
  1.2240      ].
  1.2241      focusView isNil ifTrue:[^ self ].
  1.2242  
  1.2243 @@ -1976,55 +1976,55 @@
  1.2244      currentItem := model selectedItem.
  1.2245  
  1.2246      (currentItem notNil and:[currentItem widget == aView]) ifTrue:[
  1.2247 -        ^ self
  1.2248 +	^ self
  1.2249      ].
  1.2250      viewItem := model listOfItems recursiveDetect:[:el| el widget == aView ].
  1.2251  
  1.2252      viewItem notNil ifTrue:[
  1.2253 -        model selectItem:viewItem.
  1.2254 -    ].        
  1.2255 +	model selectItem:viewItem.
  1.2256 +    ].
  1.2257  !
  1.2258  
  1.2259  setRootItem:aRootItemOrNil
  1.2260      |theProcess|
  1.2261  
  1.2262      aRootItemOrNil isNil ifTrue:[
  1.2263 -        process := nil.
  1.2264 +	process := nil.
  1.2265      ] ifFalse:[
  1.2266 -        "/ expand tree to level 3
  1.2267 -        aRootItemOrNil do:[:aRootChild|
  1.2268 -            aRootChild do:[:aSubChild| aSubChild expand ].
  1.2269 -            aRootChild expand.
  1.2270 -        ].
  1.2271 -        aRootItemOrNil expand.
  1.2272 -
  1.2273 -        process isNil ifTrue:[
  1.2274 -            theProcess := process :=
  1.2275 -                Process 
  1.2276 -                    for:[   
  1.2277 -                        |update testModeChannel|
  1.2278 -
  1.2279 -                        update := false.
  1.2280 -                        testModeChannel := model testModeChannel.
  1.2281 -
  1.2282 -                        [process == theProcess] whileTrue:[
  1.2283 -                            Delay waitForSeconds:0.5.
  1.2284 -
  1.2285 -                            (treeView notNil and:[process == theProcess and:[treeView shown]]) ifTrue:[
  1.2286 -                                (testModeChannel value == true and:[followFocusChannel value == true]) ifTrue:[
  1.2287 -                                    self selectFocusView.
  1.2288 -                                ].
  1.2289 -                                update ifTrue:[
  1.2290 -                                    self updateShownStatus.
  1.2291 -                                ].
  1.2292 -                                update := update not.
  1.2293 -                            ].
  1.2294 -                        ].
  1.2295 -                    ] 
  1.2296 -                    priority:(Processor userSchedulingPriority).
  1.2297 -            theProcess name:'ViewTreeInspector - Focus Follower'.
  1.2298 -            theProcess resume.
  1.2299 -        ].
  1.2300 +	"/ expand tree to level 3
  1.2301 +	aRootItemOrNil do:[:aRootChild|
  1.2302 +	    aRootChild do:[:aSubChild| aSubChild expand ].
  1.2303 +	    aRootChild expand.
  1.2304 +	].
  1.2305 +	aRootItemOrNil expand.
  1.2306 +
  1.2307 +	process isNil ifTrue:[
  1.2308 +	    theProcess := process :=
  1.2309 +		Process
  1.2310 +		    for:[
  1.2311 +			|update testModeChannel|
  1.2312 +
  1.2313 +			update := false.
  1.2314 +			testModeChannel := model testModeChannel.
  1.2315 +
  1.2316 +			[process == theProcess] whileTrue:[
  1.2317 +			    Delay waitForSeconds:0.5.
  1.2318 +
  1.2319 +			    (treeView notNil and:[process == theProcess and:[treeView shown]]) ifTrue:[
  1.2320 +				(testModeChannel value == true and:[followFocusChannel value == true]) ifTrue:[
  1.2321 +				    self selectFocusView.
  1.2322 +				].
  1.2323 +				update ifTrue:[
  1.2324 +				    self updateShownStatus.
  1.2325 +				].
  1.2326 +				update := update not.
  1.2327 +			    ].
  1.2328 +			].
  1.2329 +		    ]
  1.2330 +		    priority:(Processor userSchedulingPriority).
  1.2331 +	    theProcess name:'ViewTreeInspector - Focus Follower'.
  1.2332 +	    theProcess resume.
  1.2333 +	].
  1.2334      ].
  1.2335      model rootItem:aRootItemOrNil.
  1.2336  
  1.2337 @@ -2041,19 +2041,19 @@
  1.2338      min := 9999999.
  1.2339  
  1.2340      rootItem recursiveEachVisibleItemDo:[:anItem|
  1.2341 -        anItem widget notNil ifTrue:[
  1.2342 -            visState := (anItem widget shown).
  1.2343 -
  1.2344 -            visState ~~ anItem isDrawnShown ifTrue:[
  1.2345 -                anItem isDrawnShown:visState.
  1.2346 -                listIdx := treeView identityIndexOf:anItem.
  1.2347 -
  1.2348 -                listIdx > 0 ifTrue:[    
  1.2349 -                    max := max max:listIdx.
  1.2350 -                    min := min min:listIdx.
  1.2351 -                ].
  1.2352 -            ].
  1.2353 -        ].
  1.2354 +	anItem widget notNil ifTrue:[
  1.2355 +	    visState := (anItem widget shown).
  1.2356 +
  1.2357 +	    visState ~~ anItem isDrawnShown ifTrue:[
  1.2358 +		anItem isDrawnShown:visState.
  1.2359 +		listIdx := treeView identityIndexOf:anItem.
  1.2360 +
  1.2361 +		listIdx > 0 ifTrue:[
  1.2362 +		    max := max max:listIdx.
  1.2363 +		    min := min min:listIdx.
  1.2364 +		].
  1.2365 +	    ].
  1.2366 +	].
  1.2367      ].
  1.2368      max < min ifTrue:[^ self].
  1.2369      max := max + 1.
  1.2370 @@ -2061,12 +2061,12 @@
  1.2371      visY0  := (treeView yVisibleOfLine:min) max:0.
  1.2372      visY1  := (treeView yVisibleOfLine:max) min:(treeView height).
  1.2373      height := visY1 - visY0.
  1.2374 -    
  1.2375 +
  1.2376      height > 2 ifTrue:[
  1.2377 -        treeView shown ifTrue:[
  1.2378 -            damage := Rectangle left:0 top:visY0 width:(treeView width) height:height.
  1.2379 -            treeView invalidateDeviceRectangle:damage repairNow:false.
  1.2380 -        ].
  1.2381 +	treeView shown ifTrue:[
  1.2382 +	    damage := Rectangle left:0 top:visY0 width:(treeView width) height:height.
  1.2383 +	    treeView invalidateDeviceRectangle:damage repairNow:false.
  1.2384 +	].
  1.2385      ].
  1.2386  
  1.2387      "Modified: / 16-08-2017 / 12:29:15 / cg"
  1.2388 @@ -2118,10 +2118,10 @@
  1.2389  
  1.2390  doBrowse:what
  1.2391      "open browser on:
  1.2392 -        #view           browse class
  1.2393 -        #model          browse model class
  1.2394 -        #application    browse application class
  1.2395 -        #controller     browse controller class
  1.2396 +	#view           browse class
  1.2397 +	#model          browse model class
  1.2398 +	#application    browse application class
  1.2399 +	#controller     browse controller class
  1.2400      "
  1.2401      |inst|
  1.2402  
  1.2403 @@ -2141,7 +2141,7 @@
  1.2404  doCatchEvents
  1.2405      model catchEvents:true.
  1.2406      isCatchingEventsChannel value:true.
  1.2407 -"/    ((builder componentAt:'toolbarMenu') itemAt:#doUncatchEvents) 
  1.2408 +"/    ((builder componentAt:'toolbarMenu') itemAt:#doUncatchEvents)
  1.2409  "/        enabled:true;
  1.2410  "/        label:(self class releaseViewIcon);
  1.2411  "/        activeHelpKey:#doUncatchEvents.
  1.2412 @@ -2169,28 +2169,28 @@
  1.2413      parent := item parent.
  1.2414  
  1.2415      parent isNil ifTrue:[
  1.2416 -        "/ the root
  1.2417 -        model withSelectionHiddenDo:[item deleteAll].
  1.2418 +	"/ the root
  1.2419 +	model withSelectionHiddenDo:[item deleteAll].
  1.2420        ^ self
  1.2421      ].
  1.2422  
  1.2423      model withSelectionHiddenDo:[
  1.2424 -        |idx nsel|
  1.2425 -
  1.2426 -        idx := parent identityIndexOf:item.
  1.2427 -
  1.2428 -        idx == parent size ifTrue:[
  1.2429 -            nsel := parent at:(idx - 1) ifAbsent:parent
  1.2430 -        ] ifFalse:[
  1.2431 -            nsel := parent at:(idx + 1)
  1.2432 -        ].
  1.2433 -        model setValue:nil.
  1.2434 -        item delete.
  1.2435 -
  1.2436 -        parent isLayoutContainer ifTrue:[
  1.2437 -            parent widget sizeChanged:nil
  1.2438 -        ].
  1.2439 -        model value:nsel.
  1.2440 +	|idx nsel|
  1.2441 +
  1.2442 +	idx := parent identityIndexOf:item.
  1.2443 +
  1.2444 +	idx == parent size ifTrue:[
  1.2445 +	    nsel := parent at:(idx - 1) ifAbsent:parent
  1.2446 +	] ifFalse:[
  1.2447 +	    nsel := parent at:(idx + 1)
  1.2448 +	].
  1.2449 +	model setValue:nil.
  1.2450 +	item delete.
  1.2451 +
  1.2452 +	parent isLayoutContainer ifTrue:[
  1.2453 +	    parent widget sizeChanged:nil
  1.2454 +	].
  1.2455 +	model value:nsel.
  1.2456      ].
  1.2457  !
  1.2458  
  1.2459 @@ -2210,20 +2210,20 @@
  1.2460      view isNil ifTrue:[ ^ self].
  1.2461  
  1.2462      view shown ifTrue:[
  1.2463 -        model withSelectionHiddenDo:[
  1.2464 -            view perform:#flash ifNotUnderstood:nil.
  1.2465 -        ].
  1.2466 +	model withSelectionHiddenDo:[
  1.2467 +	    view perform:#flash ifNotUnderstood:nil.
  1.2468 +	].
  1.2469      ].
  1.2470  !
  1.2471  
  1.2472  doInspect:what
  1.2473      "open inspector on:
  1.2474 -        #view           inspect class
  1.2475 -        #group          inspect windowGroup
  1.2476 -        #model          inspect model
  1.2477 -        #application    inspect application
  1.2478 -        #controller     inspect controller
  1.2479 -        #process        inspect application's process
  1.2480 +	#view           inspect class
  1.2481 +	#group          inspect windowGroup
  1.2482 +	#model          inspect model
  1.2483 +	#application    inspect application
  1.2484 +	#controller     inspect controller
  1.2485 +	#process        inspect application's process
  1.2486      "
  1.2487  
  1.2488      |inst|
  1.2489 @@ -2258,7 +2258,7 @@
  1.2490      (    topWindow == Screen current rootView
  1.2491       or:[topWindow == self window topView]
  1.2492      ) ifTrue:[
  1.2493 -        ^ self
  1.2494 +	^ self
  1.2495      ].
  1.2496  
  1.2497      self showWindow:clickedView.
  1.2498 @@ -2268,9 +2268,9 @@
  1.2499      "redraw the app"
  1.2500  
  1.2501      |rootView|
  1.2502 -    
  1.2503 +
  1.2504      (rootView := model rootView) notNil ifTrue:[
  1.2505 -        rootView withAllSubViewsDo:[:v | v "redraw; "invalidate].
  1.2506 +	rootView withAllSubViewsDo:[:v | v "redraw; "invalidate].
  1.2507      ]
  1.2508  
  1.2509      "Modified: / 16-08-2017 / 12:02:11 / cg"
  1.2510 @@ -2280,25 +2280,25 @@
  1.2511      |startItem firstFound searchNext|
  1.2512  
  1.2513      startItem  := model last.
  1.2514 -    searchNext := startItem notNil.        
  1.2515 +    searchNext := startItem notNil.
  1.2516      firstFound := nil.
  1.2517  
  1.2518      anItem recursiveDo:[:el|
  1.2519 -        el == startItem ifTrue:[
  1.2520 -            searchNext := false
  1.2521 -        ] ifFalse:[
  1.2522 -            (aBlock value:el) ifTrue:[
  1.2523 -                searchNext ifFalse:[^ model selectItem:el].
  1.2524 -
  1.2525 -                firstFound isNil ifTrue:[
  1.2526 -                    firstFound := el
  1.2527 -                ]
  1.2528 -            ]
  1.2529 -        ]
  1.2530 +	el == startItem ifTrue:[
  1.2531 +	    searchNext := false
  1.2532 +	] ifFalse:[
  1.2533 +	    (aBlock value:el) ifTrue:[
  1.2534 +		searchNext ifFalse:[^ model selectItem:el].
  1.2535 +
  1.2536 +		firstFound isNil ifTrue:[
  1.2537 +		    firstFound := el
  1.2538 +		]
  1.2539 +	    ]
  1.2540 +	]
  1.2541      ].
  1.2542      firstFound notNil ifTrue:[
  1.2543 -        self window beep.
  1.2544 -        model selectItem:firstFound
  1.2545 +	self window beep.
  1.2546 +	model selectItem:firstFound
  1.2547      ].
  1.2548  !
  1.2549  
  1.2550 @@ -2315,7 +2315,7 @@
  1.2551  
  1.2552      model catchEvents:false.
  1.2553      isCatchingEventsChannel value:false.
  1.2554 -"/    ((builder componentAt:'toolbarMenu') itemAt:#doUncatchEvents) 
  1.2555 +"/    ((builder componentAt:'toolbarMenu') itemAt:#doUncatchEvents)
  1.2556  "/        label:(self class releaseViewIcon);
  1.2557  "/        enabled:false;
  1.2558  "/        activeHelpKey:#doCatchEvents.
  1.2559 @@ -2330,19 +2330,19 @@
  1.2560  
  1.2561  objectToInspectOrBrowse:what
  1.2562      "return one of:
  1.2563 -        #view           for inspect/browse view/widget
  1.2564 -        #group          for inspect/browse windowGroup
  1.2565 -        #model          for inspect/browse model
  1.2566 -        #application    for inspect/browse application
  1.2567 -        #controller     for inspect/browse controller
  1.2568 -        #process        for inspect/browse application's process
  1.2569 -        #widgetClass    for inspect/browse widget's class
  1.2570 -        #menuItem       for inspect/browse menuItem
  1.2571 +	#view           for inspect/browse view/widget
  1.2572 +	#group          for inspect/browse windowGroup
  1.2573 +	#model          for inspect/browse model
  1.2574 +	#application    for inspect/browse application
  1.2575 +	#controller     for inspect/browse controller
  1.2576 +	#process        for inspect/browse application's process
  1.2577 +	#widgetClass    for inspect/browse widget's class
  1.2578 +	#menuItem       for inspect/browse menuItem
  1.2579      "
  1.2580      |view|
  1.2581  
  1.2582 -    what == #menuItem       ifTrue:[ 
  1.2583 -        ^ model selectedItem menuItem
  1.2584 +    what == #menuItem       ifTrue:[
  1.2585 +	^ model selectedItem menuItem
  1.2586      ].
  1.2587  
  1.2588      view := self selectedView.
  1.2589 @@ -2397,7 +2397,7 @@
  1.2590      menu := Menu new.
  1.2591  
  1.2592      aList do:[:el|
  1.2593 -        menu addItem:(el asMenuItemWithTabulatorSpecification:tabSpec).
  1.2594 +	menu addItem:(el asMenuItemWithTabulatorSpecification:tabSpec).
  1.2595      ].
  1.2596      menuPanel := MenuPanel menu:menu.
  1.2597      ^ menuPanel
  1.2598 @@ -2433,12 +2433,12 @@
  1.2599      array := Array with:(title, ':') with:'------'.
  1.2600  
  1.2601      value notNil ifTrue:[
  1.2602 -        array at:2 put:(value printString, ' ')
  1.2603 +	array at:2 put:(value printString, ' ')
  1.2604      ].
  1.2605  
  1.2606 -   ^ MenuItem 
  1.2607 -        label:(MultiColListEntry fromStrings:array tabulatorSpecification:aTabSpec)
  1.2608 -        value:action
  1.2609 +   ^ MenuItem
  1.2610 +	label:(MultiColListEntry fromStrings:array tabulatorSpecification:aTabSpec)
  1.2611 +	value:action
  1.2612  ! !
  1.2613  
  1.2614  !ViewTreeInspectorApplication::MenuDesc methodsFor:'instance creation'!
  1.2615 @@ -2450,12 +2450,12 @@
  1.2616      action := anAction.
  1.2617  
  1.2618      aValue notNil ifTrue:[
  1.2619 -        value := aValue printString.
  1.2620 -
  1.2621 -        value size > 70 ifTrue:[
  1.2622 -            value := value copyFrom:1 to:70.
  1.2623 -            value := value, '...'
  1.2624 -        ]
  1.2625 +	value := aValue printString.
  1.2626 +
  1.2627 +	value size > 70 ifTrue:[
  1.2628 +	    value := value copyFrom:1 to:70.
  1.2629 +	    value := value, '...'
  1.2630 +	]
  1.2631      ].
  1.2632  ! !
  1.2633  
  1.2634 @@ -2483,9 +2483,9 @@
  1.2635      item     := self forMenuItem:aMenuItem.
  1.2636      subItems := OrderedCollection new.
  1.2637      (subMenu := aMenuItem submenuOrNil) notNil ifTrue:[
  1.2638 -        subMenu items do:[:eachMenuItem |
  1.2639 -            subItems add:(self buildMenuItemsFrom:eachMenuItem)
  1.2640 -        ].    
  1.2641 +	subMenu items do:[:eachMenuItem |
  1.2642 +	    subItems add:(self buildMenuItemsFrom:eachMenuItem)
  1.2643 +	].
  1.2644      ].
  1.2645      item children:subItems.
  1.2646      ^ item
  1.2647 @@ -2506,18 +2506,18 @@
  1.2648      subItems := OrderedCollection new.
  1.2649  
  1.2650      subViews notEmptyOrNil ifTrue:[
  1.2651 -        subViews do:[:aSubView|
  1.2652 -            subItems add:(self buildViewsFrom:aSubView).
  1.2653 -        ].
  1.2654 +	subViews do:[:aSubView|
  1.2655 +	    subItems add:(self buildViewsFrom:aSubView).
  1.2656 +	].
  1.2657      ].
  1.2658  
  1.2659      (aView isKindOf:MenuPanel) ifTrue:[
  1.2660 -        (aView items ? #()) do:[:eachMenuItem |
  1.2661 -            subItems add:(self buildMenuItemsFrom:eachMenuItem)
  1.2662 -        ].    
  1.2663 -    ].    
  1.2664 +	(aView items ? #()) do:[:eachMenuItem |
  1.2665 +	    subItems add:(self buildMenuItemsFrom:eachMenuItem)
  1.2666 +	].
  1.2667 +    ].
  1.2668      item children:subItems.
  1.2669 -    
  1.2670 +
  1.2671      ^ item
  1.2672  
  1.2673      "Modified: / 16-08-2017 / 12:43:35 / cg"
  1.2674 @@ -2531,19 +2531,19 @@
  1.2675      The class is used to build up the hierarchical tree.
  1.2676  
  1.2677      [Instance variables:]
  1.2678 -        widget        <View>            the widget represented by the item
  1.2679 -        spec          <UISpecification> the UISpecification or nil
  1.2680 +	widget        <View>            the widget represented by the item
  1.2681 +	spec          <UISpecification> the UISpecification or nil
  1.2682  
  1.2683      [Class variables:]
  1.2684 -        HandleExtent  <Point>           keeps the extent of a handle
  1.2685 +	HandleExtent  <Point>           keeps the extent of a handle
  1.2686  
  1.2687  
  1.2688      [author:]
  1.2689 -        Claus Atzkern
  1.2690 +	Claus Atzkern
  1.2691  
  1.2692      [see also:]
  1.2693 -        HierarchicalItem
  1.2694 -        ViewTreeModel
  1.2695 +	HierarchicalItem
  1.2696 +	ViewTreeModel
  1.2697  "
  1.2698  !
  1.2699  
  1.2700 @@ -2600,8 +2600,8 @@
  1.2701      |appl|
  1.2702  
  1.2703      widget notNil ifTrue:[
  1.2704 -        appl := widget application.
  1.2705 -        appl notNil ifTrue:[^ appl class ].
  1.2706 +	appl := widget application.
  1.2707 +	appl notNil ifTrue:[^ appl class ].
  1.2708      ].
  1.2709      ^ nil
  1.2710  !
  1.2711 @@ -2638,7 +2638,7 @@
  1.2712      "returns the spec-class assigned to the item
  1.2713      "
  1.2714      widget isNil ifTrue:[
  1.2715 -        ^ MenuPanelSpec 
  1.2716 +	^ MenuPanelSpec
  1.2717      ].
  1.2718      ^ widget specClass
  1.2719  
  1.2720 @@ -2684,26 +2684,26 @@
  1.2721      |layout specClass superView|
  1.2722  
  1.2723      (superView := widget superView) isNil ifTrue:[
  1.2724 -        ^ #Extent
  1.2725 +	^ #Extent
  1.2726      ].
  1.2727 -        
  1.2728 +
  1.2729      specClass := superView specClass.
  1.2730  
  1.2731      (specClass notNil and:[specClass isLayoutContainer]) ifTrue:[
  1.2732 -        ^ specClass canResizeSubComponents ifTrue:[#Extent] ifFalse:[nil]
  1.2733 +	^ specClass canResizeSubComponents ifTrue:[#Extent] ifFalse:[nil]
  1.2734      ].
  1.2735  
  1.2736      (layout := widget geometryLayout) isNil ifTrue:[
  1.2737 -        ^ #Extent
  1.2738 +	^ #Extent
  1.2739      ].
  1.2740  
  1.2741      layout isLayout ifTrue:[
  1.2742 -        layout isLayoutFrame        ifTrue:[ ^ #LayoutFrame ].
  1.2743 -        layout isAlignmentOrigin    ifTrue:[ ^ #AlignmentOrigin ].
  1.2744 -        layout isLayoutOrigin       ifTrue:[ ^ #LayoutOrigin ].
  1.2745 +	layout isLayoutFrame        ifTrue:[ ^ #LayoutFrame ].
  1.2746 +	layout isAlignmentOrigin    ifTrue:[ ^ #AlignmentOrigin ].
  1.2747 +	layout isLayoutOrigin       ifTrue:[ ^ #LayoutOrigin ].
  1.2748      ] ifFalse:[
  1.2749 -        layout isRectangle          ifTrue:[ ^ #Rectangle ].
  1.2750 -        layout isPoint              ifTrue:[ ^ #Point ].
  1.2751 +	layout isRectangle          ifTrue:[ ^ #Rectangle ].
  1.2752 +	layout isPoint              ifTrue:[ ^ #Point ].
  1.2753  
  1.2754      ].
  1.2755      Transcript showCR:'UNSUPPORTRD LAYOUT: ', layout printString.
  1.2756 @@ -2730,32 +2730,32 @@
  1.2757      |subViews list item subMenu|
  1.2758  
  1.2759      children isNil ifTrue:[
  1.2760 -        isExpanded := false.
  1.2761 -
  1.2762 -        list := OrderedCollection new.
  1.2763 -
  1.2764 -        "/ it's either a widget or a menuItem
  1.2765 -        widget notNil ifTrue:[
  1.2766 -            subViews := widget subViews.
  1.2767 -            subViews notEmptyOrNil ifTrue:[
  1.2768 -                subViews do:[:aSubView|
  1.2769 -                    item := self class buildViewsFrom:aSubView.
  1.2770 -                    item parent:self.
  1.2771 -                    list add:item.
  1.2772 -                ].
  1.2773 -            ].
  1.2774 -        ].
  1.2775 -
  1.2776 -        menuItem notNil ifTrue:[ 
  1.2777 -            (subMenu := menuItem submenuOrNil) notNil ifTrue:[
  1.2778 -                subMenu items do:[:aSubItem|
  1.2779 -                    item := self class buildMenuItemsFrom:aSubItem.
  1.2780 -                    item parent:self.
  1.2781 -                    list add:item.
  1.2782 -                ].
  1.2783 -            ].
  1.2784 -        ].
  1.2785 -        children := list.
  1.2786 +	isExpanded := false.
  1.2787 +
  1.2788 +	list := OrderedCollection new.
  1.2789 +
  1.2790 +	"/ it's either a widget or a menuItem
  1.2791 +	widget notNil ifTrue:[
  1.2792 +	    subViews := widget subViews.
  1.2793 +	    subViews notEmptyOrNil ifTrue:[
  1.2794 +		subViews do:[:aSubView|
  1.2795 +		    item := self class buildViewsFrom:aSubView.
  1.2796 +		    item parent:self.
  1.2797 +		    list add:item.
  1.2798 +		].
  1.2799 +	    ].
  1.2800 +	].
  1.2801 +
  1.2802 +	menuItem notNil ifTrue:[
  1.2803 +	    (subMenu := menuItem submenuOrNil) notNil ifTrue:[
  1.2804 +		subMenu items do:[:aSubItem|
  1.2805 +		    item := self class buildMenuItemsFrom:aSubItem.
  1.2806 +		    item parent:self.
  1.2807 +		    list add:item.
  1.2808 +		].
  1.2809 +	    ].
  1.2810 +	].
  1.2811 +	children := list.
  1.2812      ].
  1.2813      ^ children notEmpty
  1.2814  
  1.2815 @@ -2774,7 +2774,7 @@
  1.2816      "answer an additional label for an Item"
  1.2817  
  1.2818      parent notNil ifTrue:[
  1.2819 -        ^ parent additionalLabelForItem:anItem
  1.2820 +	^ parent additionalLabelForItem:anItem
  1.2821      ].
  1.2822      ^ nil
  1.2823  !
  1.2824 @@ -2785,19 +2785,19 @@
  1.2825      super displayIcon:anIcon atX:x y:y on:aGC.
  1.2826  
  1.2827      self exists ifFalse:[
  1.2828 -        aGC paint:(Color red).
  1.2829 -
  1.2830 -        y0 := y + 1.
  1.2831 -        y1 := y + anIcon height - 2.
  1.2832 -
  1.2833 -        x0 := x - 1.
  1.2834 -        w  := anIcon width.
  1.2835 -
  1.2836 -        2 timesRepeat:[
  1.2837 -            aGC displayLineFromX:x0 y:y0 toX:(x0 + w) y:y1.
  1.2838 -            aGC displayLineFromX:x0 y:y1 toX:(x0 + w) y:y0.
  1.2839 -            x0 := x0 + 1.
  1.2840 -        ].
  1.2841 +	aGC paint:(Color red).
  1.2842 +
  1.2843 +	y0 := y + 1.
  1.2844 +	y1 := y + anIcon height - 2.
  1.2845 +
  1.2846 +	x0 := x - 1.
  1.2847 +	w  := anIcon width.
  1.2848 +
  1.2849 +	2 timesRepeat:[
  1.2850 +	    aGC displayLineFromX:x0 y:y0 toX:(x0 + w) y:y1.
  1.2851 +	    aGC displayLineFromX:x0 y:y1 toX:(x0 + w) y:y0.
  1.2852 +	    x0 := x0 + 1.
  1.2853 +	].
  1.2854      ].
  1.2855  !
  1.2856  
  1.2857 @@ -2808,39 +2808,39 @@
  1.2858      label isEmptyOrNil ifTrue:[^ self].
  1.2859  
  1.2860      widget isNil ifTrue:[
  1.2861 -        isValidAndShown := true.
  1.2862 +	isValidAndShown := true.
  1.2863      ] ifFalse:[
  1.2864 -        widget id isNil ifTrue:[
  1.2865 -            isDrawnShown := false.
  1.2866 -
  1.2867 -            self exists ifFalse:[
  1.2868 -                xOffsetAdditionalName := nil.
  1.2869 -            ].
  1.2870 -            isValidAndShown := false.
  1.2871 -        ] ifFalse:[
  1.2872 -            isValidAndShown := widget shown.
  1.2873 -        ].
  1.2874 +	widget id isNil ifTrue:[
  1.2875 +	    isDrawnShown := false.
  1.2876 +
  1.2877 +	    self exists ifFalse:[
  1.2878 +		xOffsetAdditionalName := nil.
  1.2879 +	    ].
  1.2880 +	    isValidAndShown := false.
  1.2881 +	] ifFalse:[
  1.2882 +	    isValidAndShown := widget shown.
  1.2883 +	].
  1.2884      ].
  1.2885 -    
  1.2886 +
  1.2887      isValidAndShown ifFalse:[
  1.2888 -        label := Text string:label emphasis:#italic.
  1.2889 -        label colorizeAllWith:Color gray.
  1.2890 +	label := Text string:label emphasis:#italic.
  1.2891 +	label colorizeAllWith:Color gray.
  1.2892      ].
  1.2893  
  1.2894      labelHeight := self heightOn:aGC.
  1.2895      self displayLabel:label h:labelHeight on:aGC x:x y:y h:h isHighlightedAsSelected:isHighlightedAsSelected.
  1.2896  
  1.2897      xOffsetAdditionalName notNil ifTrue:[
  1.2898 -        additionalName := self additionalLabelForItem:self.
  1.2899 -
  1.2900 -        additionalName notNil ifTrue:[
  1.2901 -            self displayLabel:additionalName
  1.2902 -                            h:labelHeight on:aGC
  1.2903 -                            x:(x + xOffsetAdditionalName) y:y
  1.2904 -                            h:h.
  1.2905 -        ] ifFalse:[
  1.2906 -            xOffsetAdditionalName := nil.
  1.2907 -        ].
  1.2908 +	additionalName := self additionalLabelForItem:self.
  1.2909 +
  1.2910 +	additionalName notNil ifTrue:[
  1.2911 +	    self displayLabel:additionalName
  1.2912 +			    h:labelHeight on:aGC
  1.2913 +			    x:(x + xOffsetAdditionalName) y:y
  1.2914 +			    h:h.
  1.2915 +	] ifFalse:[
  1.2916 +	    xOffsetAdditionalName := nil.
  1.2917 +	].
  1.2918      ].
  1.2919  
  1.2920      "Modified (format): / 16-08-2017 / 12:57:39 / cg"
  1.2921 @@ -2850,7 +2850,7 @@
  1.2922      width := xOffsetAdditionalName := nil.
  1.2923  
  1.2924      children notNil ifTrue:[
  1.2925 -        children do:[:each| each recursiveAdditionalNameBehaviourChanged ]
  1.2926 +	children do:[:each| each recursiveAdditionalNameBehaviourChanged ]
  1.2927      ].
  1.2928  !
  1.2929  
  1.2930 @@ -2860,18 +2860,18 @@
  1.2931      |additionalName|
  1.2932  
  1.2933      width isNil ifTrue:[
  1.2934 -        width := self widthOf:(self label) on:aGC.
  1.2935 -        width := width + 2.
  1.2936 -
  1.2937 -        additionalName := self additionalLabelForItem:self.
  1.2938 -
  1.2939 -        additionalName notNil ifTrue:[
  1.2940 -            xOffsetAdditionalName := width + 10.
  1.2941 -            width := xOffsetAdditionalName + (self widthOf:additionalName on:aGC).
  1.2942 -            width := width + 2.
  1.2943 -        ] ifFalse:[
  1.2944 -            xOffsetAdditionalName := nil.
  1.2945 -        ].
  1.2946 +	width := self widthOf:(self label) on:aGC.
  1.2947 +	width := width + 2.
  1.2948 +
  1.2949 +	additionalName := self additionalLabelForItem:self.
  1.2950 +
  1.2951 +	additionalName notNil ifTrue:[
  1.2952 +	    xOffsetAdditionalName := width + 10.
  1.2953 +	    width := xOffsetAdditionalName + (self widthOf:additionalName on:aGC).
  1.2954 +	    width := width + 2.
  1.2955 +	] ifFalse:[
  1.2956 +	    xOffsetAdditionalName := nil.
  1.2957 +	].
  1.2958      ].
  1.2959      ^ width
  1.2960  ! !
  1.2961 @@ -2884,17 +2884,17 @@
  1.2962       set to nil if not resizeable.
  1.2963  
  1.2964       TYPES:     type    position( X - Y )
  1.2965 -                -------------------------        
  1.2966 -                #LT     Left   - Top
  1.2967 -                #LC     Left   - Center
  1.2968 -                #LB     Left   - Bottom
  1.2969 -                #CT     Center - Top
  1.2970 -                #CB     Center - Bottom
  1.2971 -                #RT     Right  - Top
  1.2972 -                #RC     Right  - Center
  1.2973 -                #RB     Right  - Bottom
  1.2974 -
  1.2975 -                nil     ** handle not pickable **
  1.2976 +		-------------------------
  1.2977 +		#LT     Left   - Top
  1.2978 +		#LC     Left   - Center
  1.2979 +		#LB     Left   - Bottom
  1.2980 +		#CT     Center - Top
  1.2981 +		#CB     Center - Bottom
  1.2982 +		#RT     Right  - Top
  1.2983 +		#RC     Right  - Center
  1.2984 +		#RB     Right  - Bottom
  1.2985 +
  1.2986 +		nil     ** handle not pickable **
  1.2987      "
  1.2988      |type relOrg relCrn maxExt rootView w h
  1.2989       xL    "{ Class:SmallInteger }"
  1.2990 @@ -2929,14 +2929,14 @@
  1.2991      h   := HandleExtent y.
  1.2992  
  1.2993      (type == #LayoutFrame or:[type == #Rectangle]) ifTrue:[
  1.2994 -        aTwoArgAction value:(Rectangle left:xL top:yT width:w height:h) value:#LT.
  1.2995 -        aTwoArgAction value:(Rectangle left:xL top:yC width:w height:h) value:#LC.
  1.2996 -        aTwoArgAction value:(Rectangle left:xL top:yB width:w height:h) value:#LB.
  1.2997 -        aTwoArgAction value:(Rectangle left:xC top:yT width:w height:h) value:#CT.
  1.2998 -        aTwoArgAction value:(Rectangle left:xC top:yB width:w height:h) value:#CB.
  1.2999 -        aTwoArgAction value:(Rectangle left:xR top:yT width:w height:h) value:#RT.
  1.3000 -        aTwoArgAction value:(Rectangle left:xR top:yC width:w height:h) value:#RC.
  1.3001 -        aTwoArgAction value:(Rectangle left:xR top:yB width:w height:h) value:#RB.
  1.3002 +	aTwoArgAction value:(Rectangle left:xL top:yT width:w height:h) value:#LT.
  1.3003 +	aTwoArgAction value:(Rectangle left:xL top:yC width:w height:h) value:#LC.
  1.3004 +	aTwoArgAction value:(Rectangle left:xL top:yB width:w height:h) value:#LB.
  1.3005 +	aTwoArgAction value:(Rectangle left:xC top:yT width:w height:h) value:#CT.
  1.3006 +	aTwoArgAction value:(Rectangle left:xC top:yB width:w height:h) value:#CB.
  1.3007 +	aTwoArgAction value:(Rectangle left:xR top:yT width:w height:h) value:#RT.
  1.3008 +	aTwoArgAction value:(Rectangle left:xR top:yC width:w height:h) value:#RC.
  1.3009 +	aTwoArgAction value:(Rectangle left:xR top:yB width:w height:h) value:#RB.
  1.3010        ^ self
  1.3011      ].
  1.3012  
  1.3013 @@ -2945,9 +2945,9 @@
  1.3014      aTwoArgAction value:(Rectangle left:xR top:yT width:w height:h) value:nil.
  1.3015  
  1.3016      type == #Extent ifTrue:[
  1.3017 -        aTwoArgAction value:(Rectangle left:xC top:yB width:w height:h) value:#CB.
  1.3018 -        aTwoArgAction value:(Rectangle left:xR top:yC width:w height:h) value:#RC.
  1.3019 -        aTwoArgAction value:(Rectangle left:xR top:yB width:w height:h) value:#RB.
  1.3020 +	aTwoArgAction value:(Rectangle left:xC top:yB width:w height:h) value:#CB.
  1.3021 +	aTwoArgAction value:(Rectangle left:xR top:yC width:w height:h) value:#RC.
  1.3022 +	aTwoArgAction value:(Rectangle left:xR top:yB width:w height:h) value:#RB.
  1.3023        ^ self
  1.3024      ].
  1.3025      aTwoArgAction value:(Rectangle left:xR top:yB width:w height:h) value:nil.
  1.3026 @@ -2959,22 +2959,22 @@
  1.3027      "recursive evaluate the block on each child which is visible
  1.3028      "
  1.3029      (isExpanded and:[children size > 0]) ifTrue:[
  1.3030 -        children do:[:aChild|
  1.3031 -            anOneArgBlock value:aChild.
  1.3032 -            aChild recursiveEachVisibleItemDo:anOneArgBlock.
  1.3033 -        ]
  1.3034 +	children do:[:aChild|
  1.3035 +	    anOneArgBlock value:aChild.
  1.3036 +	    aChild recursiveEachVisibleItemDo:anOneArgBlock.
  1.3037 +	]
  1.3038      ].
  1.3039  !
  1.3040  
  1.3041  subViewsDo:aOneArgBlock
  1.3042 -    "evaluate aBlock for all subviews other than InputView's   
  1.3043 +    "evaluate aBlock for all subviews other than InputView's
  1.3044      "
  1.3045      |subViews|
  1.3046  
  1.3047      subViews := widget subViews.
  1.3048  
  1.3049      subViews notNil ifTrue:[
  1.3050 -        subViews do:aOneArgBlock
  1.3051 +	subViews do:aOneArgBlock
  1.3052      ].
  1.3053  ! !
  1.3054  
  1.3055 @@ -3006,12 +3006,12 @@
  1.3056       in case of rootView, only the children are deleted
  1.3057      "
  1.3058      parent isHierarchicalItem ifTrue:[
  1.3059 -        self criticalDo:[
  1.3060 -            parent remove:self.
  1.3061 -            widget destroy.
  1.3062 -        ]
  1.3063 +	self criticalDo:[
  1.3064 +	    parent remove:self.
  1.3065 +	    widget destroy.
  1.3066 +	]
  1.3067      ] ifFalse:[
  1.3068 -        self deleteAll
  1.3069 +	self deleteAll
  1.3070      ].
  1.3071  !
  1.3072  
  1.3073 @@ -3021,8 +3021,8 @@
  1.3074      children size == 0 ifTrue:[^ self].
  1.3075  
  1.3076      self criticalDo:[
  1.3077 -        self nonCriticalDo:[:el| el widget destroy ].
  1.3078 -        self removeAll
  1.3079 +	self nonCriticalDo:[:el| el widget destroy ].
  1.3080 +	self removeAll
  1.3081      ].
  1.3082  ! !
  1.3083  
  1.3084 @@ -3036,25 +3036,25 @@
  1.3085      layout := widget geometryLayout.
  1.3086  
  1.3087      layout isNil ifTrue:[
  1.3088 -        ^ widget bounds asLayout
  1.3089 +	^ widget bounds asLayout
  1.3090      ].
  1.3091  
  1.3092      layout isLayout ifFalse:[
  1.3093 -        layout isRectangle ifTrue:[
  1.3094 -            ^ LayoutFrame leftOffset:(layout left) rightOffset:(layout right)
  1.3095 -                           topOffset:(layout top) bottomOffset:(layout bottom)
  1.3096 -        ].
  1.3097 -        layout isPoint ifTrue:[
  1.3098 -            extent := widget extent.
  1.3099 -          ^ LayoutFrame leftOffset:(layout x)  rightOffset:(layout x + extent x)
  1.3100 -                         topOffset:(layout y) bottomOffset:(layout y + extent y)
  1.3101 -        ].
  1.3102 -
  1.3103 -        Transcript showCR:'UNSUPPORTRD LAYOUT: ', layout printString.
  1.3104 +	layout isRectangle ifTrue:[
  1.3105 +	    ^ LayoutFrame leftOffset:(layout left) rightOffset:(layout right)
  1.3106 +			   topOffset:(layout top) bottomOffset:(layout bottom)
  1.3107 +	].
  1.3108 +	layout isPoint ifTrue:[
  1.3109 +	    extent := widget extent.
  1.3110 +	  ^ LayoutFrame leftOffset:(layout x)  rightOffset:(layout x + extent x)
  1.3111 +			 topOffset:(layout y) bottomOffset:(layout y + extent y)
  1.3112 +	].
  1.3113 +
  1.3114 +	Transcript showCR:'UNSUPPORTRD LAYOUT: ', layout printString.
  1.3115        ^ nil
  1.3116      ].
  1.3117  
  1.3118 -    layout isLayoutFrame ifTrue:[ ^ layout copy ].    
  1.3119 +    layout isLayoutFrame ifTrue:[ ^ layout copy ].
  1.3120  
  1.3121      lftFrc := layout leftFraction.
  1.3122      lftOff := layout leftOffset.
  1.3123 @@ -3063,26 +3063,26 @@
  1.3124      extent := widget extent.
  1.3125  
  1.3126      newLyt := LayoutFrame leftFraction:lftFrc offset:lftOff
  1.3127 -                         rightFraction:lftFrc offset:(lftOff + extent x)
  1.3128 -                           topFraction:topFrc offset:topOff
  1.3129 -                        bottomFraction:topFrc offset:(topOff + extent y).
  1.3130 +			 rightFraction:lftFrc offset:(lftOff + extent x)
  1.3131 +			   topFraction:topFrc offset:topOff
  1.3132 +			bottomFraction:topFrc offset:(topOff + extent y).
  1.3133  
  1.3134      (      layout isAlignmentOrigin
  1.3135       and:[(layout leftAlignmentFraction ~= 0 or:[layout topAlignmentFraction ~= 0])]
  1.3136      ) ifTrue:[
  1.3137 -        |svRc prBd dlta|
  1.3138 -
  1.3139 -        svRc := widget superView viewRectangle.
  1.3140 -        prBd := widget preferredBounds.
  1.3141 -
  1.3142 -        dlta := (  ((layout rectangleRelativeTo:svRc preferred:prBd) corner)
  1.3143 -                 - ((newLyt rectangleRelativeTo:svRc preferred:prBd) corner)
  1.3144 -                ) rounded.
  1.3145 -
  1.3146 -        newLyt   leftOffset:(lftOff + dlta x).
  1.3147 -        newLyt  rightOffset:(lftOff + extent x + dlta x).
  1.3148 -        newLyt    topOffset:(topOff + dlta y).
  1.3149 -        newLyt bottomOffset:(topOff + extent y + dlta y).
  1.3150 +	|svRc prBd dlta|
  1.3151 +
  1.3152 +	svRc := widget superView viewRectangle.
  1.3153 +	prBd := widget preferredBounds.
  1.3154 +
  1.3155 +	dlta := (  ((layout rectangleRelativeTo:svRc preferred:prBd) corner)
  1.3156 +		 - ((newLyt rectangleRelativeTo:svRc preferred:prBd) corner)
  1.3157 +		) rounded.
  1.3158 +
  1.3159 +	newLyt   leftOffset:(lftOff + dlta x).
  1.3160 +	newLyt  rightOffset:(lftOff + extent x + dlta x).
  1.3161 +	newLyt    topOffset:(topOff + dlta y).
  1.3162 +	newLyt bottomOffset:(topOff + extent y + dlta y).
  1.3163      ].
  1.3164      ^ newLyt
  1.3165  !
  1.3166 @@ -3095,30 +3095,30 @@
  1.3167      self isMoveable ifFalse:[ ^ self ].
  1.3168  
  1.3169      (layout := widget geometryLayout) isNil ifTrue:[
  1.3170 -        "Extent"
  1.3171 -        widget origin:(widget origin + (l@t)).
  1.3172 +	"Extent"
  1.3173 +	widget origin:(widget origin + (l@t)).
  1.3174        ^ self
  1.3175      ].
  1.3176  
  1.3177      layout := layout copy.
  1.3178  
  1.3179      layout isLayout ifTrue:[
  1.3180 -        layout leftOffset:(layout leftOffset + l)
  1.3181 -                topOffset:(layout topOffset  + t).
  1.3182 -
  1.3183 -        layout isLayoutFrame ifTrue:[
  1.3184 -            layout  rightOffset:(layout rightOffset  + l).
  1.3185 -            layout bottomOffset:(layout bottomOffset + t).
  1.3186 -        ]
  1.3187 +	layout leftOffset:(layout leftOffset + l)
  1.3188 +		topOffset:(layout topOffset  + t).
  1.3189 +
  1.3190 +	layout isLayoutFrame ifTrue:[
  1.3191 +	    layout  rightOffset:(layout rightOffset  + l).
  1.3192 +	    layout bottomOffset:(layout bottomOffset + t).
  1.3193 +	]
  1.3194  
  1.3195      ] ifFalse:[
  1.3196 -        layout isRectangle ifTrue:[
  1.3197 -            layout setLeft:(layout left + l).
  1.3198 -            layout  setTop:(layout top  + t).
  1.3199 -        ] ifFalse:[
  1.3200 -            layout isPoint ifFalse:[^ self].
  1.3201 -            layout x:(layout x + l) y:(layout y + t).
  1.3202 -        ]
  1.3203 +	layout isRectangle ifTrue:[
  1.3204 +	    layout setLeft:(layout left + l).
  1.3205 +	    layout  setTop:(layout top  + t).
  1.3206 +	] ifFalse:[
  1.3207 +	    layout isPoint ifFalse:[^ self].
  1.3208 +	    layout x:(layout x + l) y:(layout y + t).
  1.3209 +	]
  1.3210      ].
  1.3211      widget geometryLayout:layout.
  1.3212  !
  1.3213 @@ -3129,35 +3129,35 @@
  1.3214      |layout|
  1.3215  
  1.3216      self isResizeable ifFalse:[
  1.3217 -        ^ self
  1.3218 +	^ self
  1.3219      ].
  1.3220  
  1.3221      (layout := widget geometryLayout) isNil ifTrue:[
  1.3222 -        "Extent"
  1.3223 -        (r == l and:[b == t]) ifFalse:[
  1.3224 -            widget extent:(widget computeExtent + ((r-l) @ (b-t))).
  1.3225 -        ].
  1.3226 -        ^ self
  1.3227 +	"Extent"
  1.3228 +	(r == l and:[b == t]) ifFalse:[
  1.3229 +	    widget extent:(widget computeExtent + ((r-l) @ (b-t))).
  1.3230 +	].
  1.3231 +	^ self
  1.3232      ].
  1.3233  
  1.3234      layout isLayout ifTrue:[
  1.3235 -        layout := layout copy.
  1.3236 -
  1.3237 -        layout leftOffset:(layout leftOffset + l)
  1.3238 -                topOffset:(layout topOffset  + t).
  1.3239 -
  1.3240 -        layout isLayoutFrame ifTrue:[
  1.3241 -            layout bottomOffset:(layout bottomOffset + b).
  1.3242 -            layout  rightOffset:(layout rightOffset  + r).
  1.3243 -        ]
  1.3244 +	layout := layout copy.
  1.3245 +
  1.3246 +	layout leftOffset:(layout leftOffset + l)
  1.3247 +		topOffset:(layout topOffset  + t).
  1.3248 +
  1.3249 +	layout isLayoutFrame ifTrue:[
  1.3250 +	    layout bottomOffset:(layout bottomOffset + b).
  1.3251 +	    layout  rightOffset:(layout rightOffset  + r).
  1.3252 +	]
  1.3253      ] ifFalse:[
  1.3254 -        layout isRectangle ifFalse:[^ self].
  1.3255 -        layout := layout copy.
  1.3256 -
  1.3257 -        layout left:(layout left   + l)
  1.3258 -              right:(layout right  + r)
  1.3259 -                top:(layout top    + t)
  1.3260 -             bottom:(layout bottom + b).
  1.3261 +	layout isRectangle ifFalse:[^ self].
  1.3262 +	layout := layout copy.
  1.3263 +
  1.3264 +	layout left:(layout left   + l)
  1.3265 +	      right:(layout right  + r)
  1.3266 +		top:(layout top    + t)
  1.3267 +	     bottom:(layout bottom + b).
  1.3268      ].
  1.3269      widget geometryLayout:layout.
  1.3270  ! !
  1.3271 @@ -3171,23 +3171,23 @@
  1.3272      queue add:self.
  1.3273  
  1.3274      self criticalDo:[
  1.3275 -        [queue notEmpty] whileTrue:[
  1.3276 -            |toRemove  elProcessed|
  1.3277 -
  1.3278 -            elProcessed := queue removeFirst.
  1.3279 -            toRemove := nil.
  1.3280 -            elProcessed nonCriticalDo:[:el|
  1.3281 -                el exists ifTrue:[
  1.3282 -                    queue add:el.
  1.3283 -                ] ifFalse:[
  1.3284 -                    toRemove isNil ifTrue:[toRemove := OrderedCollection new].
  1.3285 -                    toRemove add:el.
  1.3286 -                ]
  1.3287 -            ].
  1.3288 -            toRemove notNil ifTrue:[
  1.3289 -                toRemove do:[:el| elProcessed remove:el ].
  1.3290 -            ].
  1.3291 -        ].
  1.3292 +	[queue notEmpty] whileTrue:[
  1.3293 +	    |toRemove  elProcessed|
  1.3294 +
  1.3295 +	    elProcessed := queue removeFirst.
  1.3296 +	    toRemove := nil.
  1.3297 +	    elProcessed nonCriticalDo:[:el|
  1.3298 +		el exists ifTrue:[
  1.3299 +		    queue add:el.
  1.3300 +		] ifFalse:[
  1.3301 +		    toRemove isNil ifTrue:[toRemove := OrderedCollection new].
  1.3302 +		    toRemove add:el.
  1.3303 +		]
  1.3304 +	    ].
  1.3305 +	    toRemove notNil ifTrue:[
  1.3306 +		toRemove do:[:el| elProcessed remove:el ].
  1.3307 +	    ].
  1.3308 +	].
  1.3309      ].
  1.3310  !
  1.3311  
  1.3312 @@ -3200,20 +3200,20 @@
  1.3313      children   size == 0 ifTrue:[ ^ self addAll:mergedList ].
  1.3314  
  1.3315      self criticalDo:[
  1.3316 -        self nonCriticalDo:[:el| |wdg|
  1.3317 -            wdg := el widget.
  1.3318 -            mergedList detect:[:e2| e2 widget == wdg ] ifNone:[ self remove:el ].
  1.3319 -        ].
  1.3320 -
  1.3321 -        mergedList keysAndValuesDo:[:i :el| |wdg e2|
  1.3322 -            wdg := el widget.
  1.3323 -
  1.3324 -            e2  := self at:i ifAbsent:nil.
  1.3325 -
  1.3326 -            (e2 isNil or:[e2 widget ~~ wdg]) ifTrue:[
  1.3327 -                self add:el beforeIndex:i
  1.3328 -            ]
  1.3329 -        ]
  1.3330 +	self nonCriticalDo:[:el| |wdg|
  1.3331 +	    wdg := el widget.
  1.3332 +	    mergedList detect:[:e2| e2 widget == wdg ] ifNone:[ self remove:el ].
  1.3333 +	].
  1.3334 +
  1.3335 +	mergedList keysAndValuesDo:[:i :el| |wdg e2|
  1.3336 +	    wdg := el widget.
  1.3337 +
  1.3338 +	    e2  := self at:i ifAbsent:nil.
  1.3339 +
  1.3340 +	    (e2 isNil or:[e2 widget ~~ wdg]) ifTrue:[
  1.3341 +		self add:el beforeIndex:i
  1.3342 +	    ]
  1.3343 +	]
  1.3344      ].
  1.3345  ! !
  1.3346  
  1.3347 @@ -3225,17 +3225,17 @@
  1.3348      |specClass model|
  1.3349  
  1.3350      menuItem notNil ifTrue:[
  1.3351 -        menuItem label isImage ifTrue:[
  1.3352 -            ^ menuItem label magnifiedTo:20@20.
  1.3353 -        ].    
  1.3354 +	menuItem label isImage ifTrue:[
  1.3355 +	    ^ menuItem label magnifiedTo:20@20.
  1.3356 +	].
  1.3357      ].
  1.3358 -    
  1.3359 +
  1.3360      specClass := self specClass.
  1.3361      specClass isNil ifTrue:[^ nil].
  1.3362  
  1.3363      model := self treeModel.
  1.3364      model notNil ifTrue:[
  1.3365 -        ^ model iconAt:specClass ifNonePut:[specClass icon]
  1.3366 +	^ model iconAt:specClass ifNonePut:[specClass icon]
  1.3367      ].
  1.3368      ^ specClass icon
  1.3369  
  1.3370 @@ -3258,8 +3258,8 @@
  1.3371      "get the string
  1.3372      "
  1.3373      widget isNil ifTrue:[
  1.3374 -        ^ menuItem class name    
  1.3375 -    ].    
  1.3376 +	^ menuItem class name
  1.3377 +    ].
  1.3378      ^ widget class name.
  1.3379  
  1.3380      "Modified: / 16-08-2017 / 13:45:39 / cg"
  1.3381 @@ -3282,7 +3282,7 @@
  1.3382      specClass := self specClass.
  1.3383  
  1.3384      specClass notNil ifTrue:[
  1.3385 -        ^ specClass canResizeSubComponents
  1.3386 +	^ specClass canResizeSubComponents
  1.3387      ].
  1.3388      ^ false
  1.3389  !
  1.3390 @@ -3292,13 +3292,13 @@
  1.3391      widget id notNil ifTrue:[^ true ].
  1.3392  
  1.3393      exists ~~ false ifTrue:[
  1.3394 -        exists := false.
  1.3395 -
  1.3396 -        widget superView notNil ifTrue:[
  1.3397 -            (parent isHierarchicalItem and:[parent exists]) ifTrue:[
  1.3398 -                exists := (parent widget subViews includesIdentical:widget).
  1.3399 -            ].
  1.3400 -        ].
  1.3401 +	exists := false.
  1.3402 +
  1.3403 +	widget superView notNil ifTrue:[
  1.3404 +	    (parent isHierarchicalItem and:[parent exists]) ifTrue:[
  1.3405 +		exists := (parent widget subViews includesIdentical:widget).
  1.3406 +	    ].
  1.3407 +	].
  1.3408      ].
  1.3409      ^ exists
  1.3410  
  1.3411 @@ -3311,9 +3311,9 @@
  1.3412      cls := widget class.
  1.3413  
  1.3414      ^ (    cls == ApplicationSubView
  1.3415 -        or:[cls == ApplicationWindow
  1.3416 -        or:[cls == SubCanvas]]
  1.3417 -      ) 
  1.3418 +	or:[cls == ApplicationWindow
  1.3419 +	or:[cls == SubCanvas]]
  1.3420 +      )
  1.3421  !
  1.3422  
  1.3423  isSelected
  1.3424 @@ -3330,12 +3330,12 @@
  1.3425      |specClass|
  1.3426  
  1.3427      widget isScrollWrapper ifTrue:[
  1.3428 -        ^ false
  1.3429 +	^ false
  1.3430      ].
  1.3431      specClass := self specClass.
  1.3432  
  1.3433      specClass notNil ifTrue:[
  1.3434 -        ^ specClass supportsSubComponents
  1.3435 +	^ specClass supportsSubComponents
  1.3436      ].
  1.3437      ^ false
  1.3438  ! !
  1.3439 @@ -3350,11 +3350,11 @@
  1.3440      sv := widget superView.
  1.3441  
  1.3442      sv notNil ifTrue:[
  1.3443 -        specClass := sv specClass.
  1.3444 -
  1.3445 -        specClass notNil ifTrue:[
  1.3446 -            ^ specClass isLayoutContainer
  1.3447 -        ].
  1.3448 +	specClass := sv specClass.
  1.3449 +
  1.3450 +	specClass notNil ifTrue:[
  1.3451 +	    ^ specClass isLayoutContainer
  1.3452 +	].
  1.3453      ].
  1.3454      ^ false
  1.3455  !
  1.3456 @@ -3368,7 +3368,7 @@
  1.3457      specClass := self specClass.
  1.3458  
  1.3459      specClass notNil ifTrue:[
  1.3460 -        ^ specClass isLayoutContainer
  1.3461 +	^ specClass isLayoutContainer
  1.3462      ].
  1.3463      ^ false
  1.3464  !
  1.3465 @@ -3377,7 +3377,7 @@
  1.3466      "returns true if the widget is not in a layout container
  1.3467      "
  1.3468      self isInLayoutContainer ifFalse:[
  1.3469 -        ^ widget superView notNil
  1.3470 +	^ widget superView notNil
  1.3471      ].
  1.3472      ^ false
  1.3473  !
  1.3474 @@ -3390,11 +3390,11 @@
  1.3475      sv := widget superView.
  1.3476  
  1.3477      sv notNil ifTrue:[
  1.3478 -        specClass := sv specClass.
  1.3479 -
  1.3480 -        specClass notNil ifTrue:[
  1.3481 -            ^ specClass canResizeSubComponents
  1.3482 -        ].
  1.3483 +	specClass := sv specClass.
  1.3484 +
  1.3485 +	specClass notNil ifTrue:[
  1.3486 +	    ^ specClass canResizeSubComponents
  1.3487 +	].
  1.3488      ].
  1.3489      ^ false
  1.3490  ! !
  1.3491 @@ -3411,41 +3411,41 @@
  1.3492  
  1.3493  
  1.3494      [Instance variables:]
  1.3495 -        lockSema            <Semaphore>         lock selection notifications and redraws
  1.3496 -
  1.3497 -        testModeChannel     <ValueHolder>       true, than running in test mode.
  1.3498 -
  1.3499 -        hasTargetWidgetChannel <ValueHolder>    true, than any target view is grapped
  1.3500 -
  1.3501 -        selection           <Sequence or nil>   selected items or nil
  1.3502 -
  1.3503 -        hiddenLevel         <Integer>           internal use; redrawing the selection
  1.3504 -                                                only is done if the counter is 0.
  1.3505 -
  1.3506 -        listOfItems         <HierarchicalList>  hiearchical list build from existing items.
  1.3507 -
  1.3508 -        selectedSuperItems  <Sequence>          list of selected super items; items selected
  1.3509 -                                                but not contained in another selected item.
  1.3510 -
  1.3511 -        inputEventAction    <Action>            called for each InputEvent
  1.3512 -
  1.3513 -        mappedViewAction    <Action>            called for a new mapped view which
  1.3514 -                                                can not be found in the current item list.
  1.3515 -
  1.3516 -        beforeSelectionChangedAction <Action>   called before the selection changed
  1.3517 +	lockSema            <Semaphore>         lock selection notifications and redraws
  1.3518 +
  1.3519 +	testModeChannel     <ValueHolder>       true, than running in test mode.
  1.3520 +
  1.3521 +	hasTargetWidgetChannel <ValueHolder>    true, than any target view is grapped
  1.3522 +
  1.3523 +	selection           <Sequence or nil>   selected items or nil
  1.3524 +
  1.3525 +	hiddenLevel         <Integer>           internal use; redrawing the selection
  1.3526 +						only is done if the counter is 0.
  1.3527 +
  1.3528 +	listOfItems         <HierarchicalList>  hiearchical list build from existing items.
  1.3529 +
  1.3530 +	selectedSuperItems  <Sequence>          list of selected super items; items selected
  1.3531 +						but not contained in another selected item.
  1.3532 +
  1.3533 +	inputEventAction    <Action>            called for each InputEvent
  1.3534 +
  1.3535 +	mappedViewAction    <Action>            called for a new mapped view which
  1.3536 +						can not be found in the current item list.
  1.3537 +
  1.3538 +	beforeSelectionChangedAction <Action>   called before the selection changed
  1.3539  
  1.3540      [author:]
  1.3541 -        Claus Atzkern
  1.3542 +	Claus Atzkern
  1.3543  
  1.3544      [see also:]
  1.3545 -        ViewTreeItem
  1.3546 +	ViewTreeItem
  1.3547  "
  1.3548  !
  1.3549  
  1.3550  examples
  1.3551  "
  1.3552      example 1: pick any window and show views and contained views
  1.3553 -                                                                                [exBegin]
  1.3554 +										[exBegin]
  1.3555      |top sel model panel|
  1.3556  
  1.3557      model := ViewTreeModel new.
  1.3558 @@ -3459,15 +3459,15 @@
  1.3559  
  1.3560      Button label:'Exit'       action:[model rootItem:nil. top destroy] in:panel.
  1.3561      Button label:'Pick Views' action:[  |win|
  1.3562 -                                        (     (win := Screen current viewFromUser) notNil
  1.3563 -                                         and:[(win := win topView) ~~ Screen current rootView
  1.3564 -                                         and:[win ~~ top]]
  1.3565 -                                        ) ifTrue:[
  1.3566 -                                            model rootItem:(ViewTreeItem buildViewsFrom:win)
  1.3567 -                                        ] ifFalse:[
  1.3568 -                                            model rootItem:nil
  1.3569 -                                        ]
  1.3570 -                                     ] in:panel.
  1.3571 +					(     (win := Screen current viewFromUser) notNil
  1.3572 +					 and:[(win := win topView) ~~ Screen current rootView
  1.3573 +					 and:[win ~~ top]]
  1.3574 +					) ifTrue:[
  1.3575 +					    model rootItem:(ViewTreeItem buildViewsFrom:win)
  1.3576 +					] ifFalse:[
  1.3577 +					    model rootItem:nil
  1.3578 +					]
  1.3579 +				     ] in:panel.
  1.3580  
  1.3581      sel  multipleSelectOk:true.
  1.3582      sel              list:model listOfItems.
  1.3583 @@ -3475,27 +3475,27 @@
  1.3584      sel          useIndex:false.
  1.3585  
  1.3586      sel doubleClickAction:[:i| |el|
  1.3587 -        el := model listOfItems at:i.
  1.3588 -        el spec notNil ifTrue:[ el spec   inspect ] ifFalse:[ el widget inspect ]
  1.3589 +	el := model listOfItems at:i.
  1.3590 +	el spec notNil ifTrue:[ el spec   inspect ] ifFalse:[ el widget inspect ]
  1.3591      ].
  1.3592      sel indicatorAction:[:i| (model listOfItems at:i) toggleExpand ].
  1.3593  
  1.3594      model inputEventAction:[:anEvent| |item|
  1.3595 -        anEvent isButtonEvent ifTrue:[
  1.3596 -            anEvent isButtonPressEvent ifTrue:[
  1.3597 -                model selectedItem:(model listOfItems detectItemRespondsToView:(anEvent view)).
  1.3598 -            ] ifFalse:[
  1.3599 -                anEvent type == #'buttonMultiPress:x:y:' ifTrue:[
  1.3600 -                    (item := model selectedItem) notNil ifTrue:[item widget inspect]
  1.3601 -                ]
  1.3602 -            ]
  1.3603 -        ]
  1.3604 +	anEvent isButtonEvent ifTrue:[
  1.3605 +	    anEvent isButtonPressEvent ifTrue:[
  1.3606 +		model selectedItem:(model listOfItems detectItemRespondsToView:(anEvent view)).
  1.3607 +	    ] ifFalse:[
  1.3608 +		anEvent type == #'buttonMultiPress:x:y:' ifTrue:[
  1.3609 +		    (item := model selectedItem) notNil ifTrue:[item widget inspect]
  1.3610 +		]
  1.3611 +	    ]
  1.3612 +	]
  1.3613      ].
  1.3614  
  1.3615      top openAndWait.
  1.3616      [[top shown] whileTrue:[Delay waitForSeconds:0.5]. model rootItem:nil] forkAt:8
  1.3617  
  1.3618 -                                                                                [exEnd]
  1.3619 +										[exEnd]
  1.3620  "
  1.3621  ! !
  1.3622  
  1.3623 @@ -3508,7 +3508,7 @@
  1.3624  catchEvents:aBoolean
  1.3625      catchEvents := aBoolean.
  1.3626      aBoolean ifFalse:[
  1.3627 -        self redrawUnselected:selection andLock:false checkTestMode:false.
  1.3628 +	self redrawUnselected:selection andLock:false checkTestMode:false.
  1.3629      ].
  1.3630  !
  1.3631  
  1.3632 @@ -3518,25 +3518,25 @@
  1.3633      | view views|
  1.3634  
  1.3635      selection isNil ifTrue:[ ^ nil ].
  1.3636 -    selection isCollection ifTrue:[ 
  1.3637 -        selection size ~~ 1 ifTrue:[ ^ nil ].
  1.3638 -        view := selection anElement widget.
  1.3639 -    ] ifFalse:[ 
  1.3640 -        view := selection widget.
  1.3641 +    selection isCollection ifTrue:[
  1.3642 +	selection size ~~ 1 ifTrue:[ ^ nil ].
  1.3643 +	view := selection anElement widget.
  1.3644 +    ] ifFalse:[
  1.3645 +	view := selection widget.
  1.3646      ].
  1.3647      view isNil ifTrue:[^ nil].
  1.3648 -    
  1.3649 +
  1.3650      views := OrderedCollection new.
  1.3651 -    [ view notNil ] whileTrue:[ 
  1.3652 -        views add: view.
  1.3653 -        view := view superView.
  1.3654 +    [ view notNil ] whileTrue:[
  1.3655 +	views add: view.
  1.3656 +	view := view superView.
  1.3657      ].
  1.3658      views removeLast.
  1.3659      ^ String streamContents:[ :s|
  1.3660 -        views reverseDo:[:each |
  1.3661 -            s nextPutAll:'/'.
  1.3662 -            s nextPutAll: each name asString "storeString".
  1.3663 -        ].
  1.3664 +	views reverseDo:[:each |
  1.3665 +	    s nextPutAll:'/'.
  1.3666 +	    s nextPutAll: each name asString "storeString".
  1.3667 +	].
  1.3668      ]
  1.3669  
  1.3670      "Created: / 19-05-2014 / 18:15:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1.3671 @@ -3558,21 +3558,21 @@
  1.3672      self deselect.
  1.3673  
  1.3674      lockSema critical:[
  1.3675 -        anItem notNil ifTrue:[ expanded := anItem isExpanded ]
  1.3676 -                     ifFalse:[ expanded := false ].
  1.3677 -
  1.3678 -        self value:nil.
  1.3679 -        listOfItems root:anItem.
  1.3680 -
  1.3681 -        anItem notNil ifTrue:[
  1.3682 -            timedUpdateTask := Process for:[ self timedUpdateTaskCycle ] priority:8.
  1.3683 -            timedUpdateTask name:'Update'.
  1.3684 -            timedUpdateTask resume.
  1.3685 -        ].
  1.3686 +	anItem notNil ifTrue:[ expanded := anItem isExpanded ]
  1.3687 +		     ifFalse:[ expanded := false ].
  1.3688 +
  1.3689 +	self value:nil.
  1.3690 +	listOfItems root:anItem.
  1.3691 +
  1.3692 +	anItem notNil ifTrue:[
  1.3693 +	    timedUpdateTask := Process for:[ self timedUpdateTaskCycle ] priority:8.
  1.3694 +	    timedUpdateTask name:'Update'.
  1.3695 +	    timedUpdateTask resume.
  1.3696 +	].
  1.3697      ].
  1.3698  
  1.3699      (expanded and:[anItem notNil]) ifTrue:[
  1.3700 -        anItem expand
  1.3701 +	anItem expand
  1.3702      ].
  1.3703      ^ anItem
  1.3704  !
  1.3705 @@ -3641,7 +3641,7 @@
  1.3706  
  1.3707      icon := icon copy onDevice:(view device).
  1.3708      icon isImage ifTrue:[
  1.3709 -        icon clearMaskedPixels.
  1.3710 +	icon clearMaskedPixels.
  1.3711      ].
  1.3712      icons at:aKey put:icon.
  1.3713      ^ icon
  1.3714 @@ -3654,8 +3654,8 @@
  1.3715       see: #waitHiddenLevel
  1.3716      "
  1.3717      (hiddenLevel := hiddenLevel - 1) < 1 ifTrue:[
  1.3718 -        hiddenLevel := 0.
  1.3719 -        self invalidateSelection.
  1.3720 +	hiddenLevel := 0.
  1.3721 +	self invalidateSelection.
  1.3722      ].
  1.3723  !
  1.3724  
  1.3725 @@ -3670,11 +3670,11 @@
  1.3726      "apply block with selection hidden
  1.3727      "
  1.3728  
  1.3729 -    [   
  1.3730 -        self waitHiddenLevel.
  1.3731 -        aZeroArgumentBlock value
  1.3732 +    [
  1.3733 +	self waitHiddenLevel.
  1.3734 +	aZeroArgumentBlock value
  1.3735      ] ensure:[
  1.3736 -        self signalHiddenLevel.
  1.3737 +	self signalHiddenLevel.
  1.3738      ].
  1.3739  
  1.3740      "Modified (format): / 17-07-2017 / 10:44:01 / cg"
  1.3741 @@ -3722,37 +3722,37 @@
  1.3742      myTaskId := timedUpdateTask.
  1.3743  
  1.3744      listOfItems root notNil ifTrue:[
  1.3745 -        view := listOfItems root widget.
  1.3746 +	view := listOfItems root widget.
  1.3747      ].
  1.3748  
  1.3749      [ view notNil ] whileTrue:[
  1.3750 -        Delay waitForSeconds:0.5.
  1.3751 -        
  1.3752 -        (myTaskId == timedUpdateTask and:[view id notNil]) ifFalse:[
  1.3753 -            view := nil.
  1.3754 -        ] ifTrue:[
  1.3755 -            (view sensor hasUserEvent:#updateChildren for:self) ifFalse:[
  1.3756 -                view sensor pushUserEvent:#updateChildren for:self.
  1.3757 -            ].
  1.3758 -        ].
  1.3759 +	Delay waitForSeconds:0.5.
  1.3760 +
  1.3761 +	(myTaskId == timedUpdateTask and:[view id notNil]) ifFalse:[
  1.3762 +	    view := nil.
  1.3763 +	] ifTrue:[
  1.3764 +	    (view sensor hasUserEvent:#updateChildren for:self) ifFalse:[
  1.3765 +		view sensor pushUserEvent:#updateChildren for:self.
  1.3766 +	    ].
  1.3767 +	].
  1.3768      ].
  1.3769      timedUpdateTask == myTaskId ifTrue:[
  1.3770 -        timedUpdateTask := nil.
  1.3771 -        listOfItems root:nil.
  1.3772 +	timedUpdateTask := nil.
  1.3773 +	listOfItems root:nil.
  1.3774      ].
  1.3775  !
  1.3776  
  1.3777  update:something with:someArgument from:aModel
  1.3778  
  1.3779      aModel == testModeChannel ifTrue:[
  1.3780 -        (hiddenLevel == 0 and:[selection size > 0]) ifTrue:[
  1.3781 -            testModeChannel value ifTrue:[
  1.3782 -                self redrawUnselected:selection andLock:false checkTestMode:false.
  1.3783 -            ] ifFalse:[
  1.3784 -                self invalidateSelection.
  1.3785 -            ].
  1.3786 -        ].
  1.3787 -        ^ self
  1.3788 +	(hiddenLevel == 0 and:[selection size > 0]) ifTrue:[
  1.3789 +	    testModeChannel value ifTrue:[
  1.3790 +		self redrawUnselected:selection andLock:false checkTestMode:false.
  1.3791 +	    ] ifFalse:[
  1.3792 +		self invalidateSelection.
  1.3793 +	    ].
  1.3794 +	].
  1.3795 +	^ self
  1.3796      ].
  1.3797      super update:something with:someArgument from:aModel.
  1.3798  !
  1.3799 @@ -3764,9 +3764,9 @@
  1.3800      rootItem isNil ifTrue:[^ self].
  1.3801  
  1.3802      rootItem exists ifFalse:[
  1.3803 -        listOfItems root:nil.
  1.3804 +	listOfItems root:nil.
  1.3805      ] ifTrue:[
  1.3806 -        rootItem updateChildren.
  1.3807 +	rootItem updateChildren.
  1.3808      ].
  1.3809  ! !
  1.3810  
  1.3811 @@ -3783,71 +3783,71 @@
  1.3812  
  1.3813      evView := anEvent view.
  1.3814      evView isNil ifTrue:[
  1.3815 -        (anEvent isMessageSendEvent not or:[anEvent receiver ~~ self]) ifTrue:[
  1.3816 -            ^ false
  1.3817 -        ].
  1.3818 -        anEvent value.
  1.3819 -        ^ true.
  1.3820 +	(anEvent isMessageSendEvent not or:[anEvent receiver ~~ self]) ifTrue:[
  1.3821 +	    ^ false
  1.3822 +	].
  1.3823 +	anEvent value.
  1.3824 +	^ true.
  1.3825      ].
  1.3826      rootView := listOfItems rootView.
  1.3827      rootView isNil ifTrue:[ ^ false ].
  1.3828  
  1.3829      anEvent isConfigureEvent ifTrue:[
  1.3830 -        hiddenLevel == 0 ifTrue:[
  1.3831 -            self redrawUnselected:selection andLock:false.
  1.3832 -        ].
  1.3833 -        ^ false
  1.3834 +	hiddenLevel == 0 ifTrue:[
  1.3835 +	    self redrawUnselected:selection andLock:false.
  1.3836 +	].
  1.3837 +	^ false
  1.3838      ].
  1.3839  
  1.3840      "/ check whether view is contained within the rootView
  1.3841      (evView == rootView or:[evView isComponentOf:rootView]) ifFalse:[
  1.3842 -        ^ false
  1.3843 +	^ false
  1.3844      ].
  1.3845  
  1.3846      anEvent isInputEvent ifFalse:[
  1.3847 -        anEvent isDamage ifTrue:[
  1.3848 -            hiddenLevel == 0 ifTrue:[self invalidateSelection].
  1.3849 -            ^ false
  1.3850 -        ].
  1.3851 -
  1.3852 -        anEvent isMapEvent ifTrue:[
  1.3853 -            mappedViewAction notNil ifTrue:[
  1.3854 -                item := listOfItems recursiveDetect:[:el| el widget == evView].
  1.3855 -                item isNil ifTrue:[ mappedViewAction value:evView ]
  1.3856 -            ].
  1.3857 -            ^ false
  1.3858 -        ].
  1.3859 -
  1.3860 -        anEvent type == #terminate ifTrue:[
  1.3861 -            item := listOfItems recursiveDetect:[:el| el widget == evView].
  1.3862 -            item notNil ifTrue:[ self processTerminateForItem:item ].
  1.3863 -            ^ false
  1.3864 -        ].
  1.3865 -        ^ false
  1.3866 +	anEvent isDamage ifTrue:[
  1.3867 +	    hiddenLevel == 0 ifTrue:[self invalidateSelection].
  1.3868 +	    ^ false
  1.3869 +	].
  1.3870 +
  1.3871 +	anEvent isMapEvent ifTrue:[
  1.3872 +	    mappedViewAction notNil ifTrue:[
  1.3873 +		item := listOfItems recursiveDetect:[:el| el widget == evView].
  1.3874 +		item isNil ifTrue:[ mappedViewAction value:evView ]
  1.3875 +	    ].
  1.3876 +	    ^ false
  1.3877 +	].
  1.3878 +
  1.3879 +	anEvent type == #terminate ifTrue:[
  1.3880 +	    item := listOfItems recursiveDetect:[:el| el widget == evView].
  1.3881 +	    item notNil ifTrue:[ self processTerminateForItem:item ].
  1.3882 +	    ^ false
  1.3883 +	].
  1.3884 +	^ false
  1.3885      ].
  1.3886      testMode := testModeChannel value.
  1.3887  
  1.3888      anEvent isFocusEvent ifTrue:[
  1.3889 -        evView == rootView ifTrue:[
  1.3890 -            self invalidateSelection
  1.3891 -        ].
  1.3892 -        ^ testMode not.
  1.3893 +	evView == rootView ifTrue:[
  1.3894 +	    self invalidateSelection
  1.3895 +	].
  1.3896 +	^ testMode not.
  1.3897      ].
  1.3898      anEvent isPointerEnterLeaveEvent ifTrue:[ ^ testMode not ].
  1.3899  
  1.3900      testMode ifFalse:[
  1.3901 -        inputEventAction notNil ifTrue:[ inputEventAction value:anEvent ].
  1.3902 +	inputEventAction notNil ifTrue:[ inputEventAction value:anEvent ].
  1.3903      ] ifTrue:[
  1.3904 -        anEvent isButtonPressEvent ifTrue:[
  1.3905 -            selectOnClickHolder value ifTrue:[
  1.3906 -                self selectItem:(listOfItems detectItemRespondsToView:evView).
  1.3907 -            ].
  1.3908 -        ]
  1.3909 +	anEvent isButtonPressEvent ifTrue:[
  1.3910 +	    selectOnClickHolder value ifTrue:[
  1.3911 +		self selectItem:(listOfItems detectItemRespondsToView:evView).
  1.3912 +	    ].
  1.3913 +	]
  1.3914      ].
  1.3915  
  1.3916      (hiddenLevel ~~ 0 and:[anEvent isButtonReleaseEvent]) ifTrue:[
  1.3917 -        hiddenLevel := 1.
  1.3918 -        self signalHiddenLevel.
  1.3919 +	hiddenLevel := 1.
  1.3920 +	self signalHiddenLevel.
  1.3921      ].
  1.3922  
  1.3923      ^ testMode not
  1.3924 @@ -3894,7 +3894,7 @@
  1.3925       and:[(topView := listOfItems rootView) notNil
  1.3926       and:[topView shown]]]
  1.3927      ) ifTrue:[
  1.3928 -        topView sensor pushUserEvent:#redrawSelection for:self withArguments:#()
  1.3929 +	topView sensor pushUserEvent:#redrawSelection for:self withArguments:#()
  1.3930      ]
  1.3931  !
  1.3932  
  1.3933 @@ -3919,8 +3919,8 @@
  1.3934      subViews := aView subViews.
  1.3935  
  1.3936      subViews size ~~ 0 ifTrue:[
  1.3937 -        subViews reverseDo:[:v| self recursiveRepair:theDamages startIn:v relativeTo:aRootView ].
  1.3938 -        theDamages isEmpty ifTrue:[ ^ self ].
  1.3939 +	subViews reverseDo:[:v| self recursiveRepair:theDamages startIn:v relativeTo:aRootView ].
  1.3940 +	theDamages isEmpty ifTrue:[ ^ self ].
  1.3941      ].
  1.3942  
  1.3943      relOrg  := aView originRelativeTo:aRootView.
  1.3944 @@ -3934,42 +3934,42 @@
  1.3945      height  := aView height + bwWidth + bwWidth.
  1.3946  
  1.3947      size to:1 by:-1 do:[:anIndex|
  1.3948 -        repaired := damage := theDamages at:anIndex.
  1.3949 -
  1.3950 -        "/ compute the rectangle into the view
  1.3951 -        y := damage top  - relOrgY.
  1.3952 -        x := damage left - relOrgX.
  1.3953 -        w := damage width.
  1.3954 -        h := damage height.
  1.3955 -
  1.3956 -        x     < 0      ifTrue:[ w := w + x. x := 0. repaired := nil ].
  1.3957 -        y     < 0      ifTrue:[ h := h + y. y := 0. repaired := nil ].
  1.3958 -        x + w > width  ifTrue:[ w := width  - x.    repaired := nil ].
  1.3959 -        y + h > height ifTrue:[ h := height - y.    repaired := nil ].
  1.3960 -
  1.3961 -        (w > 0 and:[h > 0]) ifTrue:[
  1.3962 -            bwWidth ~~ 0 ifTrue:[
  1.3963 -                color isNil ifTrue:[
  1.3964 -                    "/ must force redraw of border
  1.3965 -                    color := aView borderColor.
  1.3966 -                    aView borderColor:(Color colorId:1).
  1.3967 -                    aView borderColor:color.
  1.3968 -                ].
  1.3969 -                w := w - bwWidth.
  1.3970 -                h := h - bwWidth.
  1.3971 -
  1.3972 -                (x := x - bwWidth) < 0 ifTrue:[w := w + x. x := 0].
  1.3973 -                (y := y - bwWidth) < 0 ifTrue:[h := h + y. y := 0].
  1.3974 -
  1.3975 -                h > 0 ifFalse:[w := 0].         "/ later testing on width only
  1.3976 -            ].
  1.3977 -
  1.3978 -            w > 0 ifTrue:[
  1.3979 -                aView clearRectangleX:x y:y width:w height:h.
  1.3980 -                aView exposeX:x y:y width:w height:h
  1.3981 -            ].
  1.3982 -            repaired notNil ifTrue:[ theDamages removeFromIndex:anIndex toIndex:anIndex ].
  1.3983 -        ]
  1.3984 +	repaired := damage := theDamages at:anIndex.
  1.3985 +
  1.3986 +	"/ compute the rectangle into the view
  1.3987 +	y := damage top  - relOrgY.
  1.3988 +	x := damage left - relOrgX.
  1.3989 +	w := damage width.
  1.3990 +	h := damage height.
  1.3991 +
  1.3992 +	x     < 0      ifTrue:[ w := w + x. x := 0. repaired := nil ].
  1.3993 +	y     < 0      ifTrue:[ h := h + y. y := 0. repaired := nil ].
  1.3994 +	x + w > width  ifTrue:[ w := width  - x.    repaired := nil ].
  1.3995 +	y + h > height ifTrue:[ h := height - y.    repaired := nil ].
  1.3996 +
  1.3997 +	(w > 0 and:[h > 0]) ifTrue:[
  1.3998 +	    bwWidth ~~ 0 ifTrue:[
  1.3999 +		color isNil ifTrue:[
  1.4000 +		    "/ must force redraw of border
  1.4001 +		    color := aView borderColor.
  1.4002 +		    aView borderColor:(Color colorId:1).
  1.4003 +		    aView borderColor:color.
  1.4004 +		].
  1.4005 +		w := w - bwWidth.
  1.4006 +		h := h - bwWidth.
  1.4007 +
  1.4008 +		(x := x - bwWidth) < 0 ifTrue:[w := w + x. x := 0].
  1.4009 +		(y := y - bwWidth) < 0 ifTrue:[h := h + y. y := 0].
  1.4010 +
  1.4011 +		h > 0 ifFalse:[w := 0].         "/ later testing on width only
  1.4012 +	    ].
  1.4013 +
  1.4014 +	    w > 0 ifTrue:[
  1.4015 +		aView clearRectangleX:x y:y width:w height:h.
  1.4016 +		aView exposeX:x y:y width:w height:h
  1.4017 +	    ].
  1.4018 +	    repaired notNil ifTrue:[ theDamages removeFromIndex:anIndex toIndex:anIndex ].
  1.4019 +	]
  1.4020      ].
  1.4021  !
  1.4022  
  1.4023 @@ -3986,28 +3986,28 @@
  1.4024       and:[topView shown
  1.4025       and:[(topView sensor hasEvent:#redrawSelection for:self) not]]]]
  1.4026      ) ifFalse:[
  1.4027 -        ^ self
  1.4028 +	^ self
  1.4029      ].
  1.4030  
  1.4031      lockSema critical:[
  1.4032 -        |list|
  1.4033 -
  1.4034 -        list := selection.
  1.4035 -
  1.4036 -        list size > 0 ifTrue:[
  1.4037 -            topView paint:(Color black).
  1.4038 -            topView clippedByChildren:false.
  1.4039 -
  1.4040 -            list keysAndValuesReverseDo:[:anIndex :anItem|
  1.4041 -                (anIndex == 1 and:[size > 1]) ifTrue:[ topView paint:(Color red) ].
  1.4042 -
  1.4043 -                anItem handlesDo:[:aRect :what|
  1.4044 -                    what isNil ifTrue:[topView displayRectangle:aRect]
  1.4045 -                              ifFalse:[topView fillRectangle:aRect]
  1.4046 -                ]
  1.4047 -            ].
  1.4048 -            topView clippedByChildren:true.
  1.4049 -        ].
  1.4050 +	|list|
  1.4051 +
  1.4052 +	list := selection.
  1.4053 +
  1.4054 +	list size > 0 ifTrue:[
  1.4055 +	    topView paint:(Color black).
  1.4056 +	    topView clippedByChildren:false.
  1.4057 +
  1.4058 +	    list keysAndValuesReverseDo:[:anIndex :anItem|
  1.4059 +		(anIndex == 1 and:[size > 1]) ifTrue:[ topView paint:(Color red) ].
  1.4060 +
  1.4061 +		anItem handlesDo:[:aRect :what|
  1.4062 +		    what isNil ifTrue:[topView displayRectangle:aRect]
  1.4063 +			      ifFalse:[topView fillRectangle:aRect]
  1.4064 +		]
  1.4065 +	    ].
  1.4066 +	    topView clippedByChildren:true.
  1.4067 +	].
  1.4068      ].
  1.4069  !
  1.4070  
  1.4071 @@ -4025,54 +4025,54 @@
  1.4072      |rootView damages subViews x y w h|
  1.4073  
  1.4074      doLock ifTrue:[
  1.4075 -        hiddenLevel := hiddenLevel + 1.
  1.4076 -        hiddenLevel ~~ 1 ifTrue:[^ self].
  1.4077 +	hiddenLevel := hiddenLevel + 1.
  1.4078 +	hiddenLevel ~~ 1 ifTrue:[^ self].
  1.4079      ] ifFalse:[
  1.4080 -        hiddenLevel ~~ 0 ifTrue:[^ self].
  1.4081 +	hiddenLevel ~~ 0 ifTrue:[^ self].
  1.4082      ].
  1.4083      checkTestMode ifTrue:[
  1.4084 -        testModeChannel value ifTrue:[ ^ self ]. "/ test whether running testMode
  1.4085 +	testModeChannel value ifTrue:[ ^ self ]. "/ test whether running testMode
  1.4086      ].
  1.4087  
  1.4088      (     aList size ~~ 0
  1.4089       and:[(rootView := listOfItems rootView) notNil
  1.4090       and:[rootView shown]]
  1.4091      ) ifFalse:[
  1.4092 -        ^ self
  1.4093 +	^ self
  1.4094      ].
  1.4095  
  1.4096      lockSema critical:[
  1.4097 -        damages := OrderedCollection new:(8 * aList size).
  1.4098 -
  1.4099 -        aList do:[:item|
  1.4100 -            item handlesDo:[:handle :what|
  1.4101 -                damages reverseDo:[:el|
  1.4102 -                    (el intersects:handle) ifTrue:[
  1.4103 -                        damages removeIdentical:el.
  1.4104 -
  1.4105 -                        handle left:(handle left   min:el left)
  1.4106 -                              right:(handle right  max:el right)
  1.4107 -                                top:(handle top    min:el top)
  1.4108 -                             bottom:(handle bottom max:el bottom)
  1.4109 -                    ]
  1.4110 -                ].                        
  1.4111 -                damages add:handle
  1.4112 -            ]
  1.4113 -        ].
  1.4114 -
  1.4115 -        damages do:[:el|
  1.4116 -            x := el left.
  1.4117 -            y := el top.
  1.4118 -            w := el width.
  1.4119 -            h := el height.
  1.4120 -
  1.4121 -            rootView clearRectangleX:x y:y width:w height:h.
  1.4122 -            rootView         exposeX:x y:y width:w height:h.
  1.4123 -        ].
  1.4124 -
  1.4125 -        (subViews := rootView subViews) notNil ifTrue:[
  1.4126 -            subViews reverseDo:[:v| self recursiveRepair:damages startIn:v relativeTo:rootView ].
  1.4127 -        ].
  1.4128 +	damages := OrderedCollection new:(8 * aList size).
  1.4129 +
  1.4130 +	aList do:[:item|
  1.4131 +	    item handlesDo:[:handle :what|
  1.4132 +		damages reverseDo:[:el|
  1.4133 +		    (el intersects:handle) ifTrue:[
  1.4134 +			damages removeIdentical:el.
  1.4135 +
  1.4136 +			handle left:(handle left   min:el left)
  1.4137 +			      right:(handle right  max:el right)
  1.4138 +				top:(handle top    min:el top)
  1.4139 +			     bottom:(handle bottom max:el bottom)
  1.4140 +		    ]
  1.4141 +		].
  1.4142 +		damages add:handle
  1.4143 +	    ]
  1.4144 +	].
  1.4145 +
  1.4146 +	damages do:[:el|
  1.4147 +	    x := el left.
  1.4148 +	    y := el top.
  1.4149 +	    w := el width.
  1.4150 +	    h := el height.
  1.4151 +
  1.4152 +	    rootView clearRectangleX:x y:y width:w height:h.
  1.4153 +	    rootView         exposeX:x y:y width:w height:h.
  1.4154 +	].
  1.4155 +
  1.4156 +	(subViews := rootView subViews) notNil ifTrue:[
  1.4157 +	    subViews reverseDo:[:v| self recursiveRepair:damages startIn:v relativeTo:rootView ].
  1.4158 +	].
  1.4159      ].
  1.4160  ! !
  1.4161  
  1.4162 @@ -4091,7 +4091,7 @@
  1.4163      "returns the selected item at an index or nil
  1.4164      "
  1.4165      selection notNil ifTrue:[
  1.4166 -        ^ selection at:anIndex ifAbsent:nil
  1.4167 +	^ selection at:anIndex ifAbsent:nil
  1.4168      ].
  1.4169      ^ nil
  1.4170  !
  1.4171 @@ -4100,7 +4100,7 @@
  1.4172      "returns the selected item at an index or the result of the block
  1.4173      "
  1.4174      selection notNil ifTrue:[
  1.4175 -        ^ selection at:anIndex ifAbsent:aBlock
  1.4176 +	^ selection at:anIndex ifAbsent:aBlock
  1.4177      ].
  1.4178      ^ aBlock value
  1.4179  !
  1.4180 @@ -4146,18 +4146,18 @@
  1.4181      item isNil ifTrue:[^ item].
  1.4182  
  1.4183      lockSema critical:[
  1.4184 -        selection isNil ifTrue:[
  1.4185 -            newSelect := Array with:item.
  1.4186 -        ] ifFalse:[
  1.4187 -            (self includes:item) ifFalse:[
  1.4188 -                newSelect := selection copyWith:item
  1.4189 -            ]
  1.4190 -        ].
  1.4191 -
  1.4192 -        newSelect size ~~ selection size ifTrue:[
  1.4193 -            item makeVisible.
  1.4194 -            self value:newSelect
  1.4195 -        ]
  1.4196 +	selection isNil ifTrue:[
  1.4197 +	    newSelect := Array with:item.
  1.4198 +	] ifFalse:[
  1.4199 +	    (self includes:item) ifFalse:[
  1.4200 +		newSelect := selection copyWith:item
  1.4201 +	    ]
  1.4202 +	].
  1.4203 +
  1.4204 +	newSelect size ~~ selection size ifTrue:[
  1.4205 +	    item makeVisible.
  1.4206 +	    self value:newSelect
  1.4207 +	]
  1.4208      ].
  1.4209      ^ item
  1.4210  !
  1.4211 @@ -4170,16 +4170,16 @@
  1.4212      aCollectionOfItems size == 0 ifTrue:[ ^ aCollectionOfItems ].
  1.4213  
  1.4214      lockSema critical:[
  1.4215 -        selection isNil ifTrue:[
  1.4216 -            newSelect := Array withAll:aCollectionOfItems.
  1.4217 -        ] ifFalse:[
  1.4218 -            newSelect := OrderedCollection withAll:selection.
  1.4219 -
  1.4220 -            aCollectionOfItems do:[:el|
  1.4221 -                (selection includesIdentical:el) ifFalse:[newSelect add:el]
  1.4222 -            ].
  1.4223 -        ].
  1.4224 -        self value:newSelect.
  1.4225 +	selection isNil ifTrue:[
  1.4226 +	    newSelect := Array withAll:aCollectionOfItems.
  1.4227 +	] ifFalse:[
  1.4228 +	    newSelect := OrderedCollection withAll:selection.
  1.4229 +
  1.4230 +	    aCollectionOfItems do:[:el|
  1.4231 +		(selection includesIdentical:el) ifFalse:[newSelect add:el]
  1.4232 +	    ].
  1.4233 +	].
  1.4234 +	self value:newSelect.
  1.4235      ].
  1.4236      ^ aCollectionOfItems
  1.4237  !
  1.4238 @@ -4198,12 +4198,12 @@
  1.4239      item isNil ifTrue:[^ nil].
  1.4240  
  1.4241      lockSema critical:[
  1.4242 -        (selection notNil and:[selection includesIdentical:item]) ifTrue:[
  1.4243 -            selection size == 1 ifTrue:[ newSelect := nil ]
  1.4244 -                               ifFalse:[ newSelect := selection copyWithout:item ].
  1.4245 -
  1.4246 -            self value:newSelect
  1.4247 -        ].
  1.4248 +	(selection notNil and:[selection includesIdentical:item]) ifTrue:[
  1.4249 +	    selection size == 1 ifTrue:[ newSelect := nil ]
  1.4250 +			       ifFalse:[ newSelect := selection copyWithout:item ].
  1.4251 +
  1.4252 +	    self value:newSelect
  1.4253 +	].
  1.4254      ].
  1.4255      ^ item
  1.4256  !
  1.4257 @@ -4223,10 +4223,10 @@
  1.4258      loItems size == 0 ifTrue:[ ^ loItems ].
  1.4259  
  1.4260      lockSema critical:[
  1.4261 -        selection notNil ifTrue:[
  1.4262 -            newSelect := selection select:[:el| (loItems includesIdentical:el) not ].
  1.4263 -            self value:newSelect.
  1.4264 -        ]
  1.4265 +	selection notNil ifTrue:[
  1.4266 +	    newSelect := selection select:[:el| (loItems includesIdentical:el) not ].
  1.4267 +	    self value:newSelect.
  1.4268 +	]
  1.4269      ].
  1.4270      ^ loItems
  1.4271  !
  1.4272 @@ -4239,10 +4239,10 @@
  1.4273      root := listOfItems root.
  1.4274  
  1.4275      root isNil ifTrue:[
  1.4276 -        newSelection := nil
  1.4277 +	newSelection := nil
  1.4278      ] ifFalse:[
  1.4279 -        newSelection := OrderedCollection new.
  1.4280 -        root recursiveDo:[:el| newSelection add:el ].
  1.4281 +	newSelection := OrderedCollection new.
  1.4282 +	root recursiveDo:[:el| newSelection add:el ].
  1.4283      ].
  1.4284      self value:newSelection.
  1.4285  !
  1.4286 @@ -4270,8 +4270,8 @@
  1.4287       current selection.
  1.4288      "
  1.4289      anItem notNil ifTrue:[
  1.4290 -        (self includes:anItem) ifTrue:[self remove:anItem]
  1.4291 -                              ifFalse:[self add:anItem]
  1.4292 +	(self includes:anItem) ifTrue:[self remove:anItem]
  1.4293 +			      ifFalse:[self add:anItem]
  1.4294      ].
  1.4295      ^ anItem
  1.4296  ! !
  1.4297 @@ -4361,47 +4361,47 @@
  1.4298      selSize := selection size.
  1.4299  
  1.4300      selSize == 0 ifTrue:[
  1.4301 -        selectedSuperItems := #().
  1.4302 +	selectedSuperItems := #().
  1.4303      ] ifFalse:[
  1.4304 -        selSize == 1 ifTrue:[
  1.4305 -            selectedSuperItems := Array with:(selection at:1).
  1.4306 -        ] ifFalse:[
  1.4307 -            rootItem := listOfItems root.
  1.4308 -
  1.4309 -            (selection includesIdentical:rootItem) ifTrue:[
  1.4310 -                selectedSuperItems := Array with:rootItem.
  1.4311 -            ] ifFalse:[
  1.4312 -                selectedSuperItems := OrderedCollection new:selSize.
  1.4313 -
  1.4314 -                selection do:[:anItem|
  1.4315 -                    anItem parentsDetect:[:el| selection includesIdentical:el ]
  1.4316 -                                  ifNone:[ selectedSuperItems add:anItem ].
  1.4317 -                ].
  1.4318 -            ]
  1.4319 -        ]
  1.4320 +	selSize == 1 ifTrue:[
  1.4321 +	    selectedSuperItems := Array with:(selection at:1).
  1.4322 +	] ifFalse:[
  1.4323 +	    rootItem := listOfItems root.
  1.4324 +
  1.4325 +	    (selection includesIdentical:rootItem) ifTrue:[
  1.4326 +		selectedSuperItems := Array with:rootItem.
  1.4327 +	    ] ifFalse:[
  1.4328 +		selectedSuperItems := OrderedCollection new:selSize.
  1.4329 +
  1.4330 +		selection do:[:anItem|
  1.4331 +		    anItem parentsDetect:[:el| selection includesIdentical:el ]
  1.4332 +				  ifNone:[ selectedSuperItems add:anItem ].
  1.4333 +		].
  1.4334 +	    ]
  1.4335 +	]
  1.4336      ].
  1.4337  
  1.4338      (     hiddenLevel == 0
  1.4339       and:[(rootView := listOfItems rootView) notNil
  1.4340       and:[rootView shown]]
  1.4341      ) ifTrue:[
  1.4342 -        selSize == 0 ifTrue:[
  1.4343 -            "/ must redraw the old selection unselected
  1.4344 -            self redrawUnselected:oldSelection andLock:false
  1.4345 -        ] ifFalse:[
  1.4346 -            self invalidateSelection.
  1.4347 -
  1.4348 -            oldSelection size ~~ 0 ifTrue:[
  1.4349 -                "/ must redraw all elements no longer in the selection
  1.4350 -                unselected := oldSelection select:[:el| (selection includesIdentical:el) not ].
  1.4351 -                self redrawUnselected:unselected andLock:false.
  1.4352 -            ]
  1.4353 -        ]
  1.4354 +	selSize == 0 ifTrue:[
  1.4355 +	    "/ must redraw the old selection unselected
  1.4356 +	    self redrawUnselected:oldSelection andLock:false
  1.4357 +	] ifFalse:[
  1.4358 +	    self invalidateSelection.
  1.4359 +
  1.4360 +	    oldSelection size ~~ 0 ifTrue:[
  1.4361 +		"/ must redraw all elements no longer in the selection
  1.4362 +		unselected := oldSelection select:[:el| (selection includesIdentical:el) not ].
  1.4363 +		self redrawUnselected:unselected andLock:false.
  1.4364 +	    ]
  1.4365 +	]
  1.4366      ].
  1.4367      super changed:aParameter with:oldSelection.
  1.4368  !
  1.4369  
  1.4370 -setValue:aNewSelection 
  1.4371 +setValue:aNewSelection
  1.4372      "set the selection without notifying
  1.4373      "
  1.4374      |newSelect idx|
  1.4375 @@ -4409,31 +4409,31 @@
  1.4376      newSelect := nil.
  1.4377  
  1.4378      aNewSelection notNil ifTrue:[
  1.4379 -        lockSema critical:[
  1.4380 -            aNewSelection isCollection ifFalse:[
  1.4381 -                (selection size == 1 and:[selection first == aNewSelection]) ifTrue:[
  1.4382 -                    newSelect := selection
  1.4383 -                ] ifFalse:[
  1.4384 -                    newSelect := Array with:aNewSelection.
  1.4385 -                ]
  1.4386 -            ] ifTrue:[
  1.4387 -                aNewSelection notEmpty ifTrue:[
  1.4388 -                    aNewSelection size ~~ selection size ifTrue:[
  1.4389 -                        newSelect := aNewSelection copy.
  1.4390 -                    ] ifFalse:[
  1.4391 -                        idx := selection findFirst:[:el| (aNewSelection includesIdentical:el) not ].
  1.4392 -
  1.4393 -                        idx ~~ 0 ifTrue:[newSelect := aNewSelection copy]
  1.4394 -                                ifFalse:[newSelect := selection ].
  1.4395 -                    ]
  1.4396 -                ]
  1.4397 -            ]
  1.4398 -        ].
  1.4399 +	lockSema critical:[
  1.4400 +	    aNewSelection isCollection ifFalse:[
  1.4401 +		(selection size == 1 and:[selection first == aNewSelection]) ifTrue:[
  1.4402 +		    newSelect := selection
  1.4403 +		] ifFalse:[
  1.4404 +		    newSelect := Array with:aNewSelection.
  1.4405 +		]
  1.4406 +	    ] ifTrue:[
  1.4407 +		aNewSelection notEmpty ifTrue:[
  1.4408 +		    aNewSelection size ~~ selection size ifTrue:[
  1.4409 +			newSelect := aNewSelection copy.
  1.4410 +		    ] ifFalse:[
  1.4411 +			idx := selection findFirst:[:el| (aNewSelection includesIdentical:el) not ].
  1.4412 +
  1.4413 +			idx ~~ 0 ifTrue:[newSelect := aNewSelection copy]
  1.4414 +				ifFalse:[newSelect := selection ].
  1.4415 +		    ]
  1.4416 +		]
  1.4417 +	    ]
  1.4418 +	].
  1.4419      ].
  1.4420      newSelect ~~ selection ifTrue:[
  1.4421 -        beforeSelectionChangedAction value.
  1.4422 -        selection := newSelect.
  1.4423 -        selection notNil ifTrue:[selection do:[:el| el makeVisible]]
  1.4424 +	beforeSelectionChangedAction value.
  1.4425 +	selection := newSelect.
  1.4426 +	selection notNil ifTrue:[selection do:[:el| el makeVisible]]
  1.4427      ].
  1.4428  !
  1.4429  
  1.4430 @@ -4444,9 +4444,9 @@
  1.4431      |oldSelection|
  1.4432  
  1.4433      lockSema critical:[
  1.4434 -        oldSelection := selection.
  1.4435 -        self setValue:aValue.
  1.4436 -        self changed:#value with:oldSelection
  1.4437 +	oldSelection := selection.
  1.4438 +	self setValue:aValue.
  1.4439 +	self changed:#value with:oldSelection
  1.4440      ]
  1.4441  !
  1.4442  
  1.4443 @@ -4463,12 +4463,12 @@
  1.4444      |oldSelection|
  1.4445  
  1.4446      lockSema critical:[
  1.4447 -        oldSelection := selection.
  1.4448 -        self setValue:aValue.
  1.4449 -
  1.4450 -        oldSelection == selection ifFalse:[
  1.4451 -            self changed:#value with:oldSelection
  1.4452 -        ]
  1.4453 +	oldSelection := selection.
  1.4454 +	self setValue:aValue.
  1.4455 +
  1.4456 +	oldSelection == selection ifFalse:[
  1.4457 +	    self changed:#value with:oldSelection
  1.4458 +	]
  1.4459      ].
  1.4460  ! !
  1.4461  
  1.4462 @@ -4544,10 +4544,10 @@
  1.4463      |keptSelection|
  1.4464  
  1.4465      aCollection size ~~ 0 ifTrue:[
  1.4466 -        "/ the selection may change at any time (may it?)
  1.4467 -        (keptSelection := selection) isNil ifTrue:[ ^ false ].
  1.4468 -
  1.4469 -        ^ aCollection contains:[:el| (keptSelection includesIdentical:el)]
  1.4470 +	"/ the selection may change at any time (may it?)
  1.4471 +	(keptSelection := selection) isNil ifTrue:[ ^ false ].
  1.4472 +
  1.4473 +	^ aCollection contains:[:el| (keptSelection includesIdentical:el)]
  1.4474      ].
  1.4475      ^ true
  1.4476  
  1.4477 @@ -4560,10 +4560,10 @@
  1.4478      |keptSelection|
  1.4479  
  1.4480      aCollection notNil ifTrue:[
  1.4481 -        "/ the selection may change at any time (may it?)
  1.4482 -        (keptSelection := selection) notNil ifTrue:[
  1.4483 -            ^ aCollection contains:[:el| (keptSelection includesIdentical:el)]
  1.4484 -        ]
  1.4485 +	"/ the selection may change at any time (may it?)
  1.4486 +	(keptSelection := selection) notNil ifTrue:[
  1.4487 +	    ^ aCollection contains:[:el| (keptSelection includesIdentical:el)]
  1.4488 +	]
  1.4489      ].
  1.4490      ^ false
  1.4491  
  1.4492 @@ -4602,17 +4602,17 @@
  1.4493      ViewTreeItem's and the root, the anchor of the hierarchical list.
  1.4494  
  1.4495      [Instance variables:]
  1.4496 -        treeModel       <ViewTreeModel>         all events are delegated to
  1.4497 -        eventHook       <BlockValue>            save and resore the pre/post -EventHook
  1.4498 +	treeModel       <ViewTreeModel>         all events are delegated to
  1.4499 +	eventHook       <BlockValue>            save and resore the pre/post -EventHook
  1.4500  
  1.4501  
  1.4502      [author:]
  1.4503 -        Claus Atzkern
  1.4504 +	Claus Atzkern
  1.4505  
  1.4506      [see also:]
  1.4507 -        HierarchicalList
  1.4508 -        ViewTreeModel
  1.4509 -        ViewTreeItem
  1.4510 +	HierarchicalList
  1.4511 +	ViewTreeModel
  1.4512 +	ViewTreeItem
  1.4513  "
  1.4514  ! !
  1.4515  
  1.4516 @@ -4629,39 +4629,39 @@
  1.4517      super root:theRoot.
  1.4518  
  1.4519      rootView notNil ifTrue:[ |wgrp|
  1.4520 -        wgrp := rootView windowGroup.
  1.4521 -
  1.4522 -        wgrp notNil ifTrue:[
  1.4523 -           wgrp removePreEventHook:treeModel.
  1.4524 -           wgrp removePostEventHook:self.
  1.4525 -        ].
  1.4526 +	wgrp := rootView windowGroup.
  1.4527 +
  1.4528 +	wgrp notNil ifTrue:[
  1.4529 +	   wgrp removePreEventHook:treeModel.
  1.4530 +	   wgrp removePostEventHook:self.
  1.4531 +	].
  1.4532      ].
  1.4533  
  1.4534      super root:theRoot.
  1.4535      rootView := self rootView.
  1.4536  
  1.4537      rootView notNil ifTrue:[
  1.4538 -        "must setup a task because there might not exist a windowGroup at the moment
  1.4539 -        "
  1.4540 -        [   |wgrp|
  1.4541 -
  1.4542 -            [rootView == self rootView] whileTrue:[
  1.4543 -                wgrp := rootView windowGroup.
  1.4544 -                wgrp notNil ifTrue:[
  1.4545 -                    rootView := nil.
  1.4546 -                    wgrp addPreEventHook:treeModel.
  1.4547 -                    wgrp addPostEventHook:self.
  1.4548 -                ] ifFalse:[
  1.4549 -                    Delay waitForMilliseconds:100.
  1.4550 -                ].
  1.4551 -            ].
  1.4552 -
  1.4553 -        ] forkAt:(Processor userSchedulingPriority + 2).
  1.4554 +	"must setup a task because there might not exist a windowGroup at the moment
  1.4555 +	"
  1.4556 +	[   |wgrp|
  1.4557 +
  1.4558 +	    [rootView == self rootView] whileTrue:[
  1.4559 +		wgrp := rootView windowGroup.
  1.4560 +		wgrp notNil ifTrue:[
  1.4561 +		    rootView := nil.
  1.4562 +		    wgrp addPreEventHook:treeModel.
  1.4563 +		    wgrp addPostEventHook:self.
  1.4564 +		] ifFalse:[
  1.4565 +		    Delay waitForMilliseconds:100.
  1.4566 +		].
  1.4567 +	    ].
  1.4568 +
  1.4569 +	] forkAt:(Processor userSchedulingPriority + 2).
  1.4570      ].
  1.4571      treeModel notNil ifTrue:[
  1.4572 -        treeModel targetWidgetChanged.
  1.4573 +	treeModel targetWidgetChanged.
  1.4574      ].
  1.4575 -    
  1.4576 +
  1.4577      ^ root.
  1.4578  !
  1.4579  
  1.4580 @@ -4686,26 +4686,26 @@
  1.4581  
  1.4582      l := nil.
  1.4583      showWidgetNames == true ifTrue:[
  1.4584 -        (widget := anItem widget) notNil ifTrue:[
  1.4585 -            l := '"', widget name, '"'
  1.4586 -        ] ifFalse:[
  1.4587 -            l := '"', anItem menuItem label asString, '"'
  1.4588 -        ].    
  1.4589 +	(widget := anItem widget) notNil ifTrue:[
  1.4590 +	    l := '"', widget name, '"'
  1.4591 +	] ifFalse:[
  1.4592 +	    l := '"', anItem menuItem label asString, '"'
  1.4593 +	].
  1.4594      ].
  1.4595  
  1.4596      anItem isApplicationClass ifTrue:[
  1.4597 -        applClass := anItem applicationClass.
  1.4598 -        applClass notNil ifTrue:[   
  1.4599 -            applClassName := '[', applClass name allBold, ']'.
  1.4600 -            l := (l isNil ifTrue:[''] ifFalse:[l , ' ']) , applClassName
  1.4601 -        ].
  1.4602 +	applClass := anItem applicationClass.
  1.4603 +	applClass notNil ifTrue:[
  1.4604 +	    applClassName := '[', applClass name allBold, ']'.
  1.4605 +	    l := (l isNil ifTrue:[''] ifFalse:[l , ' ']) , applClassName
  1.4606 +	].
  1.4607      ].
  1.4608  
  1.4609      application notNil ifTrue:[
  1.4610 -        key := application builder namedComponents keyAtValue:widget ifAbsent:nil.
  1.4611 -        key notNil ifTrue:[
  1.4612 -            l := l , ' #',key
  1.4613 -        ].
  1.4614 +	key := application builder namedComponents keyAtValue:widget ifAbsent:nil.
  1.4615 +	key notNil ifTrue:[
  1.4616 +	    l := l , ' #',key
  1.4617 +	].
  1.4618      ].
  1.4619  
  1.4620      ^ l
  1.4621 @@ -4725,12 +4725,12 @@
  1.4622       otherwise the name of the application"
  1.4623  
  1.4624      self showWidgetNames == aBoolean ifFalse:[
  1.4625 -        showWidgetNames := aBoolean.
  1.4626 -
  1.4627 -        root notNil ifTrue:[
  1.4628 -            root recursiveAdditionalNameBehaviourChanged.
  1.4629 -            self changed.
  1.4630 -        ].
  1.4631 +	showWidgetNames := aBoolean.
  1.4632 +
  1.4633 +	root notNil ifTrue:[
  1.4634 +	    root recursiveAdditionalNameBehaviourChanged.
  1.4635 +	    self changed.
  1.4636 +	].
  1.4637      ].
  1.4638  ! !
  1.4639  
  1.4640 @@ -4761,25 +4761,25 @@
  1.4641      |view item topView|
  1.4642  
  1.4643      root notNil ifTrue:[
  1.4644 -        view    := aView.
  1.4645 -        topView := root widget.
  1.4646 -
  1.4647 -        [ view notNil ] whileTrue:[
  1.4648 -            topView == view ifTrue:[^ root].
  1.4649 -            item := root recursiveDetect:[:el| el widget == view ].
  1.4650 -            item notNil ifTrue:[^ item].
  1.4651 -            view := view superView
  1.4652 -        ]
  1.4653 +	view    := aView.
  1.4654 +	topView := root widget.
  1.4655 +
  1.4656 +	[ view notNil ] whileTrue:[
  1.4657 +	    topView == view ifTrue:[^ root].
  1.4658 +	    item := root recursiveDetect:[:el| el widget == view ].
  1.4659 +	    item notNil ifTrue:[^ item].
  1.4660 +	    view := view superView
  1.4661 +	]
  1.4662      ].
  1.4663      ^ nil
  1.4664  !
  1.4665  
  1.4666  recursiveDetect:aOneOrgBlock
  1.4667 -    "recursive find the first child, for which evaluation 
  1.4668 +    "recursive find the first child, for which evaluation
  1.4669       of the block returns true; if none nil is returned
  1.4670      "
  1.4671      root notNil ifTrue:[
  1.4672 -        (aOneOrgBlock value:root) ifTrue:[ ^ root ].
  1.4673 +	(aOneOrgBlock value:root) ifTrue:[ ^ root ].
  1.4674        ^ root recursiveDetect:aOneOrgBlock
  1.4675      ].
  1.4676      ^ nil