UIObjectView.st
changeset 1438 9255d2e6226b
parent 1437 daaf701ab6a2
child 1451 f7c591a04f00
equal deleted inserted replaced
1437:daaf701ab6a2 1438:9255d2e6226b
  1319      relOrgY    "{ Class:SmallInteger }"
  1319      relOrgY    "{ Class:SmallInteger }"
  1320      width      "{ Class:SmallInteger }"
  1320      width      "{ Class:SmallInteger }"
  1321      height     "{ Class:SmallInteger }"
  1321      height     "{ Class:SmallInteger }"
  1322      size       "{ Class:SmallInteger }"
  1322      size       "{ Class:SmallInteger }"
  1323     |
  1323     |
  1324     aView isInputOnly ifTrue:[^ self].
  1324     aView isInputOnly ifTrue:[^ self ].
  1325 
  1325 
  1326     (aView shown and:[theDamages notEmpty]) ifFalse:[ ^ self ].
  1326     (aView shown and:[theDamages notEmpty]) ifFalse:[ ^ self ].
  1327 
  1327 
  1328     aView subViews notNil ifTrue:[
  1328     aView subViews notNil ifTrue:[
  1329         aView subViews reverseDo:[:v| self recursiveRepair:theDamages startIn:v ].
  1329         aView subViews reverseDo:[:v| self recursiveRepair:theDamages startIn:v ].
  1414     |damages oldClipped|
  1414     |damages oldClipped|
  1415 
  1415 
  1416     (selectionHiddenLevel ~~ 0 or:[something isNil]) ifTrue:[
  1416     (selectionHiddenLevel ~~ 0 or:[something isNil]) ifTrue:[
  1417         ^ self
  1417         ^ self
  1418     ].
  1418     ].
       
  1419 
  1419     damages := OrderedCollection new.
  1420     damages := OrderedCollection new.
  1420 
  1421 
  1421     (oldClipped := clipChildren) ifFalse:[
       
  1422         self clippedByChildren:(clipChildren := true)
       
  1423     ].
       
  1424 
  1422 
  1425     self forEach:something do:[:v|
  1423     self forEach:something do:[:v|
  1426         self handlesOf:v do:[:aDamage :wht|
  1424         self handlesOf:v do:[:aDamage :wht|
  1427             damages reverseDo:[:el|
  1425             damages reverseDo:[:el|
  1428                 (el intersects:aDamage) ifTrue:[
  1426                 (el intersects:aDamage) ifTrue:[
  1435                 ]
  1433                 ]
  1436             ].                        
  1434             ].                        
  1437             damages add:aDamage
  1435             damages add:aDamage
  1438         ]
  1436         ]
  1439     ].
  1437     ].
  1440     self recursiveRepair:damages startIn:self.
  1438 
       
  1439     damages do:[:el| self clearRectangle:el ].
       
  1440 
       
  1441     (oldClipped := clipChildren) ifFalse:[
       
  1442         self clippedByChildren:(clipChildren := true)
       
  1443     ].
       
  1444     self subViews do:[:v| self recursiveRepair:damages startIn:v].
  1441 
  1445 
  1442     oldClipped ~~ clipChildren ifTrue:[
  1446     oldClipped ~~ clipChildren ifTrue:[
  1443         self clippedByChildren:(clipChildren := oldClipped).
  1447         self clippedByChildren:(clipChildren := oldClipped).
  1444     ].
  1448     ].
       
  1449     device sync.
       
  1450     device flush.
  1445 ! !
  1451 ! !
  1446 
  1452 
  1447 !UIObjectView methodsFor:'testing'!
  1453 !UIObjectView methodsFor:'testing'!
  1448 
  1454 
  1449 hasSelection
  1455 hasSelection