[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