[squeak-dev] The Trunk: Morphic-mt.932.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Apr 26 18:13:53 UTC 2015
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.932.mcz
==================== Summary ====================
Name: Morphic-mt.932
Author: mt
Time: 26 April 2015, 8:13:16.689 pm
UUID: 9f761836-2e52-a44f-b10b-4bee1ada586c
Ancestors: Morphic-mt.931
Just like scroll panes, cache minimum button extent, too. Leads to faster re-layouting.
Note: The three buttons below the class list in the system browser insist to keep their fractions and thus will not shrink as far as the browsers button bar, which as a table layout instead of a proportional layout.
=============== Diff against Morphic-mt.931 ===============
Item was changed:
----- Method: PluggableButtonMorph>>font: (in category 'accessing') -----
font: aFont
font = aFont ifTrue: [^ self].
font := aFont.
+ self updateMinimumExtent.!
- self extent: self minExtent.!
Item was added:
+ ----- Method: PluggableButtonMorph>>hResizing: (in category 'layout-properties') -----
+ hResizing: aSymbol
+ "We adapt our minimum extent according to our resize behavior."
+
+ self hResizing == aSymbol ifTrue: [^ self].
+ super hResizing: aSymbol.
+ self updateMinimumExtent.!
Item was changed:
----- Method: PluggableButtonMorph>>label: (in category 'accessing') -----
label: aStringOrTextOrMorph
label = aStringOrTextOrMorph ifTrue: [^ self].
label := aStringOrTextOrMorph isText
ifTrue: [aStringOrTextOrMorph asMorph]
ifFalse: [aStringOrTextOrMorph].
+ self updateMinimumExtent.!
- self extent: self minExtent.!
Item was removed:
- ----- Method: PluggableButtonMorph>>minHeight (in category 'layout') -----
- minHeight
-
- | vMin |
- self label isMorph
- ifTrue: [^ super minHeight max: self label minHeight].
-
- vMin := 16.
- self vResizing == #shrinkWrap
- ifTrue: [vMin := self font height].
-
- self layoutInset isRectangle
- ifTrue: [vMin := vMin + self layoutInset top + self layoutInset bottom]
- ifFalse: [self layoutInset isPoint
- ifTrue: [vMin := vMin + (2* self layoutInset y)]
- ifFalse: [vMin := vMin + (2* self layoutInset)]].
- ^ super minHeight max: vMin!
Item was removed:
- ----- Method: PluggableButtonMorph>>minWidth (in category 'layout') -----
- minWidth
-
- | hMin |
- self label isMorph
- ifTrue: [^ super minWidth max: self label minWidth].
-
- hMin := 16.
- self hResizing == #shrinkWrap
- ifTrue: [hMin := (self font widthOfString: self label) max: self labelShrinkThreshold].
-
- self layoutInset isRectangle
- ifTrue: [hMin := hMin + self layoutInset left + self layoutInset right]
- ifFalse: [self layoutInset isPoint
- ifTrue: [hMin := hMin + (2* self layoutInset x)]
- ifFalse: [hMin := hMin + (2* self layoutInset)]].
- ^ super minWidth max: hMin!
Item was added:
+ ----- Method: PluggableButtonMorph>>updateMinimumExtent (in category 'layout') -----
+ updateMinimumExtent
+
+ | hMin vMin |
+ self label isMorph
+ ifTrue: [^ self minimumExtent: self label minExtent].
+
+ hMin := vMin := 16.
+ self hResizing == #shrinkWrap
+ ifTrue: [hMin := (self font widthOfString: self label) max: self labelShrinkThreshold].
+ self vResizing == #shrinkWrap
+ ifTrue: [vMin := self font height].
+
+ self layoutInset isRectangle
+ ifTrue: [
+ hMin := hMin + self layoutInset left + self layoutInset right.
+ vMin := vMin + self layoutInset top + self layoutInset bottom]
+ ifFalse: [self layoutInset isPoint
+ ifTrue: [
+ hMin := hMin + (2* self layoutInset x).
+ vMin := vMin + (2* self layoutInset y)]
+ ifFalse: [
+ hMin := hMin + (2* self layoutInset).
+ vMin := vMin + (2* self layoutInset)]].
+
+ self minimumExtent: hMin @ vMin!
Item was added:
+ ----- Method: PluggableButtonMorph>>vResizing: (in category 'layout-properties') -----
+ vResizing: aSymbol
+ "We adapt our minimum extent according to our resize behavior."
+
+ self vResizing == aSymbol ifTrue: [^ self].
+ super vResizing: aSymbol.
+ self updateMinimumExtent.!
Item was changed:
+ (PackageInfo named: 'Morphic') postscript: '"Initialize the key bindings and menus"
- (PackageInfo named: 'Morphic') postscript: '"Update existing scrollbars."
- ScrollPane allSubInstances do: [:sc |
- sc vScrollBarPolicy ifNil: [
- sc vScrollBarPolicy: #whenNeeded.
- (sc hasProperty: #vScrollBarAlways)
- ifTrue: [sc vScrollBarPolicy: #always].
- (sc hasProperty: #noVScrollBarPlease)
- ifTrue: [sc vScrollBarPolicy: #never]].
- sc hScrollBarPolicy ifNil: [
- sc hScrollBarPolicy: #whenNeeded.
- (sc hasProperty: #hScrollBarAlways)
- ifTrue: [sc hScrollBarPolicy: #always].
- (sc hasProperty: #noHScrollBarPlease)
-
- ifTrue: [sc hScrollBarPolicy: #never]].
- sc scrollBarThickness: ScrollPane scrollBarThickness.
-
- sc
- resizeScrollBars;
- resizeScroller;
- hideOrShowScrollBars].
-
- (Preferences dictionaryOfPreferences at: #alternativeWindowBoxesLook) defaultValue: false.
-
- "Initialize the key bindings and menus"
Editor initialize.
"apply the new icons"
MenuIcons initializeIcons.
TheWorldMainDockingBar updateInstances.
+ "Update minimum extents."
+ PluggableButtonMorph allSubInstancesDo: [:ea |
+ ea updateMinimumExtent].'!
- "Keyboard focus indication."
- PluggableTextMorph allSubInstances do: [:m |
- m textMorph setProperty: #indicateKeyboardFocus toValue: #never].'!
More information about the Squeak-dev
mailing list
|