Tobias Pape uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-topa.715.mcz ==================== Summary ==================== Name: System-topa.715 Author: topa Time: 2 April 2015, 10:57:12.703 am UUID: 2a92cef0-6bb4-47b3-994e-994a626d54c8 Ancestors: System-ul.714 Make SoundService registeredClasses class-based. Categorize in AppRegistry =============== Diff against System-ul.714 =============== Item was changed: + ----- Method: AppRegistry class>>appName (in category 'defaults') ----- - ----- Method: AppRegistry class>>appName (in category 'as yet unclassified') ----- appName "Defaults to the class name, which is probably good enough, but you could override this in subclasses if you want to." ^ self name! Item was changed: + ----- Method: AppRegistry class>>askForDefault (in category 'defaults') ----- - ----- Method: AppRegistry class>>askForDefault (in category 'as yet unclassified') ----- askForDefault self registeredClasses isEmpty ifTrue: [self inform: 'There are no ', self appName, ' applications registered.'. ^ default := nil]. self registeredClasses size = 1 ifTrue: [^ default := self registeredClasses anyOne]. default := UIManager default chooseFrom: (self registeredClasses collect: [:ea | ea nameForViewer]) values: self registeredClasses title: 'Which ', self appName, ' would you prefer?'. default ifNil: [default := self registeredClasses first]. ^default.! Item was changed: + ----- Method: AppRegistry class>>default (in category 'accessing') ----- - ----- Method: AppRegistry class>>default (in category 'as yet unclassified') ----- default ^ default ifNil: [self askForDefault]! Item was changed: + ----- Method: AppRegistry class>>default: (in category 'accessing') ----- - ----- Method: AppRegistry class>>default: (in category 'as yet unclassified') ----- default: aClassOrNil "Sets my default to aClassOrNil. Answers the old default." | oldDefault | oldDefault := default. aClassOrNil ifNotNil: [ self register: aClassOrNil ]. default := aClassOrNil. ^ oldDefault! Item was changed: + ----- Method: AppRegistry class>>defaultOrNil (in category 'accessing') ----- - ----- Method: AppRegistry class>>defaultOrNil (in category 'as yet unclassified') ----- defaultOrNil ^ default! Item was changed: + ----- Method: AppRegistry class>>register: (in category 'registration') ----- - ----- Method: AppRegistry class>>register: (in category 'as yet unclassified') ----- register: aProviderClass (self registeredClasses includes: aProviderClass) ifFalse: [default := nil. "so it'll ask for a new default, since if you're registering a new app you probably want to use it" self registeredClasses add: aProviderClass].! Item was changed: + ----- Method: AppRegistry class>>registeredClasses (in category 'registration') ----- - ----- Method: AppRegistry class>>registeredClasses (in category 'as yet unclassified') ----- registeredClasses ^ registeredClasses ifNil: [registeredClasses := OrderedCollection new]! Item was changed: + ----- Method: AppRegistry class>>removeObsolete (in category 'registration') ----- - ----- Method: AppRegistry class>>removeObsolete (in category 'as yet unclassified') ----- removeObsolete "AppRegistry removeObsoleteClasses" self registeredClasses copy do:[:cls| (cls class isObsolete or:[cls isBehavior and:[cls isObsolete]]) ifTrue:[self unregister: cls]]. self subclasses do:[:cls| cls removeObsolete].! Item was changed: + ----- Method: AppRegistry class>>unregister: (in category 'registration') ----- - ----- Method: AppRegistry class>>unregister: (in category 'as yet unclassified') ----- unregister: aProviderClass (default = aProviderClass) ifTrue: [default := nil]. self registeredClasses remove: aProviderClass ifAbsent: [].! Item was changed: ----- Method: DummySoundSystem class>>initialize (in category 'class initialization') ----- initialize + SoundService register: self.! - SoundService register: self new.! Item was changed: ----- Method: DummySoundSystem class>>unload (in category 'class initialization') ----- unload + SoundService unregister: self.! - SoundService registeredClasses do: [:ss | - (ss isKindOf: self) ifTrue: [SoundService unregister: ss]].! Item was added: + ----- Method: SoundService class>>default (in category 'accessing') ----- + default + + | cls | + cls := super default. + ^ cls new! Item was added: + ----- Method: SoundService class>>defaultOrNil (in category 'accessing') ----- + defaultOrNil + + ^ super defaultOrNil ifNotNil: [:default | + default isBehavior ifTrue: [default new] ifFalse: [default]] + ! Item was changed: + (PackageInfo named: 'System') postscript: '" Convert SoundService registeredClasses to classes if necessary " + [ | currentSoundSystem | + currentSoundSystem := SoundService defaultOrNil. + (SoundService registeredClasses copy collect: [:ss | + SoundService unregister: ss. + ss isBehavior + ifTrue: [ss] + ifFalse: [ss class]] + ) do: [:ssClass | + SoundService register: ssClass]. + SoundService default: (currentSoundSystem + ifNotNil: [:css| css isBehavior ifTrue: [css] ifFalse: [css class]]). + ] value'! - (PackageInfo named: 'System') postscript: '"Preferences already removed by hand, but whose state still lingers:" - LocaleID allInstances do: - [ : each | each - isoLanguage: each isoLanguage - isoCountry: (each isoCountry ifNil: [ each isoCountry ]) ]. - LanguageEnvironment knownEnvironments rehash. - Locale resetKnownLocales'! |
Free forum by Nabble | Edit this page |