reenabled old showUnselected code.
--- a/UIObjectView.st Sat Sep 12 18:12:27 1998 +0200
+++ b/UIObjectView.st Mon Sep 14 19:58:20 1998 +0200
@@ -475,6 +475,7 @@
exposeX:x y:y width:w height:h
"handle an expose event from device; redraw selection
"
+
resizeData isNil ifTrue:[
super exposeX:x y:y width:w height:h.
@@ -489,7 +490,8 @@
].
self showSelected:aComponent
]
- ]
+ ].
+
!
@@ -620,20 +622,28 @@
invertOutlineOf:something
"invert outline of an object or collection of objects
"
- |wasClipped p|
+ |wasClipped|
(wasClipped := clipChildren) ifTrue:[
self clippedByChildren:(clipChildren := false).
].
- something isCollection ifTrue:[
- something do:[:v|
- p := v originRelativeTo:self.
- self xoring:[self displayRectangle:(p extent:v extent)].
+ self xoring:[
+ |p|
+
+ something isCollection ifTrue:[
+ something do:[:v |
+ |p|
+
+ p := v originRelativeTo:self.
+ self displayRectangle:(p extent:v extent).
+ ].
+ ] ifFalse:[
+ |p|
+
+ p := something originRelativeTo:self.
+ self displayRectangle:(p extent:something extent).
]
- ] ifFalse:[
- p := something originRelativeTo:self.
- self xoring:[self displayRectangle:(p extent:something extent)]
].
wasClipped ifTrue:[
@@ -945,65 +955,65 @@
selectionHiddenLevel ~~ 0 ifTrue:[^ self].
- "/ new: simply create a little view ontop,
- "/ and move it over the handles. This will generate
- "/ the required expose events automatically.
-
- v := SimpleView in:self.
- self handlesOf:aComponent do:[:rec :wht |
- r isNil
- ifTrue:[r := rec]
- ifFalse:[r := r merge:rec].
- ].
-
- "/ if the area is small, make one big rectangle-expose
- r area < 10000 ifTrue:[
- v origin:r origin extent:r extent.
- v map.
- v unmap.
- ] ifFalse:[
- self handlesOf:aComponent do:[:rec :wht |
- v origin:rec origin extent:rec extent.
- v map.
- v unmap.
- ].
- ].
- v destroy.
- ^ self.
-
-"/ OLD code:
-"/ (wasClipped := clipChildren) ifTrue:[
-"/ self clippedByChildren:(clipChildren := false).
+"/ "/ new: simply create a little view ontop,
+"/ "/ and move it over the handles. This will generate
+"/ "/ the required expose events automatically.
+"/ "/ mhmh - does not work correctly with inverted frame (exposes destroy it)
+"/
+"/ v := SimpleView in:self.
+"/ self handlesOf:aComponent do:[:rec :wht |
+"/ r isNil
+"/ ifTrue:[r := rec]
+"/ ifFalse:[r := r merge:rec].
"/ ].
"/
-"/ self handlesOf:aComponent do:[:rec :wht| self clearRectangle:rec ].
-"/
-"/ wasClipped ifTrue:[
-"/ self clippedByChildren:(clipChildren := true).
+"/ "/ if the area is small, make one big rectangle-expose
+"/ r area < 10000 ifTrue:[
+"/ v origin:r origin extent:r extent.
+"/ v map.
+"/ v unmap.
+"/ ] ifFalse:[
+"/ self handlesOf:aComponent do:[:rec :wht |
+"/ v origin:rec origin extent:rec extent.
+"/ v map.
+"/ v unmap.
+"/ ].
"/ ].
-"/
-"/ "/ must redraw all components which are affected b the handles
-"/ r := (aComponent originRelativeTo:self) - (3@3) extent:(aComponent extent + (6@6)).
-"/
-"/ subViews do:[:anotherComponent |
-"/ |absOrg absFrame|
-"/
-"/ anotherComponent ~~ inputView ifTrue:[
-"/ absOrg := anotherComponent originRelativeTo:self.
-"/ absFrame := absOrg extent:(anotherComponent extent).
-"/ (absFrame intersects:r) ifTrue:[
-"/ anotherComponent withAllSubViewsDo:[:v |
-"/ v shown ifTrue:[
-"/ aSet notNil ifTrue:[
-"/ aSet add:v
-"/ ] ifFalse:[
-"/ self handleAffectedViews:v
-"/ ]
-"/ ]
-"/ ]
-"/ ]
-"/ ]
-"/ ].
+"/ v destroy.
+"/ ^ self.
+
+ (wasClipped := clipChildren) ifTrue:[
+ self clippedByChildren:(clipChildren := false).
+ ].
+
+ self handlesOf:aComponent do:[:rec :wht| self clearRectangle:rec ].
+
+ wasClipped ifTrue:[
+ self clippedByChildren:(clipChildren := true).
+ ].
+
+ "/ must redraw all components which are affected b the handles
+ r := (aComponent originRelativeTo:self) - (3@3) extent:(aComponent extent + (6@6)).
+
+ subViews do:[:anotherComponent |
+ |absOrg absFrame|
+
+ anotherComponent ~~ inputView ifTrue:[
+ absOrg := anotherComponent originRelativeTo:self.
+ absFrame := absOrg extent:(anotherComponent extent).
+ (absFrame intersects:r) ifTrue:[
+ anotherComponent withAllSubViewsDo:[:v |
+ v shown ifTrue:[
+ aSet notNil ifTrue:[
+ aSet add:v
+ ] ifFalse:[
+ self handleAffectedViews:v
+ ]
+ ]
+ ]
+ ]
+ ]
+ ].
"Modified: / 24.8.1998 / 12:19:38 / cg"
!