[squeak-dev] The Trunk: Morphic-mt.853.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Apr 10 13:08:26 UTC 2015
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.853.mcz
==================== Summary ====================
Name: Morphic-mt.853
Author: mt
Time: 10 April 2015, 3:07:39.015 pm
UUID: b6de4c8e-4df3-2946-9608-12ff51775de1
Ancestors: Morphic-mt.852
Some cosmetic fixes in sliders, scroll bars, and scroll panes.
=============== Diff against Morphic-mt.852 ===============
Item was added:
+ ----- Method: ScrollBar>>defaultBorderWidth (in category 'initialize') -----
+ defaultBorderWidth
+ ^ 0!
Item was changed:
----- Method: ScrollBar>>updateSlider (in category 'initialize') -----
updateSlider
+ | imagesNeedUpdate |
+ imagesNeedUpdate := upButton width ~= (self bounds isWide ifTrue: [self height] ifFalse: [self width]).
+
self 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.
+
+ imagesNeedUpdate ifTrue: [
+ self menuButton visible ifTrue: [self updateMenuButtonImage].
+ upButton visible ifTrue: [self updateUpButtonImage].
+ downButton visible ifTrue: [self updateDownButtonImage]].!
- !
Item was changed:
----- Method: ScrollBar>>updateSliderColor: (in category 'access') -----
updateSliderColor: aColor
- | gradient |
+ | gradient |
- self borderWidth: 0.
-
Preferences gradientScrollBars ifFalse: [
slider
borderColor: aColor muchDarker;
color: aColor.
pagingArea
borderColor: (aColor muchDarker alpha: pagingArea borderStyle color alpha);
color: (aColor darker alpha: 0.45).
^ self].
slider borderStyle: (BorderStyle width: 1 color: Color lightGray).
"Fill the slider."
gradient := GradientFillStyle ramp: {
0 -> (Color gray: 0.95).
0.49 -> (Color gray: 0.9).
0.5 -> (Color gray: 0.87).
1 -> (Color gray: 0.93).
}.
gradient origin: slider topLeft.
gradient direction: (self bounds isWide
ifTrue:[0 at slider height]
ifFalse:[slider width at 0]).
slider fillStyle: gradient.
"Fill the paging area."
gradient := GradientFillStyle ramp: {
0 -> (Color gray: 0.65).
0.6 -> (Color gray: 0.82).
1 -> (Color gray: 0.88).
}.
gradient origin: self topLeft.
gradient direction: (self bounds isWide
ifTrue:[0 at self height]
ifFalse:[self width at 0]).
pagingArea fillStyle: gradient.!
Item was changed:
----- Method: ScrollPane>>hResizeScrollBar (in category 'geometry') -----
hResizeScrollBar
| topLeft h border offset |
"TEMPORARY: IF OLD SCROLLPANES LYING AROUND THAT DON'T HAVE A hScrollBar, INIT THEM"
hScrollBar ifNil: [ self hInitScrollBarTEMPORARY].
(self valueOfProperty: #noHScrollBarPlease ifAbsent: [false]) ifTrue: [^self].
bounds ifNil: [ self fullBounds ].
h := self scrollBarThickness.
border := borderWidth.
offset := (scrollBarOnLeft and: [self vIsScrollbarShowing])
ifTrue: [h]
ifFalse: [0].
topLeft := retractableScrollBar
ifTrue: [bounds bottomLeft + (border + offset @ border negated)]
ifFalse: [bounds bottomLeft + (border + offset @ (h + border) negated)].
+ hScrollBar bounds: (topLeft + (border negated @ border) extent: self hScrollBarWidth@ h)
- hScrollBar bounds: (topLeft + (-1 at 1) extent: self hScrollBarWidth@ h)
!
Item was changed:
----- Method: ScrollPane>>initializeScrollBars (in category 'initialization') -----
initializeScrollBars
"initialize the receiver's scrollBar"
(scrollBar := ScrollBar on: self getValue: nil setValue: #vScrollBarValue:)
+ menuSelector: #vScrollBarMenuButtonPressed:.
- menuSelector: #vScrollBarMenuButtonPressed:;
- borderWidth: 1;
- borderColor: Color black.
(hScrollBar := ScrollBar on: self getValue: nil setValue: #hScrollBarValue:)
+ menuSelector: #hScrollBarMenuButtonPressed:.
- menuSelector: #hScrollBarMenuButtonPressed:;
- borderWidth: 1;
- borderColor: Color black.
""
scroller := TransformMorph new color: Color transparent.
scroller offset: 0 @ 0.
self addMorph: scroller.
""
scrollBar initializeEmbedded: retractableScrollBar not.
hScrollBar initializeEmbedded: retractableScrollBar not.
retractableScrollBar ifFalse:
[self
addMorph: scrollBar;
addMorph: hScrollBar].
Preferences alwaysShowVScrollbar ifTrue:
[ self alwaysShowVScrollBar: true ].
Preferences alwaysHideHScrollbar
ifTrue:[self hideHScrollBarIndefinitely: true ]
ifFalse:
[Preferences alwaysShowHScrollbar ifTrue:
[ self alwaysShowHScrollBar: true ]].
!
Item was changed:
----- Method: ScrollPane>>innerBounds (in category 'geometry') -----
innerBounds
| inner |
inner := super innerBounds.
retractableScrollBar | (submorphs includes: scrollBar) not ifFalse:[
inner := (scrollBarOnLeft
ifTrue: [scrollBar right @ inner top corner: inner bottomRight]
ifFalse: [inner topLeft corner: scrollBar left @ inner bottom])
].
(retractableScrollBar | self hIsScrollbarShowing not)
ifTrue: [^ inner]
+ ifFalse: [^ inner topLeft corner: (inner bottomRight - (0@(self scrollBarThickness - self borderWidth)))].
- ifFalse: [^ inner topLeft corner: (inner bottomRight - (0@(self scrollBarThickness - 1)))].
!
Item was changed:
----- Method: ScrollPane>>vResizeScrollBar (in category 'geometry') -----
vResizeScrollBar
+ | w topLeft border |
- | w topLeft borderHeight innerWidth |
w := self scrollBarThickness.
+ border := self borderWidth.
- innerWidth := self flatColoredScrollBarLook
- ifTrue:
- [borderHeight := borderWidth.
- 0]
- ifFalse:
- [borderHeight := 0.
- 1].
topLeft := scrollBarOnLeft
+ ifTrue: [retractableScrollBar
+ ifTrue: [bounds topLeft - ((w - border) @ border negated)]
+ ifFalse: [bounds topLeft + (border @ border)]]
+ ifFalse: [retractableScrollBar
+ ifTrue: [bounds topRight - (border @ border negated)]
+ ifFalse: [bounds topRight - ((w + border) @ border negated)]].
- ifTrue:
- [retractableScrollBar
- ifTrue: [bounds topLeft - ((w - borderWidth) @ (0 - borderHeight))]
- ifFalse: [bounds topLeft + ((borderWidth - innerWidth) @ borderHeight)]]
- ifFalse:
- [retractableScrollBar
- ifTrue: [bounds topRight - (borderWidth @ (0 - borderHeight))]
- ifFalse:
- [bounds topRight - ((w + borderWidth - innerWidth) @ (0 - borderHeight))]].
scrollBar
+ bounds: (topLeft + ((scrollBarOnLeft ifTrue: [border negated] ifFalse: [border]) @ border negated)
+ extent: w @ self vScrollBarHeight)
- bounds: (topLeft + ((scrollBarOnLeft ifTrue: [-1] ifFalse: [1]) @ -1) extent: w @ self vScrollBarHeight)
!
Item was changed:
----- Method: Slider>>extent: (in category 'geometry') -----
extent: newExtent
+
+ (bounds extent closeTo: newExtent) ifTrue: [^ self].
+
- newExtent = bounds extent ifTrue: [^ self].
bounds isWide
ifTrue: [super extent: (newExtent x max: self sliderThickness * 2) @ newExtent y]
ifFalse: [super extent: newExtent x @ (newExtent y max: self sliderThickness * 2)].
+
self updateSlider.!
More information about the Squeak-dev
mailing list
|