[squeak-dev] The Trunk: ST80-nice.136.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Aug 4 21:14:41 UTC 2011
Nicolas Cellier uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-nice.136.mcz
==================== Summary ====================
Name: ST80-nice.136
Author: nice
Time: 4 August 2011, 10:43:00.836 am
UUID: 6f8b2f4c-8c8c-48a8-ba32-bb5b37d827d0
Ancestors: ST80-ul.135
#shiftEnclose: is hardcoding the keyboard layout, which is not compatible with foreign keyboards and modern VM, and prevents correct enclosing to work.
This version rather use a normal #enclose:
A (ParagraphEditor initialize) postscrip is necessary.
=============== Diff against ST80-ul.135 ===============
Item was changed:
----- Method: ParagraphEditor class>>initializeCmdKeyShortcuts (in category 'keyboard shortcut tables') -----
initializeCmdKeyShortcuts
"Initialize the (unshifted) command-key (or alt-key) shortcut table."
"NOTE: if you don't know what your keyboard generates, use Sensor kbdTest"
"ParagraphEditor initialize"
| cmdMap |
cmdMap := Array new: 256 withAll: #noop:. "use temp in case of a crash"
cmdMap at: 1 + 1 put: #cursorHome:. "home key"
cmdMap at: 4 + 1 put: #cursorEnd:. "end key"
cmdMap at: 8 + 1 put: #backspace:. "ctrl-H or delete key"
cmdMap at: 11 + 1 put: #cursorPageUp:. "page up key"
cmdMap at: 12 + 1 put: #cursorPageDown:. "page down key"
cmdMap at: 13 + 1 put: #crWithIndent:. "cmd-Return"
cmdMap at: 27 + 1 put: #offerMenuFromEsc:. "escape key"
cmdMap at: 28 + 1 put: #cursorLeft:. "left arrow key"
cmdMap at: 29 + 1 put: #cursorRight:. "right arrow key"
cmdMap at: 30 + 1 put: #cursorUp:. "up arrow key"
cmdMap at: 31 + 1 put: #cursorDown:. "down arrow key"
cmdMap at: 32 + 1 put: #selectWord:. "space bar key"
cmdMap at: 127 + 1 put: #forwardDelete:. "del key"
'0123456789-='
do: [:char | cmdMap at: char asciiValue + 1 put: #changeEmphasis:].
'([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].
- cmdMap at: $, asciiValue + 1 put: #shiftEnclose:.
-
"triplet = {character. comment selector. novice appropiated}"
#(
($a #selectAll: true)
($b #browseIt: false)
($c #copySelection: true)
($d #doIt: false)
($e #exchange: true)
($f #find: true)
($g #findAgain: true)
($h #setSearchString: true)
($i #inspectIt: false)
($j #doAgainOnce: true)
($k #offerFontMenu: true)
($l #cancel: true)
($m #implementorsOfIt: false)
($n #sendersOfIt: false)
($o #spawnIt: false)
($p #printIt: false)
($q #querySymbol: false)
($s #save: true)
($t #tempCommand: false)
($u #align: true)
($v #paste: true)
($w #backWord: true)
($x #cut: true)
($y #swapChars: true)
($z #undo: true)
)
select:[:triplet | Preferences noviceMode not or:[triplet third]]
thenDo:[:triplet | cmdMap at: triplet first asciiValue + 1 put: triplet second].
CmdActions := cmdMap.
!
Item was changed:
----- Method: ParagraphEditor class>>initializeShiftCmdKeyShortcuts (in category 'keyboard shortcut tables') -----
initializeShiftCmdKeyShortcuts
"Initialize the shift-command-key (or control-key) shortcut table."
"NOTE: if you don't know what your keyboard generates, use Sensor kbdTest"
"wod 11/3/1998: Fix setting of cmdMap for shifted keys to actually use the
capitalized versions of the letters.
TPR 2/18/99: add the plain ascii values back in for those VMs that don't return the shifted values."
| cmdMap |
"shift-command and control shortcuts"
cmdMap := Array new: 256 withAll: #noop:. "use temp in case of a crash"
cmdMap at: ( 1 + 1) put: #cursorHome:. "home key"
cmdMap at: ( 4 + 1) put: #cursorEnd:. "end key"
cmdMap at: ( 8 + 1) put: #forwardDelete:. "ctrl-H or delete key"
cmdMap at: (11 + 1) put: #cursorPageUp:. "page up key"
cmdMap at: (12 + 1) put: #cursorPageDown:. "page down key"
cmdMap at: (13 + 1) put: #crWithIndent:. "ctrl-Return"
cmdMap at: (27 + 1) put: #offerMenuFromEsc:. "escape key"
cmdMap at: (28 + 1) put: #cursorLeft:. "left arrow key"
cmdMap at: (29 + 1) put: #cursorRight:. "right arrow key"
cmdMap at: (30 + 1) put: #cursorUp:. "up arrow key"
cmdMap at: (31 + 1) put: #cursorDown:. "down arrow key"
cmdMap at: (32 + 1) put: #selectWord:. "space bar key"
cmdMap at: (45 + 1) put: #changeEmphasis:. "cmd-sh-minus"
cmdMap at: (61 + 1) put: #changeEmphasis:. "cmd-sh-plus"
cmdMap at: (127 + 1) put: #forwardDelete:. "del key"
+ "On some keyboards, these characters require a shift"
+ '([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].
+
- "Note: Command key overrides shift key, so, for example, cmd-shift-9 produces $9 not $("
- '9[,''' do: [ :char | cmdMap at: (char asciiValue + 1) put: #shiftEnclose: ]. "({< and double-quote"
- "Note: Must use cmd-9 or ctrl-9 to get '()' since cmd-shift-9 is a Mac FKey command."
-
"NB: sw 12/9/2001 commented out the idiosyncratic line just below, which was grabbing shift-esc in the text editor and hence which argued with the wish to have shift-esc be a universal gesture for escaping the local context and calling up the desktop menu."
"cmdMap at: (27 + 1) put: #shiftEnclose:." "ctrl-["
"'""''(' do: [ :char | cmdMap at: (char asciiValue + 1) put: #enclose:]."
"triplet = {character. comment selector. novice appropiated}"
#(
($a argAdvance: false)
($b browseItHere: false)
($c compareToClipboard: false)
($d duplicate: true)
($e methodStringsContainingIt: false)
($f displayIfFalse: false)
($g fileItIn: false)
($h cursorTopHome: true)
($i exploreIt: false)
($j doAgainMany: true)
($k changeStyle: true)
($l outdent: true)
($m selectCurrentTypeIn: true)
($n referencesToIt: false)
($p makeProjectLink: true)
($r indent: true)
($s search: true)
($t displayIfTrue: false)
($u changeLfToCr: false)
($v pasteInitials: false)
($w methodNamesContainingIt: false)
($x makeLowercase: true)
($y makeUppercase: true)
($z makeCapitalized: true)
)
select:[:triplet | Preferences noviceMode not or:[triplet third]]
thenDo:[:triplet |
cmdMap at: (triplet first asciiValue + 1) put: triplet second. "plain keys"
cmdMap at: (triplet first asciiValue - 32 + 1) put: triplet second. "shifted keys"
cmdMap at: (triplet first asciiValue - 96 + 1) put: triplet second. "ctrl keys"
].
ShiftCmdActions := cmdMap!
Item was removed:
- ----- Method: ParagraphEditor>>shiftEnclose: (in category 'editing keys') -----
- shiftEnclose: characterStream
- "Insert or remove bracket characters around the current selection.
- Flushes typeahead."
-
- | char left right startIndex stopIndex oldSelection which text |
- char := sensor keyboard.
- char = $9 ifTrue: [ char := $( ].
- char = $, ifTrue: [ char := $< ].
- char = $[ ifTrue: [ char := ${ ].
- char = $' ifTrue: [ char := $" ].
- char asciiValue = 27 ifTrue: [ char := ${ ]. "ctrl-["
-
- self closeTypeIn.
- startIndex := self startIndex.
- stopIndex := self stopIndex.
- oldSelection := self selection.
- which := '([<{|"''' indexOf: char ifAbsent: [1].
- left := '([<{|"''' at: which.
- right := ')]>}|"''' at: which.
- text := paragraph text.
- ((startIndex > 1 and: [stopIndex <= text size])
- and:
- [(text at: startIndex-1) = left and: [(text at: stopIndex) = right]])
- ifTrue:
- ["already enclosed; strip off brackets"
- self selectFrom: startIndex-1 to: stopIndex.
- self replaceSelectionWith: oldSelection]
- ifFalse:
- ["not enclosed; enclose by matching brackets"
- self replaceSelectionWith:
- (Text string: (String with: left), oldSelection string ,(String with: right)
- emphasis: emphasisHere).
- self selectFrom: startIndex+1 to: stopIndex].
- ^true!
Item was changed:
+ (PackageInfo named: 'ST80') postscript: '"below, add code to be run after the loading of this package"
+ ParagraphEditor initialize.'!
- (PackageInfo named: 'ST80') postscript: '"below, add code to be run after the loading of this package"'!
More information about the Squeak-dev
mailing list
|