[Pkg] SystemEditor: SystemEditor-mtf.116.mcz
squeaksource-noreply at iam.unibe.ch
squeaksource-noreply at iam.unibe.ch
Thu Aug 14 20:55:38 UTC 2008
A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.116.mcz
==================== Summary ====================
Name: SystemEditor-mtf.116
Author: mtf
Time: 14 August 2008, 1:55:15 pm
UUID: 03bb2860-3b03-40b3-be9c-883924a75dad
Ancestors: SystemEditor-mtf.115
created DictionaryEditor to be a common superclass to both SystemEditor and MethodDictionaryEditor, and renamed the SystemEditor ivar "editors" to "additions", for uniformity
=============== Diff against SystemEditor-mtf.115 ===============
Item was added:
+ AbstractEditor subclass: #DictionaryEditor
+ instanceVariableNames: 'subject additions removals'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'SystemEditor-Editors'!
Item was changed:
+ Dictionary subclass: #MethodDictionaryEditor
+ instanceVariableNames: 'classEditor'
- Object subclass: #MethodDictionaryEditor
- instanceVariableNames: 'classEditor subject additions removals'
classVariableNames: ''
poolDictionaries: ''
category: 'SystemEditor-Editors'!
Item was changed:
----- Method: SystemEditor>>includesKey: (in category 'reflecting') -----
includesKey: aSymbol
(removals includes: aSymbol) ifTrue: [^ false].
+ (additions includesKey: aSymbol) ifTrue: [^ true].
- (editors includesKey: aSymbol) ifTrue: [^ true].
subject ifNil: [^ false].
(subject includesKey: aSymbol) ifTrue: [^ true].
^ false!
Item was changed:
----- Method: SystemEditor>>at:ifAbsent: (in category 'reflecting') -----
at: aSymbol ifAbsent: aBlock
| newEditor |
(removals includes: aSymbol) ifTrue: [^ aBlock value].
+ additions at: aSymbol ifPresent: [:editor | ^ editor].
- editors at: aSymbol ifPresent: [:editor | ^ editor].
subject at: aSymbol ifPresent: [:obj |
newEditor := AbstractEditor on: obj for: self ifNotHandled: [^ obj].
^ newEditor edRegisterEditor].
^ aBlock value!
Item was changed:
----- Method: SystemEditor>>keyAtIdentityValue:ifAbsent: (in category 'reflecting') -----
keyAtIdentityValue: anObject ifAbsent: aBlock
+ ^ additions
- ^ editors
keyAtIdentityValue: anObject
ifAbsent: [subject
keyAtIdentityValue: anObject
ifAbsent: aBlock]!
Item was changed:
----- Method: SystemEditor>>edPrepareMigration: (in category 'building') -----
edPrepareMigration: txn
showProgress
+ ifFalse: [additions do: [:ea | ea edPrepareMigration: txn]]
+ ifTrue: [additions do: [:ea | ea edPrepareMigration: txn] displayingProgress: 'Preparing Transaction...']!
- ifFalse: [editors do: [:ea | ea edPrepareMigration: txn]]
- ifTrue: [editors do: [:ea | ea edPrepareMigration: txn] displayingProgress: 'Preparing Transaction...']!
Item was changed:
----- Method: SystemEditor>>editors (in category 'accessing') -----
editors
+ ^ additions!
- ^ editors!
Item was changed:
+ DictionaryEditor subclass: #SystemEditor
+ instanceVariableNames: 'organization showProgress'
- Object subclass: #SystemEditor
- instanceVariableNames: 'subject editors removals organization showProgress'
classVariableNames: ''
poolDictionaries: ''
category: 'SystemEditor-Editors'!
Item was changed:
----- Method: SystemEditor>>hasBindingThatBeginsWith: (in category 'reflecting') -----
hasBindingThatBeginsWith: aString
"Answer true if the receiver has a key that begins with aString, false otherwise"
+ additions keysDo:[:each |
- editors keysDo:[:each |
((each beginsWith: aString)
and: [(removals includes: each) not]) ifTrue:[^true]].
subject keysDo:[:each |
((each beginsWith: aString)
and: [(removals includes: each) not]) ifTrue:[^true]].
^false!
Item was changed:
----- Method: SystemEditor>>edRecategorize (in category 'building') -----
edRecategorize
+ additions do:
- editors do:
[:ea |
ea edCategory ifNotNilDo:
[:cat |
SystemOrganization
classify: ea name
under: cat]]!
Item was changed:
----- Method: SystemEditor>>edExpandEditors (in category 'building') -----
edExpandEditors
| queue editor |
+ queue := additions values asOrderedCollection.
- queue := editors values asOrderedCollection.
[queue isEmpty] whileFalse:
[editor := queue removeFirst.
editor subject ifNotNil: [
queue addAll: editor edExpand]]
!
Item was changed:
----- Method: SystemEditor>>edRemoveClassNamed: (in category 'editing') -----
edRemoveClassNamed: aSymbol
+ additions removeKey: aSymbol ifAbsent: [].
- editors removeKey: aSymbol ifAbsent: [].
removals add: aSymbol!
Item was changed:
----- Method: SystemEditor>>setSubject: (in category 'initialize-release') -----
setSubject: anEnvironment
subject := anEnvironment.
+ additions := IdentityDictionary new.
- editors := IdentityDictionary new.
removals := Set new.!
Item was changed:
----- Method: SystemEditor>>edRegisterEditor: (in category 'building') -----
edRegisterEditor: anEditor
+ additions at: anEditor name put: anEditor!
- editors at: anEditor name put: anEditor!
Item was changed:
----- Method: SystemEditor>>validate (in category 'building') -----
validate
+ additions do: [:ea | ea validate]!
- editors do: [:ea | ea validate]!
Item was changed:
----- Method: SystemEditor>>edSubclassesOf: (in category 'building') -----
edSubclassesOf: anEditor
| subeditors |
subeditors := OrderedCollection new.
anEditor subject ifNotNilDo:
[ :class |
subeditors addAll: (class subclasses collect: [ :ea | self edEditorFor: ea ]) ].
+ additions do: [ :ea | ea superclassOrEditor == anEditor ifTrue: [ subeditors add: ea ] ].
- editors do: [ :ea | ea superclassOrEditor == anEditor ifTrue: [ subeditors add: ea ] ].
^ subeditors asArray!
Item was changed:
----- Method: SystemEditor>>edPrepareExport: (in category 'building') -----
edPrepareExport: exporter
showProgress
+ ifFalse: [additions do: [:ea | ea edPrepareExport: exporter]]
+ ifTrue: [additions do: [:ea | ea edPrepareExport: exporter] displayingProgress: 'Preparing Classes...']!
- ifFalse: [editors do: [:ea | ea edPrepareExport: exporter]]
- ifTrue: [editors do: [:ea | ea edPrepareExport: exporter] displayingProgress: 'Preparing Classes...']!
Item was changed:
----- Method: SystemEditor>>associationAt:ifAbsent: (in category 'reflecting') -----
associationAt: aSymbol ifAbsent: aBlock
self at: aSymbol ifAbsent: [^ aBlock value]. "first create any editors necessary"
+ ^ additions associationAt: aSymbol
- ^ editors associationAt: aSymbol
ifAbsent: [subject associationAt: aSymbol]!
More information about the Packages
mailing list