# HG changeset patch # User ca # Date 974650684 -3600 # Node ID daaf701ab6a24d9dd76e2c912b063eb2af38f860 # Parent 180804d7c28f19ad7f93c719c02ba52812248445 *** empty log message *** diff -r 180804d7c28f -r daaf701ab6a2 UIObjectView.st --- a/UIObjectView.st Sun Nov 19 13:53:09 2000 +0100 +++ b/UIObjectView.st Sun Nov 19 17:18:04 2000 +0100 @@ -23,6 +23,13 @@ category:'Interface-UIPainter' ! +Object subclass:#ResizeData + instanceVariableNames:'object selector delta' + classVariableNames:'' + poolDictionaries:'' + privateIn:UIObjectView +! + Object subclass:#UndoHistory instanceVariableNames:'startIdentifier identifier painter history transaction enabled' classVariableNames:'' @@ -37,13 +44,6 @@ privateIn:UIObjectView::UndoHistory ! -Object subclass:#ResizeData - instanceVariableNames:'object selector delta' - classVariableNames:'' - poolDictionaries:'' - privateIn:UIObjectView -! - !UIObjectView class methodsFor:'documentation'! copyright @@ -1323,7 +1323,7 @@ | aView isInputOnly ifTrue:[^ self]. - (aView shown and:[theDamages notEmpty]) ifFalse:[ ^ theDamages ]. + (aView shown and:[theDamages notEmpty]) ifFalse:[ ^ self ]. aView subViews notNil ifTrue:[ aView subViews reverseDo:[:v| self recursiveRepair:theDamages startIn:v ]. @@ -1374,13 +1374,11 @@ ]. w > 0 ifTrue:[ -"/ aView clearRectangleX:x y:y width:w height:h. + aView clearRectangleX:x y:y width:w height:h. aView exposeX:x y:y width:w height:h ]. - ] ifFalse:[ - isRepaired := false - ]. - isRepaired ifTrue:[ theDamages removeIndex:anIndex ]. + isRepaired ifTrue:[ theDamages removeIndex:anIndex ]. + ] ]. ! @@ -1420,21 +1418,27 @@ ]. damages := OrderedCollection new. - (oldClipped := clipChildren) ifTrue:[ - self clippedByChildren:(clipChildren := false) + (oldClipped := clipChildren) ifFalse:[ + self clippedByChildren:(clipChildren := true) ]. self forEach:something do:[:v| - self handlesOf:v do:[:rec :wht| - self clearRectangle:rec. - damages add:rec + self handlesOf:v do:[:aDamage :wht| + damages reverseDo:[:el| + (el intersects:aDamage) ifTrue:[ + damages removeIdentical:el. + + aDamage left:(aDamage left min:el left) + right:(aDamage right max:el right) + top:(aDamage top min:el top) + bottom:(aDamage bottom max:el bottom) + ] + ]. + damages add:aDamage ] ]. - - subViews notNil ifTrue:[ - self clippedByChildren:(clipChildren := true). - subViews reverseDo:[:v| self recursiveRepair:damages startIn:v ]. - ]. + self recursiveRepair:damages startIn:self. + oldClipped ~~ clipChildren ifTrue:[ self clippedByChildren:(clipChildren := oldClipped). ]. @@ -2327,6 +2331,34 @@ ]. ! ! +!UIObjectView::ResizeData methodsFor:'accessing'! + +delta + ^ delta + + "Created: / 2.2.1998 / 13:40:32 / cg" +! + +object + ^ object + + "Created: / 2.2.1998 / 13:40:24 / cg" +! + +object:anObject selector:aSymbol delta:anInteger + object := anObject. + selector := aSymbol. + delta := anInteger. + + "Created: / 2.2.1998 / 13:39:22 / cg" +! + +selector + ^ selector + + "Created: / 2.2.1998 / 13:40:42 / cg" +! ! + !UIObjectView::UndoHistory class methodsFor:'constants'! maxHistorySize @@ -2669,34 +2701,6 @@ ^ actions isNil ! ! -!UIObjectView::ResizeData methodsFor:'accessing'! - -delta - ^ delta - - "Created: / 2.2.1998 / 13:40:32 / cg" -! - -object - ^ object - - "Created: / 2.2.1998 / 13:40:24 / cg" -! - -object:anObject selector:aSymbol delta:anInteger - object := anObject. - selector := aSymbol. - delta := anInteger. - - "Created: / 2.2.1998 / 13:39:22 / cg" -! - -selector - ^ selector - - "Created: / 2.2.1998 / 13:40:42 / cg" -! ! - !UIObjectView class methodsFor:'documentation'! version