Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.832.mcz
==================== Summary ====================
Name: System-mt.832
Author: mt
Time: 20 May 2016, 11:41:09.861411 am
UUID: 3b5a40f8-c4a5-c645-bc2e-9bc5ca7efbe8
Ancestors: System-ul.831
Appendix to Morphic-mt.1150.
=============== Diff against System-ul.831 ===============
Item was changed:
----- Method: Preferences class>>editAnnotations (in category 'support - misc') -----
editAnnotations
"Put up a window that allows the user to edit annotation specifications"
| aWindow |
self currentWorld addMorphCentered: (aWindow := self annotationEditingWindow).
+ aWindow beKeyWindow.
- aWindow activateAndForceLabelToShow
"Preferences editAnnotations"
!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1025.mcz
==================== Summary ====================
Name: Kernel-mt.1025
Author: mt
Time: 20 May 2016, 11:40:09.017411 am
UUID: ddb8d59c-0fd5-4c4e-a0f9-6c4c98fc9e3b
Ancestors: Kernel-ul.1024
Appendix to Morphic-mt.1150.
=============== Diff against Kernel-ul.1024 ===============
Item was changed:
----- Method: Model class>>windowActiveOnFirstClick (in category 'preferences') -----
windowActiveOnFirstClick
+ <preference: 'Windows Active On First Click'
- <preference: 'Window Active On First Click'
category: 'windows'
+ description: 'When enabled, the widgets of background (inactive) windows are sensitive to mouse input. When disabled, clicking background window will only make it the active window, without changing, for example, selections in lists or text fields.'
- description: 'Whether or not you want to directly interact with a widget (e.g. button) in a not-yet-active window'
type: #Boolean>
+
^ WindowActiveOnFirstClick ifNil: [ false ]!
Patrick Rein uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-pre.1149.mcz
==================== Summary ====================
Name: Morphic-pre.1149
Author: pre
Time: 20 May 2016, 10:19:40.525592 am
UUID: 4cbea756-e549-4b75-b6ec-9182c9f9364d
Ancestors: Morphic-mt.1148
Removes unused method of BracketSliderMorph
=============== Diff against Morphic-mt.1148 ===============
Item was removed:
- ----- Method: BracketSliderMorph>>borderStyleToUse (in category 'accessing - ui') -----
- borderStyleToUse
- "Answer the borderStyle that should be used for the receiver."
-
- ^self enabled
- ifTrue: [self theme sliderNormalBorderStyleFor: self]
- ifFalse: [self theme sliderDisabledBorderStyleFor: self]!
Patrick Rein uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-pre.175.mcz
==================== Summary ====================
Name: MorphicExtras-pre.175
Author: pre
Time: 20 May 2016, 10:18:14.376592 am
UUID: 895e188c-ca42-4f48-9817-4d69b567dbc0
Ancestors: MorphicExtras-mt.174
Moves UpdatingRectangleMorph from EToys
=============== Diff against MorphicExtras-mt.174 ===============
Item was added:
+ RectangleMorph subclass: #UpdatingRectangleMorph
+ instanceVariableNames: 'target lastValue getSelector putSelector contents'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'MorphicExtras-Support'!
+
+ !UpdatingRectangleMorph commentStamp: '<historical>' prior: 0!
+ Intended for use as a color swatch coupled to a color obtained from the target, but made just slightly more general than that.!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>contents (in category 'accessing') -----
+ contents
+ ^ contents!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>contents: (in category 'accessing') -----
+ contents: c
+ contents := c!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>defaultBorderColor (in category 'initialization') -----
+ defaultBorderColor
+ "answer the default border color/fill style for the receiver"
+ ^ Color lightGray lighter!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>getSelector (in category 'accessing') -----
+ getSelector
+ "Answer the getSelector"
+
+ ^ getSelector!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>getSelector: (in category 'accessing') -----
+ getSelector: aSymbol
+
+ getSelector := aSymbol.
+ !
Item was added:
+ ----- Method: UpdatingRectangleMorph>>handlesMouseDown: (in category 'event handling') -----
+ handlesMouseDown: evt
+ ^putSelector notNil!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>isEtoyReadout (in category 'accessing') -----
+ isEtoyReadout
+ "Answer whether the receiver can serve as an etoy readout"
+
+ ^ true!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>mouseUp: (in category 'event handling') -----
+ mouseUp: evt
+
+ self changeColorTarget: self selector: #setTargetColor: originalColor: color hand: evt hand.!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>putSelector (in category 'accessing') -----
+ putSelector
+ ^ putSelector!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>putSelector: (in category 'accessing') -----
+ putSelector: aSymbol
+ putSelector := aSymbol!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>readFromTarget (in category 'target access') -----
+ readFromTarget
+ "Read the color value from my target"
+
+ | v |
+ (target isNil or: [getSelector isNil]) ifTrue: [^contents].
+ target isMorph ifTrue: [target isInWorld ifFalse: [^contents]].
+ v := self valueProvider perform: getSelector.
+ lastValue := v.
+ ^v!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>setTargetColor: (in category 'setting') -----
+ setTargetColor: aColor
+ "Set my target's color as indicated"
+
+ putSelector ifNotNil:
+ [self color: aColor.
+ contents := aColor.
+ self valueProvider perform: self putSelector withArguments: (Array with: aColor)]
+ !
Item was added:
+ ----- Method: UpdatingRectangleMorph>>step (in category 'stepping and presenter') -----
+ step
+ | s |
+ super step.
+ s := self readFromTarget.
+ s = contents ifFalse:
+ [self contents: s.
+ self color: s]
+ !
Item was added:
+ ----- Method: UpdatingRectangleMorph>>stepTime (in category 'testing') -----
+ stepTime
+
+ ^ 50!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>target (in category 'accessing') -----
+ target
+
+ ^ target
+ !
Item was added:
+ ----- Method: UpdatingRectangleMorph>>target: (in category 'accessing') -----
+ target: anObject
+
+ target := anObject.
+ !
Item was added:
+ ----- Method: UpdatingRectangleMorph>>userEditsAllowed (in category 'accessing') -----
+ userEditsAllowed
+ "Answer whether it is suitable for a user to change the value represented by this readout"
+
+ ^ putSelector notNil!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>valueProvider (in category 'setting') -----
+ valueProvider
+ "Answer the object to which my get/set messages should be sent. This is inefficient and contorted in order to support grandfathered content for an earlier design"
+
+ ^ target isMorph
+ ifTrue:
+ [target topRendererOrSelf player ifNil: [target]]
+ ifFalse:
+ [target]!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>veryDeepFixupWith: (in category 'copying') -----
+ veryDeepFixupWith: deepCopier
+ "If target and arguments fields were weakly copied, fix them here. If they were in the tree being copied, fix them up, otherwise point to the originals!!!!"
+
+ super veryDeepFixupWith: deepCopier.
+ target := deepCopier references at: target ifAbsent: [target].!
Item was added:
+ ----- Method: UpdatingRectangleMorph>>veryDeepInner: (in category 'copying') -----
+ veryDeepInner: deepCopier
+ "Copy all of my instance variables. Some need to be not copied at all, but shared. Warning!!!! Every instance variable defined in this class must be handled. We must also implement veryDeepFixupWith:. See DeepCopier class comment."
+
+ super veryDeepInner: deepCopier.
+ "target := target. Weakly copied"
+ lastValue := lastValue veryDeepCopyWith: deepCopier.
+ "getSelector := getSelector. a Symbol"
+ "putSelector := putSelector. a Symbol"
+ contents := contents veryDeepCopyWith: deepCopier.!
Patrick Rein uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-pre.137.mcz
==================== Summary ====================
Name: EToys-pre.137
Author: pre
Time: 20 May 2016, 10:17:16.147592 am
UUID: f4fdcfc9-f4e7-431b-84bc-41ba3fec9f27
Ancestors: EToys-mt.136
Moves UpdatingRectangleMorph to MorphicExtras
=============== Diff against EToys-mt.136 ===============
Item was removed:
- RectangleMorph subclass: #UpdatingRectangleMorph
- instanceVariableNames: 'target lastValue getSelector putSelector contents'
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Etoys-Scripting Support'!
-
- !UpdatingRectangleMorph commentStamp: '<historical>' prior: 0!
- Intended for use as a color swatch coupled to a color obtained from the target, but made just slightly more general than that.!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>contents (in category 'accessing') -----
- contents
- ^ contents!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>contents: (in category 'accessing') -----
- contents: c
- contents := c!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>defaultBorderColor (in category 'initialization') -----
- defaultBorderColor
- "answer the default border color/fill style for the receiver"
- ^ Color lightGray lighter!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>getSelector (in category 'accessing') -----
- getSelector
- "Answer the getSelector"
-
- ^ getSelector!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>getSelector: (in category 'accessing') -----
- getSelector: aSymbol
-
- getSelector := aSymbol.
- !
Item was removed:
- ----- Method: UpdatingRectangleMorph>>handlesMouseDown: (in category 'event handling') -----
- handlesMouseDown: evt
- ^putSelector notNil!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>isEtoyReadout (in category 'accessing') -----
- isEtoyReadout
- "Answer whether the receiver can serve as an etoy readout"
-
- ^ true!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>mouseUp: (in category 'event handling') -----
- mouseUp: evt
-
- self changeColorTarget: self selector: #setTargetColor: originalColor: color hand: evt hand.!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>putSelector (in category 'accessing') -----
- putSelector
- ^ putSelector!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>putSelector: (in category 'accessing') -----
- putSelector: aSymbol
- putSelector := aSymbol!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>readFromTarget (in category 'target access') -----
- readFromTarget
- "Read the color value from my target"
-
- | v |
- (target isNil or: [getSelector isNil]) ifTrue: [^contents].
- target isMorph ifTrue: [target isInWorld ifFalse: [^contents]].
- v := self valueProvider perform: getSelector.
- lastValue := v.
- ^v!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>setTargetColor: (in category 'setting') -----
- setTargetColor: aColor
- "Set my target's color as indicated"
-
- putSelector ifNotNil:
- [self color: aColor.
- contents := aColor.
- self valueProvider perform: self putSelector withArguments: (Array with: aColor)]
- !
Item was removed:
- ----- Method: UpdatingRectangleMorph>>step (in category 'stepping and presenter') -----
- step
- | s |
- super step.
- s := self readFromTarget.
- s = contents ifFalse:
- [self contents: s.
- self color: s]
- !
Item was removed:
- ----- Method: UpdatingRectangleMorph>>stepTime (in category 'testing') -----
- stepTime
-
- ^ 50!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>target (in category 'accessing') -----
- target
-
- ^ target
- !
Item was removed:
- ----- Method: UpdatingRectangleMorph>>target: (in category 'accessing') -----
- target: anObject
-
- target := anObject.
- !
Item was removed:
- ----- Method: UpdatingRectangleMorph>>userEditsAllowed (in category 'accessing') -----
- userEditsAllowed
- "Answer whether it is suitable for a user to change the value represented by this readout"
-
- ^ putSelector notNil!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>valueProvider (in category 'setting') -----
- valueProvider
- "Answer the object to which my get/set messages should be sent. This is inefficient and contorted in order to support grandfathered content for an earlier design"
-
- ^ target isMorph
- ifTrue:
- [target topRendererOrSelf player ifNil: [target]]
- ifFalse:
- [target]!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>veryDeepFixupWith: (in category 'copying') -----
- veryDeepFixupWith: deepCopier
- "If target and arguments fields were weakly copied, fix them here. If they were in the tree being copied, fix them up, otherwise point to the originals!!!!"
-
- super veryDeepFixupWith: deepCopier.
- target := deepCopier references at: target ifAbsent: [target].!
Item was removed:
- ----- Method: UpdatingRectangleMorph>>veryDeepInner: (in category 'copying') -----
- veryDeepInner: deepCopier
- "Copy all of my instance variables. Some need to be not copied at all, but shared. Warning!!!! Every instance variable defined in this class must be handled. We must also implement veryDeepFixupWith:. See DeepCopier class comment."
-
- super veryDeepInner: deepCopier.
- "target := target. Weakly copied"
- lastValue := lastValue veryDeepCopyWith: deepCopier.
- "getSelector := getSelector. a Symbol"
- "putSelector := putSelector. a Symbol"
- contents := contents veryDeepCopyWith: deepCopier.!
Patrick Rein uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-pre.60.mcz
==================== Summary ====================
Name: PreferenceBrowser-pre.60
Author: pre
Time: 20 May 2016, 10:12:16.873592 am
UUID: b7bf981d-b37d-4f6a-a298-921f729da05d
Ancestors: PreferenceBrowser-kfr.59
Removes the unused useGradientFill method and thereby also the PreferenceBrowser dependency on the Balloon package
=============== Diff against PreferenceBrowser-kfr.59 ===============
Item was removed:
- ----- Method: PBColorPreferenceView>>useGradientFill (in category 'user interface') -----
- useGradientFill
-
- "Make receiver use a solid fill style (e.g., a simple color)"
-
-
- | color1 color2 fill |
- self preference preferenceValue isGradientFill ifTrue:[^self]. "Already done"
- color1 := Color white darker.
- color2 := self preference preferenceValue asColor.
- fill := GradientFillStyle ramp: {0.0 -> color1. 1.0 -> color2}.
- fill origin: ActiveWorld topLeft.
- fill direction: 0 @ ActiveWorld bounds extent y.
- fill normal: ActiveWorld bounds extent x @ 0.
- fill radial: false.
- self preference preferenceValue: fill.
- button label: self preference preferenceValue asString;
- color: self preference preferenceValue!
Patrick Rein uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-pre.344.mcz
==================== Summary ====================
Name: Tests-pre.344
Author: pre
Time: 20 May 2016, 10:10:49.235592 am
UUID: d144be16-8a8e-49d2-9bf8-9bf4304cb55d
Ancestors: Tests-pre.343
Adds the ToolBuilder dependency to the PreferenceBrowser dependency test. As a temporary measure during the move to a ToolBuilder-based implementation it points directly to ToolBuilder-Morphic
=============== Diff against Tests-pre.343 ===============
Item was changed:
----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
testPreferenceBrowser
self testPackage: #PreferenceBrowser dependsExactlyOn: #(
#'Chronology-Core'
Collections
Graphics
Kernel
Morphic
MorphicExtras
System
Tools
+ #'ToolBuilder-Morphic' "Work in progress. Should become ToolBuilder --pre"
).!
Patrick Rein uploaded a new version of Regex-Tests-Core to project The Trunk:
http://source.squeak.org/trunk/Regex-Tests-Core-pre.6.mcz
==================== Summary ====================
Name: Regex-Tests-Core-pre.6
Author: pre
Time: 19 May 2016, 8:50:59.559548 pm
UUID: e1cbdf20-9ce2-4e4a-b1d8-574186c2e746
Ancestors: Regex-Tests-Core-ul.5
Adjustments to the Regex tests for optional subexpressions in multiple quantifiers. These tests demonstrate the different behavior when nesting subexpressions in quantifiers and the other way round.
=============== Diff against Regex-Tests-Core-ul.5 ===============
Item was added:
+ ----- Method: RxMatcherTest>>testOptionalMultipleQuantifiedSubexpression (in category 'testing') -----
+ testOptionalMultipleQuantifiedSubexpression
+ <timeout: 0.1>
+
+ self runRegex: #('((aa?){2})'
+ '' false nil
+ 'a' false nil
+ 'aa' true (1 'aa')
+ 'baaa' true (2 'aaa'))!
Item was changed:
----- Method: RxMatcherTest>>testOptionalNestedIntoMultipleQuantified (in category 'testing') -----
testOptionalNestedIntoMultipleQuantified
<timeout: 0.1>
self runRegex: #('(aa?){2}'
'' false nil
'a' false nil
'aa' true (1 'aa')
+ 'baaa' true (2 'a'))!
- 'baaa' true (2 'aaa'))!