Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.345.mcz
==================== Summary ====================
Name: Tools-cmm.345
Author: cmm
Time: 26 April 2011, 4:52:23.944 pm
UUID: 7a2540fa-74ca-48f1-80a9-0cb69ab07518
Ancestors: Tools-fbs.344
- Added hot-keys for browse of inst-var refs or defs, reducing the number required number of UI gestures for this from 3 to 1. This is something developers use 100 times per day!
- Rename "recent classes" to new-millenium nomenclature: "back". Changed hot-key accordingly.
=============== Diff against Tools-fbs.344 ===============
Item was changed:
----- Method: Browser>>systemCategoryMenu: (in category 'system category functions') -----
systemCategoryMenu: aMenu
self
menuHook: aMenu
named: #systemCategoryMenu
shifted: false.
Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
^ aMenu labels:
'find class... (f)
+ back... (b)
- recent classes... (r)
browse all
browse
printOut
fileOut
reorganize
alphabetize
update
add item...
rename...
remove'
lines: #(2 4 6 8)
selections:
#(findClass recent browseAllClasses buildSystemCategoryBrowser
printOutSystemCategory fileOutSystemCategory
editSystemCategories alphabetizeSystemCategories updateSystemCategories
addSystemCategory renameSystemCategory removeSystemCategory )!
Item was changed:
----- Method: StringHolder>>classListKey:from: (in category '*Tools') -----
classListKey: aChar from: view
"Respond to a Command key. I am a model with a list of classes and a
code pane, and I also have a listView that has a list of methods. The
view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findMethod].
+ aChar == $r ifTrue: [^ self browseInstVarRefs].
+ aChar == $d ifTrue: [^ self browseInstVarDefs].
- aChar == $r ifTrue: [^ self recent].
aChar == $h ifTrue: [^ self spawnHierarchy].
aChar == $x ifTrue: [^ self removeClass].
^ self messageListKey: aChar from: view!
Item was changed:
----- Method: StringHolder>>systemCatListKey:from: (in category '*Tools') -----
systemCatListKey: aChar from: view
"Respond to a Command key. I am a model with a code pane, and I also have a listView that has a list of methods. The view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findClass].
aChar == $x ifTrue: [^ self removeSystemCategory].
+ aChar == $b ifTrue: [^ self recent].
^ self classListKey: aChar from: view!
Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.345.mcz
==================== Summary ====================
Name: Tools-cmm.345
Author: cmm
Time: 26 April 2011, 4:52:23.944 pm
UUID: 7a2540fa-74ca-48f1-80a9-0cb69ab07518
Ancestors: Tools-fbs.344
- Added hot-keys for browse of inst-var refs or defs, reducing the number required number of UI gestures for this from 3 to 1. This is something developers use 100 times per day!
- Rename "recent classes" to new-millenium nomenclature: "back". Changed hot-key accordingly.
=============== Diff against Tools-fbs.344 ===============
Item was changed:
----- Method: Browser>>systemCategoryMenu: (in category 'system category functions') -----
systemCategoryMenu: aMenu
self
menuHook: aMenu
named: #systemCategoryMenu
shifted: false.
Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
^ aMenu labels:
'find class... (f)
+ back... (b)
- recent classes... (r)
browse all
browse
printOut
fileOut
reorganize
alphabetize
update
add item...
rename...
remove'
lines: #(2 4 6 8)
selections:
#(findClass recent browseAllClasses buildSystemCategoryBrowser
printOutSystemCategory fileOutSystemCategory
editSystemCategories alphabetizeSystemCategories updateSystemCategories
addSystemCategory renameSystemCategory removeSystemCategory )!
Item was changed:
----- Method: StringHolder>>classListKey:from: (in category '*Tools') -----
classListKey: aChar from: view
"Respond to a Command key. I am a model with a list of classes and a
code pane, and I also have a listView that has a list of methods. The
view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findMethod].
+ aChar == $r ifTrue: [^ self browseInstVarRefs].
+ aChar == $d ifTrue: [^ self browseInstVarDefs].
- aChar == $r ifTrue: [^ self recent].
aChar == $h ifTrue: [^ self spawnHierarchy].
aChar == $x ifTrue: [^ self removeClass].
^ self messageListKey: aChar from: view!
Item was changed:
----- Method: StringHolder>>systemCatListKey:from: (in category '*Tools') -----
systemCatListKey: aChar from: view
"Respond to a Command key. I am a model with a code pane, and I also have a listView that has a list of methods. The view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findClass].
aChar == $x ifTrue: [^ self removeSystemCategory].
+ aChar == $b ifTrue: [^ self recent].
^ self classListKey: aChar from: view!
Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.345.mcz
==================== Summary ====================
Name: Tools-cmm.345
Author: cmm
Time: 26 April 2011, 4:52:23.944 pm
UUID: 7a2540fa-74ca-48f1-80a9-0cb69ab07518
Ancestors: Tools-fbs.344
- Added hot-keys for browse of inst-var refs or defs, reducing the number required number of UI gestures for this from 3 to 1. This is something developers use 100 times per day!
- Rename "recent classes" to new-millenium nomenclature: "back". Changed hot-key accordingly.
=============== Diff against Tools-fbs.344 ===============
Item was changed:
----- Method: Browser>>systemCategoryMenu: (in category 'system category functions') -----
systemCategoryMenu: aMenu
self
menuHook: aMenu
named: #systemCategoryMenu
shifted: false.
Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
^ aMenu labels:
'find class... (f)
+ back... (b)
- recent classes... (r)
browse all
browse
printOut
fileOut
reorganize
alphabetize
update
add item...
rename...
remove'
lines: #(2 4 6 8)
selections:
#(findClass recent browseAllClasses buildSystemCategoryBrowser
printOutSystemCategory fileOutSystemCategory
editSystemCategories alphabetizeSystemCategories updateSystemCategories
addSystemCategory renameSystemCategory removeSystemCategory )!
Item was changed:
----- Method: StringHolder>>classListKey:from: (in category '*Tools') -----
classListKey: aChar from: view
"Respond to a Command key. I am a model with a list of classes and a
code pane, and I also have a listView that has a list of methods. The
view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findMethod].
+ aChar == $r ifTrue: [^ self browseInstVarRefs].
+ aChar == $d ifTrue: [^ self browseInstVarDefs].
- aChar == $r ifTrue: [^ self recent].
aChar == $h ifTrue: [^ self spawnHierarchy].
aChar == $x ifTrue: [^ self removeClass].
^ self messageListKey: aChar from: view!
Item was changed:
----- Method: StringHolder>>systemCatListKey:from: (in category '*Tools') -----
systemCatListKey: aChar from: view
"Respond to a Command key. I am a model with a code pane, and I also have a listView that has a list of methods. The view knows how to get the list and selection."
aChar == $f ifTrue: [^ self findClass].
aChar == $x ifTrue: [^ self removeSystemCategory].
+ aChar == $b ifTrue: [^ self recent].
^ self classListKey: aChar from: view!
Levente Uzonyi uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ul.462.mcz
==================== Summary ====================
Name: Monticello-ul.462
Author: ul
Time: 26 April 2011, 4:20:27.919 am
UUID: aa640223-b26d-b643-8d1d-8a1ac25deeaa
Ancestors: Monticello-cmm.461
- avoid unnecessary allocations in MCDirectoryRepository >> #allFileNames
- speed up MCFileBasedRepository >> #readableFileNames by caching the hashes of cached MCVersionNames and using a Set for #difference: computation
=============== Diff against Monticello-cmm.461 ===============
Item was changed:
----- Method: MCDirectoryRepository>>allFileNames (in category 'accessing') -----
allFileNames
+
+ ^directory entries
+ sort: [ :a :b | a modificationTime >= b modificationTime ];
+ replace: [ :ea | ea name asMCVersionName ]!
- ^ (directory entries sortBy: [:a :b | a modificationTime >= b modificationTime]) collect: [:ea | ea name asMCVersionName]!
Item was changed:
----- Method: MCFileBasedRepository>>readableFileNames (in category 'private-files') -----
readableFileNames
"Answer an Array of MCVersionNames representing every file in this repository; first the ones from the cache (whether or not they still exist in the repository) followed by every other file in this repository that Monticello can read."
+
+ | all cached new hashes cachedSet |
- | all cached new |
all := self allFileNamesOrCache. "from repository"
cached := self cachedFileNames. "in memory"
+ "The following is for caching the hashes of cached MCVersionNames."
+ hashes := IdentityDictionary new: cached size.
+ cached do: [ :each | hashes at: each put: each hash ].
+ cachedSet := PluggableSet new: cached size.
+ cachedSet hashBlock: [ :element | hashes at: element ifAbsent: [ 1 ] ].
+ cachedSet addAll: cached.
+ new := all difference: cachedSet.
- new := all difference: cached.
^ (cached asArray, new)
select: [:ea | self canReadFileNamed: ea]!
Levente Uzonyi uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ul.462.mcz
==================== Summary ====================
Name: Monticello-ul.462
Author: ul
Time: 26 April 2011, 4:20:27.919 am
UUID: aa640223-b26d-b643-8d1d-8a1ac25deeaa
Ancestors: Monticello-cmm.461
- avoid unnecessary allocations in MCDirectoryRepository >> #allFileNames
- speed up MCFileBasedRepository >> #readableFileNames by caching the hashes of cached MCVersionNames and using a Set for #difference: computation
=============== Diff against Monticello-cmm.461 ===============
Item was changed:
----- Method: MCDirectoryRepository>>allFileNames (in category 'accessing') -----
allFileNames
+
+ ^directory entries
+ sort: [ :a :b | a modificationTime >= b modificationTime ];
+ replace: [ :ea | ea name asMCVersionName ]!
- ^ (directory entries sortBy: [:a :b | a modificationTime >= b modificationTime]) collect: [:ea | ea name asMCVersionName]!
Item was changed:
----- Method: MCFileBasedRepository>>readableFileNames (in category 'private-files') -----
readableFileNames
"Answer an Array of MCVersionNames representing every file in this repository; first the ones from the cache (whether or not they still exist in the repository) followed by every other file in this repository that Monticello can read."
+
+ | all cached new hashes cachedSet |
- | all cached new |
all := self allFileNamesOrCache. "from repository"
cached := self cachedFileNames. "in memory"
+ "The following is for caching the hashes of cached MCVersionNames."
+ hashes := IdentityDictionary new: cached size.
+ cached do: [ :each | hashes at: each put: each hash ].
+ cachedSet := PluggableSet new: cached size.
+ cachedSet hashBlock: [ :element | hashes at: element ifAbsent: [ 1 ] ].
+ cachedSet addAll: cached.
+ new := all difference: cachedSet.
- new := all difference: cached.
^ (cached asArray, new)
select: [:ea | self canReadFileNamed: ea]!
Levente Uzonyi uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ul.462.mcz
==================== Summary ====================
Name: Monticello-ul.462
Author: ul
Time: 26 April 2011, 4:20:27.919 am
UUID: aa640223-b26d-b643-8d1d-8a1ac25deeaa
Ancestors: Monticello-cmm.461
- avoid unnecessary allocations in MCDirectoryRepository >> #allFileNames
- speed up MCFileBasedRepository >> #readableFileNames by caching the hashes of cached MCVersionNames and using a Set for #difference: computation
=============== Diff against Monticello-cmm.461 ===============
Item was changed:
----- Method: MCDirectoryRepository>>allFileNames (in category 'accessing') -----
allFileNames
+
+ ^directory entries
+ sort: [ :a :b | a modificationTime >= b modificationTime ];
+ replace: [ :ea | ea name asMCVersionName ]!
- ^ (directory entries sortBy: [:a :b | a modificationTime >= b modificationTime]) collect: [:ea | ea name asMCVersionName]!
Item was changed:
----- Method: MCFileBasedRepository>>readableFileNames (in category 'private-files') -----
readableFileNames
"Answer an Array of MCVersionNames representing every file in this repository; first the ones from the cache (whether or not they still exist in the repository) followed by every other file in this repository that Monticello can read."
+
+ | all cached new hashes cachedSet |
- | all cached new |
all := self allFileNamesOrCache. "from repository"
cached := self cachedFileNames. "in memory"
+ "The following is for caching the hashes of cached MCVersionNames."
+ hashes := IdentityDictionary new: cached size.
+ cached do: [ :each | hashes at: each put: each hash ].
+ cachedSet := PluggableSet new: cached size.
+ cachedSet hashBlock: [ :element | hashes at: element ifAbsent: [ 1 ] ].
+ cachedSet addAll: cached.
+ new := all difference: cachedSet.
- new := all difference: cached.
^ (cached asArray, new)
select: [:ea | self canReadFileNamed: ea]!