[squeak-dev] The Trunk: Morphic-mt.847.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Apr 9 09:39:20 UTC 2015
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.847.mcz
==================== Summary ====================
Name: Morphic-mt.847
Author: mt
Time: 9 April 2015, 11:38:46.961 am
UUID: 5a0bfd2b-a16b-934e-9d8f-5ddf580203dc
Ancestors: Morphic-mt.846
Compatibility fix: made menuMorph lazy initialized.
=============== Diff against Morphic-mt.846 ===============
Item was changed:
----- Method: ScrollBar>>boundsForUpButton (in category 'initialize') -----
boundsForUpButton
+ ^ (self menuButton visible
- ^ (menuButton visible
ifFalse: [self innerBounds topLeft]
ifTrue: [bounds isWide
+ ifTrue: [self menuButton bounds topRight - (1 at 0)]
+ ifFalse: [self menuButton bounds bottomLeft - (0 at 1)]])
- ifTrue: [menuButton bounds topRight - (1 at 0)]
- ifFalse: [menuButton bounds bottomLeft - (0 at 1)]])
extent: self buttonExtent!
Item was changed:
----- Method: ScrollBar>>hasButtons (in category 'testing') -----
hasButtons
+ ^ (self menuButton visible or: [upButton visible]) or: [downButton visible]!
- ^ (menuButton visible or: [upButton visible]) or: [downButton visible]!
Item was added:
+ ----- Method: ScrollBar>>menuButton (in category 'access') -----
+ menuButton
+
+ ^ menuButton ifNil: [menuButton := RectangleMorph new]!
Item was changed:
----- Method: ScrollBar>>minExtent (in category 'geometry') -----
minExtent
"The minimum extent is that of 2 or 3 buttons in a row or column,
the 'up' and 'down' button and optionally the 'menu' button."
| btns cnt |
btns := 2.
+ self menuButton visible ifTrue: [
- menuButton visible ifTrue: [
btns := btns + 1].
cnt := 1 at btns. "assume vertical layout"
self bounds isWide
ifTrue: [cnt := cnt transposed].
^ upButton minExtent * cnt!
Item was changed:
----- Method: ScrollBar>>sliderColor: (in category 'access') -----
sliderColor: aColor
"Change the color of the scrollbar to go with aColor."
| buttonColor |
super sliderColor: aColor.
self updateSliderColor: aColor.
buttonColor := self thumbColor.
+ self menuButton color: buttonColor.
- menuButton color: buttonColor.
upButton color: buttonColor.
downButton color: buttonColor.
+ self class updateScrollBarButtonsAspect: {self menuButton. upButton. downButton} color: buttonColor.
- self class updateScrollBarButtonsAspect: {menuButton. upButton. downButton} color: buttonColor.
self updateMenuButtonImage.
self updateUpButtonImage.
self updateDownButtonImage.!
Item was changed:
----- Method: ScrollBar>>totalSliderArea (in category 'geometry') -----
totalSliderArea
| upperReferenceBounds lowerReferenceBounds |
+ upperReferenceBounds := (upButton visible ifFalse: [self menuButton visible ifTrue: [self menuButton] ifFalse: [nil]] ifTrue: [upButton])
- upperReferenceBounds := (upButton visible ifFalse: [menuButton visible ifTrue: [menuButton] ifFalse: [nil]] ifTrue: [upButton])
ifNil: [self topLeft corner: (bounds isWide ifTrue: [self bottomLeft + (1 at 0)] ifFalse: [self topRight + (0 at 1)])]
ifNotNil: [:button | button bounds].
lowerReferenceBounds := downButton visible
ifFalse: [(bounds isWide ifTrue: [self topRight - (1 at 0)] ifFalse: [self bottomLeft - (0 at 1)]) corner: self bottomRight]
ifTrue: [downButton bounds].
^ bounds isWide
ifTrue: [upperReferenceBounds topRight - (1 at 0) corner: lowerReferenceBounds bottomLeft + (1 at 0)]
ifFalse:[upperReferenceBounds bottomLeft - (0 at 1) corner: lowerReferenceBounds topRight + (0 at 1)].
!
Item was changed:
----- Method: ScrollBar>>updateMenuButtonImage (in category 'initialize') -----
updateMenuButtonImage
"update the receiver's menuButton. put a new image inside"
+ self menuButton removeAllMorphs.
+ self menuButton addMorphCentered: (ImageMorph new image: self menuImage).!
- menuButton removeAllMorphs.
- menuButton addMorphCentered: (ImageMorph new image: self menuImage).!
Item was changed:
----- Method: ScrollBar>>updateSlider (in category 'initialize') -----
updateSlider
+ self menuButton
- menuButton
visible: (self bounds isWide or: [self class scrollBarsWithoutMenuButton]) not;
bounds: self boundsForMenuButton.
upButton
visible: self class scrollBarsWithoutArrowButtons not;
bounds: self boundsForUpButton.
downButton
visible: self class scrollBarsWithoutArrowButtons not;
bounds: self boundsForDownButton.
super updateSlider.
pagingArea bounds: self totalSliderArea.
self expandSlider.
!
More information about the Squeak-dev
mailing list
|