Karl Ramberg uploaded a new version of Squeak-Version to project The Trunk:
http://source.squeak.org/trunk/Squeak-Version-kfr. 4711.mcz
==================== Summary ====================
Name: Squeak-Version-kfr. 4711
Author: kfr
Time: 25 November 2015, 4:48:22.871 pm
UUID: 499e1646-64b4-4f30-a422-471455781462
Ancestors: Squeak-Version-ar.4662
Removal of Universes
=============== Diff against Squeak-Version-ar.4662 ===============
Karl Ramberg uploaded a new version of Squeak-Version to project The Trunk:
http://source.squeak.org/trunk/Squeak-Version-kfr. 4711.mcz
==================== Summary ====================
Name: Squeak-Version-kfr. 4711
Author: kfr
Time: 25 November 2015, 4:48:22.871 pm
UUID: 499e1646-64b4-4f30-a422-471455781462
Ancestors: Squeak-Version-ar.4662
Removal of Universes
=============== Diff against Squeak-Version-ar.4662 ===============
Karl Ramberg uploaded a new version of Universes to project The Trunk:
http://source.squeak.org/trunk/Universes-kfr.49.mcz
==================== Summary ====================
Name: Universes-kfr.49
Author: kfr
Time: 25 November 2015, 4:41:51.099 pm
UUID: 7fee292f-53fe-4b4d-822a-bf8798bd2cda
Ancestors: Universes-mt.48
Removal of Universes
=============== Diff against Universes-mt.48 ===============
Item was added:
+ (PackageInfo named: 'Universes') preamble: '"below, add code to be run before the loading of this package"
+ (MCPackage named: ''Universes'') workingCopy unload'!
Karl Ramberg uploaded a new version of Universes to project The Trunk:
http://source.squeak.org/trunk/Universes-kfr.49.mcz
==================== Summary ====================
Name: Universes-kfr.49
Author: kfr
Time: 25 November 2015, 4:41:51.099 pm
UUID: 7fee292f-53fe-4b4d-822a-bf8798bd2cda
Ancestors: Universes-mt.48
Removal of Universes
=============== Diff against Universes-mt.48 ===============
Item was added:
+ (PackageInfo named: 'Universes') preamble: '"below, add code to be run before the loading of this package"
+ (MCPackage named: ''Universes'') workingCopy unload'!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1054.mcz
==================== Summary ====================
Name: Morphic-mt.1054
Author: mt
Time: 24 November 2015, 9:33:49.122 am
UUID: 878e7207-e241-4d31-83ab-30ad76c71c11
Ancestors: Morphic-mt.1053
Do not create undoable commands everytime we type a separator. Having this, we can do in-place find/replace of sequences with whitespace again such as selecting "first" and replacing it with "at: 1" followed by hitting CTRL+J or CTRL+SHIFT+J to do the replacement again.
Note that commands will still end if the user changes the selection by, for example, moving the text cursor. Or when deleting things via backspace. Or when inserting stuff from the clipboard, or ... just look for senders of #closeTypeIn or #insertAndCloseTypeIn to get the idea.
=============== Diff against Morphic-mt.1053 ===============
Item was changed:
Editor subclass: #TextEditor
+ instanceVariableNames: 'model paragraph markBlock pointBlock beginTypeInIndex emphasisHere lastParenLocation otherInterval oldInterval typeAhead history'
- instanceVariableNames: 'model paragraph markBlock pointBlock beginTypeInIndex emphasisHere lastParenLocation otherInterval oldInterval typeAhead history previousKeyCharacter'
classVariableNames: 'AutoEnclose AutoIndent ChangeText FindText'
poolDictionaries: ''
category: 'Morphic-Text Support'!
TextEditor class
instanceVariableNames: 'cmdActions shiftCmdActions yellowButtonMenu shiftedYellowButtonMenu'!
!TextEditor commentStamp: '<historical>' prior: 0!
See comment in Editor.
My instances edit Text, this is, they support multiple lines and TextAttributes.
They have no specific facilities for editing Smalltalk code. Those are found in SmalltalkEditor.!
TextEditor class
instanceVariableNames: 'cmdActions shiftCmdActions yellowButtonMenu shiftedYellowButtonMenu'!
Item was changed:
----- Method: TextEditor>>dispatchOnKeyboardEvent: (in category 'typing support') -----
dispatchOnKeyboardEvent: aKeyboardEvent
"Carry out the action associated with this character, if any. Type-ahead is passed so some routines can flush or use it."
| honorCommandKeys typedChar |
typedChar := aKeyboardEvent keyCharacter.
- "Create a new command for separating characters. Do not create separate commands for consecutive separators."
- ((Character separators includes: typedChar)
- and: [(Character separators includes: previousKeyCharacter) not])
- ifTrue: [self closeTypeIn].
- previousKeyCharacter := typedChar.
-
"Handle one-line input fields."
(typedChar == Character cr and: [morph acceptOnCR])
ifTrue: [^ true].
"Clear highlight for last opened parenthesis."
self clearParens.
"Handle line breaks and auto indent."
typedChar == Character cr ifTrue: [
aKeyboardEvent controlKeyPressed
ifTrue: [^ self normalCharacter: aKeyboardEvent].
aKeyboardEvent shiftPressed
ifTrue: [^ self lf: aKeyboardEvent].
aKeyboardEvent commandKeyPressed
ifTrue: [^ self crlf: aKeyboardEvent].
^ self crWithIndent: aKeyboardEvent].
"Handle indent/outdent with selected text block."
typedChar == Character tab ifTrue: [
aKeyboardEvent shiftPressed
ifTrue: [self outdent: aKeyboardEvent. ^ true]
ifFalse: [self hasMultipleLinesSelected
ifTrue: [self indent: aKeyboardEvent. ^ true]]].
honorCommandKeys := Preferences cmdKeysInText.
(honorCommandKeys and: [typedChar == Character enter])
ifTrue: [^ self dispatchOnEnterWith: aKeyboardEvent].
"Special keys overwrite crtl+key combinations - at least on Windows. To resolve this
conflict, assume that keys other than cursor keys aren't used together with Crtl."
((self class specialShiftCmdKeys includes: aKeyboardEvent keyValue)
and: [aKeyboardEvent keyValue < 27])
ifTrue: [^ aKeyboardEvent controlKeyPressed
ifTrue: [self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]
ifFalse: [self
perform: (self class cmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]].
"backspace, and escape keys (ascii 8 and 27) are command keys"
((honorCommandKeys and: [aKeyboardEvent commandKeyPressed])
or: [self class specialShiftCmdKeys includes: aKeyboardEvent keyValue])
ifTrue: [ ^ aKeyboardEvent shiftPressed
ifTrue: [self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]
ifFalse: [self
perform: (self class cmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]].
"the control key can be used to invoke shift-cmd shortcuts"
(honorCommandKeys and: [ aKeyboardEvent controlKeyPressed ])
ifTrue: [^ self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent].
"Automatically enclose paired characters such as brackets."
(self class autoEnclose and: [self autoEncloseFor: typedChar])
ifTrue: [^ true].
self normalCharacter: aKeyboardEvent.
^ false!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1054.mcz
==================== Summary ====================
Name: Morphic-mt.1054
Author: mt
Time: 24 November 2015, 9:33:49.122 am
UUID: 878e7207-e241-4d31-83ab-30ad76c71c11
Ancestors: Morphic-mt.1053
Do not create undoable commands everytime we type a separator. Having this, we can do in-place find/replace of sequences with whitespace again such as selecting "first" and replacing it with "at: 1" followed by hitting CTRL+J or CTRL+SHIFT+J to do the replacement again.
Note that commands will still end if the user changes the selection by, for example, moving the text cursor. Or when deleting things via backspace. Or when inserting stuff from the clipboard, or ... just look for senders of #closeTypeIn or #insertAndCloseTypeIn to get the idea.
=============== Diff against Morphic-mt.1053 ===============
Item was changed:
Editor subclass: #TextEditor
+ instanceVariableNames: 'model paragraph markBlock pointBlock beginTypeInIndex emphasisHere lastParenLocation otherInterval oldInterval typeAhead history'
- instanceVariableNames: 'model paragraph markBlock pointBlock beginTypeInIndex emphasisHere lastParenLocation otherInterval oldInterval typeAhead history previousKeyCharacter'
classVariableNames: 'AutoEnclose AutoIndent ChangeText FindText'
poolDictionaries: ''
category: 'Morphic-Text Support'!
TextEditor class
instanceVariableNames: 'cmdActions shiftCmdActions yellowButtonMenu shiftedYellowButtonMenu'!
!TextEditor commentStamp: '<historical>' prior: 0!
See comment in Editor.
My instances edit Text, this is, they support multiple lines and TextAttributes.
They have no specific facilities for editing Smalltalk code. Those are found in SmalltalkEditor.!
TextEditor class
instanceVariableNames: 'cmdActions shiftCmdActions yellowButtonMenu shiftedYellowButtonMenu'!
Item was changed:
----- Method: TextEditor>>dispatchOnKeyboardEvent: (in category 'typing support') -----
dispatchOnKeyboardEvent: aKeyboardEvent
"Carry out the action associated with this character, if any. Type-ahead is passed so some routines can flush or use it."
| honorCommandKeys typedChar |
typedChar := aKeyboardEvent keyCharacter.
- "Create a new command for separating characters. Do not create separate commands for consecutive separators."
- ((Character separators includes: typedChar)
- and: [(Character separators includes: previousKeyCharacter) not])
- ifTrue: [self closeTypeIn].
- previousKeyCharacter := typedChar.
-
"Handle one-line input fields."
(typedChar == Character cr and: [morph acceptOnCR])
ifTrue: [^ true].
"Clear highlight for last opened parenthesis."
self clearParens.
"Handle line breaks and auto indent."
typedChar == Character cr ifTrue: [
aKeyboardEvent controlKeyPressed
ifTrue: [^ self normalCharacter: aKeyboardEvent].
aKeyboardEvent shiftPressed
ifTrue: [^ self lf: aKeyboardEvent].
aKeyboardEvent commandKeyPressed
ifTrue: [^ self crlf: aKeyboardEvent].
^ self crWithIndent: aKeyboardEvent].
"Handle indent/outdent with selected text block."
typedChar == Character tab ifTrue: [
aKeyboardEvent shiftPressed
ifTrue: [self outdent: aKeyboardEvent. ^ true]
ifFalse: [self hasMultipleLinesSelected
ifTrue: [self indent: aKeyboardEvent. ^ true]]].
honorCommandKeys := Preferences cmdKeysInText.
(honorCommandKeys and: [typedChar == Character enter])
ifTrue: [^ self dispatchOnEnterWith: aKeyboardEvent].
"Special keys overwrite crtl+key combinations - at least on Windows. To resolve this
conflict, assume that keys other than cursor keys aren't used together with Crtl."
((self class specialShiftCmdKeys includes: aKeyboardEvent keyValue)
and: [aKeyboardEvent keyValue < 27])
ifTrue: [^ aKeyboardEvent controlKeyPressed
ifTrue: [self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]
ifFalse: [self
perform: (self class cmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]].
"backspace, and escape keys (ascii 8 and 27) are command keys"
((honorCommandKeys and: [aKeyboardEvent commandKeyPressed])
or: [self class specialShiftCmdKeys includes: aKeyboardEvent keyValue])
ifTrue: [ ^ aKeyboardEvent shiftPressed
ifTrue: [self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]
ifFalse: [self
perform: (self class cmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent]].
"the control key can be used to invoke shift-cmd shortcuts"
(honorCommandKeys and: [ aKeyboardEvent controlKeyPressed ])
ifTrue: [^ self
perform: (self class shiftCmdActions at: aKeyboardEvent keyValue + 1)
with: aKeyboardEvent].
"Automatically enclose paired characters such as brackets."
(self class autoEnclose and: [self autoEncloseFor: typedChar])
ifTrue: [^ true].
self normalCharacter: aKeyboardEvent.
^ false!
Karl Ramberg uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-kfr.656.mcz
==================== Summary ====================
Name: Tools-kfr.656
Author: kfr
Time: 23 November 2015, 11:34:24.394 pm
UUID: 0ece22f7-03af-4926-b071-bbb3dec38d64
Ancestors: Tools-kfr.655
Might as well get the comment right on this one....
=============== Diff against Tools-kfr.655 ===============
Item was changed:
----- Method: Browser>>browseAllCommentsForClass (in category 'message functions') -----
browseAllCommentsForClass
+ "Opens a HelpBrowser on the class"
- "Inspect all instances of the selected class. 1/26/96 sw"
| myClass |
((myClass := self selectedClassOrMetaClass) isNil or: [myClass isTrait])
ifFalse: [HelpBrowser openOn: myClass theNonMetaClass]
!
Karl Ramberg uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-kfr.656.mcz
==================== Summary ====================
Name: Tools-kfr.656
Author: kfr
Time: 23 November 2015, 11:34:24.394 pm
UUID: 0ece22f7-03af-4926-b071-bbb3dec38d64
Ancestors: Tools-kfr.655
Might as well get the comment right on this one....
=============== Diff against Tools-kfr.655 ===============
Item was changed:
----- Method: Browser>>browseAllCommentsForClass (in category 'message functions') -----
browseAllCommentsForClass
+ "Opens a HelpBrowser on the class"
- "Inspect all instances of the selected class. 1/26/96 sw"
| myClass |
((myClass := self selectedClassOrMetaClass) isNil or: [myClass isTrait])
ifFalse: [HelpBrowser openOn: myClass theNonMetaClass]
!