tim Rowledge uploaded a new version of Files to project The Trunk:
http://source.squeak.org/trunk/Files-tpr.156.mcz
==================== Summary ====================
Name: Files-tpr.156
Author: tpr
Time: 24 May 2016, 10:00:21.788027 am
UUID: a9fad8c9-8c36-480a-8c66-1521c4e1bf16
Ancestors: Files-cmm.155
Add call to the fsync file flushing/synchronising primitive, plus a #sync method to use it.
=============== Diff against Files-cmm.155 ===============
Item was added:
+ ----- Method: FileStream>>sync (in category 'file open/close') -----
+ sync
+ "sync the current buffer out to disk."
+
+ self subclassResponsibility
+ !
Item was added:
+ ----- Method: StandardFileStream>>primSync: (in category 'primitives') -----
+ primSync: id
+ "Call fsync to really, really, flush pending changes to the disk"
+ | p |
+ <primitive: 'primitiveFileSync' module: 'FilePlugin'>
+ "In some OS's seeking to 0 and back will do a flush. Maybe that will help if we dont have the primitives"
+ p := self position.
+ self position: 0; position: p!
Item was added:
+ ----- Method: StandardFileStream>>sync (in category 'read, write, position') -----
+ sync
+ "Really, really, flush pending changes"
+ ^self primSync: fileID!
Marcel Taeumel uploaded a new version of 51Deprecated to project The Trunk:
http://source.squeak.org/trunk/51Deprecated-mt.29.mcz
==================== Summary ====================
Name: 51Deprecated-mt.29
Author: mt
Time: 20 May 2016, 11:43:34.671411 am
UUID: dd938ba1-6eda-894c-92d7-83a3e075e04e
Ancestors: 51Deprecated-mt.28
Appendix to Morphic-mt.1150.
=============== Diff against 51Deprecated-mt.28 ===============
Item was added:
+ ----- Method: SystemWindow>>activateAndForceLabelToShow (in category '*51Deprecated') -----
+ activateAndForceLabelToShow
+
+ self deprecated.
+ self beKeyWindow.
+ !
Item was added:
+ ----- Method: SystemWindow>>activateWindow (in category '*51Deprecated') -----
+ activateWindow
+
+ self deprecated: 'Override #activate if needed'.!
Item was added:
+ ----- Method: SystemWindow>>activeOnlyOnTop (in category '*51Deprecated') -----
+ activeOnlyOnTop
+
+ self deprecated: 'Being active is a synonym for being the top window. If you want to accept input in background windows, check the preference #allWindowsAcceptInput..'.
+ ^ true!
Item was added:
+ ----- Method: SystemWindow>>activeOnlyOnTop: (in category '*51Deprecated') -----
+ activeOnlyOnTop: trueOrFalse
+
+ self deprecated: 'Being active is a synonym for being the top window. If you want to accept input in background windows, use the preference "All windows accept input".'.!
Item was added:
+ ----- Method: SystemWindow>>adjustBorderUponActivationWhenLabeless (in category '*51Deprecated') -----
+ adjustBorderUponActivationWhenLabeless
+ "Adjust the border upon, um, activation when, um, labelless"
+
+ | aWidth |
+ self deprecated: 'See #beKeyWindow'.
+ (aWidth := self valueOfProperty: #borderWidthWhenActive) ifNotNil:
+ [self acquireBorderWidth: aWidth]!
Item was added:
+ ----- Method: SystemWindow>>adjustBorderUponDeactivationWhenLabeless (in category '*51Deprecated') -----
+ adjustBorderUponDeactivationWhenLabeless
+ "Adjust the border upon deactivation when, labelless"
+
+ | aWidth |
+ self deprecated: 'See #beKeyWindow'.
+ (aWidth := self valueOfProperty: #borderWidthWhenInactive) ifNotNil:
+ [self acquireBorderWidth: aWidth]!
Item was added:
+ ----- Method: SystemWindow>>bringBehind: (in category '*51Deprecated') -----
+ bringBehind: aMorph
+ "Make the receiver be directly behind the given morph.
+ Take into account any modal owner and propagate."
+
+ |outerMorph|
+ self deprecated: 'Just use #comeToFront on model windows.'.
+ outerMorph := self topRendererOrSelf.
+ outerMorph owner ifNil: [^ self "avoid spurious activate when drop in trash"].
+ outerMorph owner addMorph: outerMorph after: aMorph topRendererOrSelf.
+ self modalOwner ifNotNil: [:mo | mo bringBehind: self]!
Marcel Taeumel uploaded a new version of Services-Base to project The Trunk:
http://source.squeak.org/trunk/Services-Base-mt.58.mcz
==================== Summary ====================
Name: Services-Base-mt.58
Author: mt
Time: 20 May 2016, 11:42:24.934411 am
UUID: f545ee83-1f58-df44-8f6b-292a3a239443
Ancestors: Services-Base-mt.57
Appendix to Morphic-mt.1150.
=============== Diff against Services-Base-mt.57 ===============
Item was removed:
- ----- Method: SystemWindow class>>topWindow (in category '*services-base') -----
- topWindow
- ^ TopWindow!
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.!