[squeak-dev] The Trunk: Tools-pre.882.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Sep 3 14:53:38 UTC 2019
Patrick Rein uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-pre.882.mcz
==================== Summary ====================
Name: Tools-pre.882
Author: pre
Time: 3 September 2019, 4:53:34.544361 pm
UUID: f593a50e-ceef-8045-b6b7-f36d63cb01dd
Ancestors: Tools-mt.881
Deprecates file reader registration methods on FileList
=============== Diff against Tools-mt.881 ===============
Item was removed:
- ----- Method: FileList class>>allRegisteredServices (in category 'file reader registration') -----
- allRegisteredServices
- "self allRegisteredServices"
-
- | col |
- col := OrderedCollection new.
- self registeredFileReaderClasses do: [:each | col addAll: (each services)].
- ^ col!
Item was removed:
- ----- Method: FileList class>>detectService:ifNone: (in category 'file reader registration') -----
- detectService: aBlock ifNone: anotherBlock
- "self detectService: [:each | each selector = #fileIn:] ifNone: [nil]"
-
- ^ self allRegisteredServices
- detect: aBlock
- ifNone: anotherBlock!
Item was removed:
- ----- Method: FileList class>>isReaderNamedRegistered: (in category 'file reader registration') -----
- isReaderNamedRegistered: aSymbol
- "return if a given reader class has been registered. Note that this is on purpose that the argument is
- a symbol and not a class"
-
- ^ (self registeredFileReaderClasses collect: [:each | each name]) includes: aSymbol
- !
Item was removed:
- ----- Method: FileList class>>itemsForDirectory: (in category 'file reader registration') -----
- itemsForDirectory: aFileDirectory
- "Answer a list of services appropriate when no file is selected."
-
- | services |
- services := OrderedCollection new.
- self registeredFileReaderClasses do: [:reader |
- reader ifNotNil: [services addAll: (reader fileReaderServicesForDirectory: aFileDirectory) ]].
- ^ services!
Item was removed:
- ----- Method: FileList class>>itemsForFile: (in category 'file reader registration') -----
- itemsForFile: fullName
- "Answer a list of services appropriate for a file of the given full name"
-
- | services suffix |
- suffix := self suffixOf: fullName.
- services := OrderedCollection new.
- self registeredFileReaderClasses do: [:reader |
- reader ifNotNil: [services addAll: (reader fileReaderServicesForFile: fullName suffix: suffix)]].
- ^ services!
Item was removed:
- ----- Method: FileList class>>registerFileReader: (in category 'file reader registration') -----
- registerFileReader: aProviderClass
- "register the given class as providing services for reading files"
-
- | registeredReaders |
- registeredReaders := self registeredFileReaderClasses.
- (registeredReaders includes: aProviderClass)
- ifFalse: [ registeredReaders addLast: aProviderClass ]!
Item was removed:
- ----- Method: FileList class>>registeredFileReaderClasses (in category 'file reader registration') -----
- registeredFileReaderClasses
- FileReaderRegistry := nil. "wipe it out"
- ^FileServices registeredFileReaderClasses
- !
Item was removed:
- ----- Method: FileList class>>suffixOf: (in category 'file reader registration') -----
- suffixOf: aName
- "Answer the file extension of the given file"
- ^ aName
- ifNil:
- ['']
- ifNotNil:
- [(FileDirectory extensionFor: aName) asLowercase]!
Item was removed:
- ----- Method: FileList class>>unregisterFileReader: (in category 'file reader registration') -----
- unregisterFileReader: aProviderClass
- "unregister the given class as providing services for reading files"
-
- self registeredFileReaderClasses remove: aProviderClass ifAbsent: [nil]!
Item was changed:
----- Method: FileList2 class>>endingSpecs (in category 'blue ui') -----
endingSpecs
"Answer a collection of specs to build the selective 'find anything' tool called by the Navigator. This version uses the services registry to do so."
"FileList2 morphicViewGeneralLoaderInWorld: World"
| categories specs rejects |
rejects := #(addFileToNewZip: compressFile: openInZipViewer: extractAllFrom: openOn:).
categories := #(
('Art' ('bmp' 'gif' 'jpg' 'jpeg' 'form' 'png' 'pcx' 'xbm' 'xpm' 'ppm' 'pbm'))
('Morphs' ('morph' 'morphs' 'sp'))
('Projects' ('extseg' 'project' 'pr'))
('MIDI' ('mid' 'midi'))
('Music' ('mp3'))
('Movies' ('movie' 'mpg' 'mpeg' 'qt' 'mov'))
('Flash' ('swf'))
).
"('Books' ('bo'))"
"('Code' ('st' 'cs'))"
"('TrueType' ('ttf'))"
"('3ds' ('3ds'))"
"('Tape' ('tape'))"
"('Wonderland' ('wrl'))"
"('HTML' ('htm' 'html'))"
categories first at: 2 put: ImageReadWriter allTypicalFileExtensions.
specs := OrderedCollection new.
categories do: [ :cat | | catSpecs catServices okExtensions services |
services := Dictionary new.
catSpecs := Array new: 3.
catServices := OrderedCollection new.
okExtensions := Set new.
+ cat second do: [ :ext | (FileServices itemsForFile: (FileDirectory default fullPathFor: ('fred.',ext))) do: [ :i |
- cat second do: [ :ext | (FileList itemsForFile: (FileDirectory default fullPathFor: ('fred.',ext))) do: [ :i |
(rejects includes: i selector) ifFalse: [
okExtensions add: ext.
services at: i label put: i ]]].
services do: [ :svc | catServices add: svc ].
services isEmpty ifFalse: [
catSpecs at: 1 put: cat first;
at: 2 put: okExtensions;
at: 3 put: catServices.
specs add: catSpecs ]
].
^specs
!
More information about the Squeak-dev
mailing list
|