|
|
|
Edgar J. De Cleene
|
Guys
I found the two attached methods are missing in 3.9b 7032. I refile from 3.8 and have my project happy. But I wish know if this two was removed by Morphic refactoring (Juan) or by some accident. And if two methods don't should be in new image, what replace it for correct my old projects Very thanks 'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 23 May 2006 at 7:52:20 am'! !SystemWindow methodsFor: 'resize/collapse' stamp: 'aoy 2/15/2003 21:06'! spawnPaneFrameHandle: event | resizer localPt side growingPane newBounds adjoiningPanes limit cursor | (self world firstSubmorph isKindOf: NewHandleMorph) ifTrue: [^self "Prevent multiple handles"]. ((self innerBounds withHeight: self labelHeight + 4) containsPoint: event cursorPoint) ifTrue: [^self "in label or top of top pane"]. growingPane := self paneWithLongestSide: [:s | side := s] near: event cursorPoint. growingPane ifNil: [^self]. "don't resize pane side coincident with window side - RAA 5 jul 2000" (growingPane perform: side) = (self innerBounds perform: side) ifTrue: [^self]. (side == #top and: [growingPane top = self panelRect top]) ifTrue: [^self]. adjoiningPanes := paneMorphs select: [:pane | pane bounds bordersOn: growingPane bounds along: side]. limit := adjoiningPanes isEmpty ifFalse: [(adjoiningPanes collect: [:pane | pane bounds perform: side]) perform: ((#(#top #left) includes: side) ifTrue: [#max] ifFalse: [#min])] ifTrue: [self bounds perform: side]. cursor := Cursor resizeForEdge: side. resizer := (NewHandleMorph new) sensorMode: self fastFramingOn; followHand: event hand forEachPointDo: [:p | localPt := self pointFromWorld: p. newBounds := growingPane bounds withSideOrCorner: side setToPoint: localPt minExtent: 40 @ 20 limit: limit. self fastFramingOn ifTrue: ["For fast display, only higlight the rectangle during loop" Cursor currentCursor == cursor ifFalse: [(event hand) visible: false; refreshWorld; visible: true. cursor show]. newBounds := growingPane bounds newRectButtonPressedDo: [:f | growingPane bounds withSideOrCorner: side setToPoint: (self pointFromWorld: Sensor cursorPoint) minExtent: 40 @ 20 limit: limit].]. self reframePanesAdjoining: growingPane along: side to: newBounds. ] lastPointDo: [:p | ] withCursor: cursor. event hand world addMorphInLayer: resizer. resizer startStepping! ! 'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 23 May 2006 at 7:47:20 am'! !SystemWindow methodsFor: 'resize/collapse' stamp: 'ar 8/18/2001 00:57'! spawnReframeHandle: event "The mouse has crossed a pane border. Spawn a reframe handle." | resizer localPt pt ptName newBounds cursor | allowReframeHandles ifFalse: [^ self]. owner ifNil: [^ self "Spurious mouseLeave due to delete"]. (self isActive not or: [self isCollapsed]) ifTrue: [^ self]. ((self world ifNil: [^ self]) firstSubmorph isKindOf: NewHandleMorph) ifTrue: [^ self "Prevent multiple handles"]. pt _ event cursorPoint. "prevent spurios mouse leave when dropping morphs" owner morphsInFrontOf: self overlapping: (pt-2 extent: 4@4) do:[:m| m isHandMorph ifFalse:[(m fullContainsPoint: pt) ifTrue:[^self]]]. self bounds forPoint: pt closestSideDistLen: [:side :dist :len | "Check for window side adjust" dist <= 2 ifTrue: [ptName _ side]]. ptName ifNil: ["Check for pane border adjust" ^ self spawnPaneFrameHandle: event]. #(topLeft bottomRight bottomLeft topRight) do: [:corner | "Check for window corner adjust" (pt dist: (self bounds perform: corner)) < 20 ifTrue: [ptName _ corner]]. cursor _ Cursor resizeForEdge: ptName. resizer _ NewHandleMorph new sensorMode: self fastFramingOn; followHand: event hand forEachPointDo: [:p | localPt _ self pointFromWorld: p. newBounds _ self bounds withSideOrCorner: ptName setToPoint: localPt minExtent: self minimumExtent. self fastFramingOn ifTrue: [Cursor currentCursor == cursor ifFalse:[ event hand visible: false; refreshWorld; visible: true. cursor show]. self doFastWindowReframe: ptName] ifFalse: [self bounds: newBounds. (Preferences roundedWindowCorners and: [#(bottom right bottomRight) includes: ptName]) ifTrue: ["Complete kluge: causes rounded corners to get painted correctly, in spite of not working with top-down displayWorld." ptName = #bottom ifFalse: [self invalidRect: (self bounds topRight - (6@0) extent: 7@7)]. ptName = #right ifFalse: [self invalidRect: (self bounds bottomLeft - (0@6) extent: 7@7)]. self invalidRect: (self bounds bottomRight - (6@6) extent: 7@7)]]] lastPointDo: [:p | ] withCursor: cursor. event hand world addMorphInLayer: resizer. resizer startStepping! ! _______________________________________________ Morphic mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic |
| Free Embeddable Forum Powered by Nabble | Help |