[squeak-dev] The Trunk: Morphic-cmm.968.mcz

commits at source.squeak.org commits at source.squeak.org
Tue May 5 21:14:14 UTC 2015


Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.968.mcz

==================== Summary ====================

Name: Morphic-cmm.968
Author: cmm
Time: 5 May 2015, 4:13:30.633 pm
UUID: 906a31d4-1930-44d0-971f-edcad6e71535
Ancestors: Morphic-mt.967

- The new simultaneous adjustment of sibling smart-splitters requires that dragging a smart-splitter equally affect siblings to stay put.
- The new simultaneous sibling adjustment feature is fixed for horizontal splitters.

=============== Diff against Morphic-mt.967 ===============

Item was changed:
  ----- Method: ProportionalSplitterMorph>>mouseDown: (in category 'events') -----
  mouseDown: anEvent 
  	"If the user manually drags me, don't override him with auto positioning."
  	anEvent redButtonChanged
+ 		ifTrue: [ self withSiblingSplittersDo: [ : each | each stopStepping ] ]
- 		ifTrue: [ self stopStepping ]
  		ifFalse:
  			[ anEvent shiftPressed
  				ifTrue: [ self startStepping ]
  				ifFalse:
  					[ self startStepping.
+ 					self withSiblingSplittersDo: [ : each | each startStepping ] ] ].
- 					self siblingSplittersDo: [ : each | each startStepping ] ] ].
  	(self class showSplitterHandles not and: [ self bounds containsPoint: anEvent cursorPoint ]) ifTrue:
  		[ oldColor := self color.
  		self color: Color black ].
  	^ super mouseDown: anEvent!

Item was changed:
  ----- Method: ProportionalSplitterMorph>>siblingSplittersDo: (in category 'adjacent splitters') -----
  siblingSplittersDo: aBlock 
+ 	owner ifNotNil:
- 	^ owner ifNotNil:
  		[ owner submorphsDo:
  			[ : each | ((each isKindOf: self class) and:
  				[ self splitsTopAndBottom = each splitsTopAndBottom and: [ each ~= self ] ]) ifTrue: [ aBlock value: each ] ] ]!

Item was changed:
  ----- Method: ProportionalSplitterMorph>>topBottomCorrection (in category 'layout') -----
  topBottomCorrection
  	^ self top < self topBoundary
  		ifTrue: [ self topBoundary - self top ]
  		ifFalse:
  			[ self bottom > (self bottomBoundary)
  				ifTrue: [ self bottomBoundary - self bottom ]
  				ifFalse:
  					[ | wsAbove wsBelow |
  					wsAbove := self canEncroachWhiteSpaceOf: leftOrTop.
  					wsBelow := self canEncroachWhiteSpaceOf: rightOrBottom.
  					wsAbove
  						ifTrue:
  							[ wsBelow
  								ifTrue:
  									[ self splitterBelow
+ 										ifNil: [0]
+ 										ifNotNil: [ : below | below reduceTopBottomImbalance min: 0 ] ]
- 										ifNil: [ 0 ]
- 										ifNotNil: [ : below | below topBottomCorrection min: 0 ] ]
  								ifFalse: [ (self top > self topBoundary) ifTrue: [-2] ifFalse: [0] ] ]
  						ifFalse:
  							[ wsBelow
  								ifTrue: [ (self bottom < self bottomBoundary) ifTrue: [2] ifFalse: [0] ]
  								ifFalse:
  									[ self splitterBelow
+ 										ifNil: [0]
+ 										ifNotNil: [ : below | below reduceTopBottomImbalance max: 0 ] ] ] ] ]!
- 										ifNil: [ 0 ]
- 										ifNotNil: [ : below | below topBottomCorrection max: 0 ] ] ] ] ]!

Item was added:
+ ----- Method: ProportionalSplitterMorph>>withSiblingSplittersDo: (in category 'adjacent splitters') -----
+ withSiblingSplittersDo: aBlock 
+ 	aBlock value: self.
+ 	self siblingSplittersDo: aBlock!



More information about the Squeak-dev mailing list