[Pkg] SystemEditor: SystemEditor-mtf.106.mcz

squeaksource-noreply at iam.unibe.ch squeaksource-noreply at iam.unibe.ch
Fri Jul 11 20:05:20 UTC 2008


A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.106.mcz

==================== Summary ====================

Name: SystemEditor-mtf.106
Author: mtf
Time: 11 July 2008, 1:04:45 pm
UUID: a50dbaff-7f4e-4770-a72d-9ecb2c462d7d
Ancestors: SystemEditor-mtf.105

some more refactoring to move stuff into AbstractEditor. Editor creation is now in there mostly

=============== Diff against SystemEditor-mtf.105 ===============

Item was changed:
+ ----- Method: ClassEditor class>>forNewClassNamed: (in category '*SystemEditor-Tests') -----
- ----- Method: ClassEditor class>>forNewClassNamed: (in category 'instance creation') -----
  forNewClassNamed: aSymbol
  	^ self named: aSymbol for: SystemEditor new!

Item was added:
+ ----- Method: AbstractEditor>>edPrepareMigration: (in category 'building') -----
+ edPrepareMigration: txn
+ 	"Adds migrators to the given MigrationTransaction, as necessary to support converting my subject to my product"
+ 	^ self!

Item was added:
+ ----- Method: AbstractEditor>>edRegisterEditor (in category 'initialize-release') -----
+ edRegisterEditor
+ 	"Register myself with my container, which is presumed to be a DictionaryEditor"
+ 	self environment edRegisterEditor: self!

Item was changed:
  ----- Method: AbstractEditor class>>on:ifNotHandled: (in category 'as yet unclassified') -----
+ on: subject ifNotHandled: aBlock
+ 	^ self on: subject for: nil ifNotHandled: aBlock!
- on: anObject ifNotHandled: aBlock
- 	^ self on: anObject for: nil ifNotHandled: aBlock!

Item was changed:
  ----- Method: SystemEditor>>edRegisterEditor: (in category 'building') -----
+ edRegisterEditor: anEditor 
+ 	editors at: anEditor name put: anEditor!
- edRegisterEditor: aClassEditor 
- 	editors at: aClassEditor name put: aClassEditor!

Item was changed:
  ----- Method: AbstractEditor class>>on:for:ifNotHandled: (in category 'as yet unclassified') -----
+ on: subject for: collectionEditor ifNotHandled: aBlock
- on: anObject for: collectionEditor ifNotHandled: aBlock
  	"Try to find the most specialized subclass willing to edit,  for extensibility"
  	| editor |
  	self subclassesDo: [:class |
+ 		editor := class on: subject for: collectionEditor ifNotHandled: [nil].
- 		editor := class on: anObject for: collectionEditor ifNotHandled: [nil].
  		editor ifNotNil: [^ editor]].
+ 	(subject isNil "nil subject is always permitted; it means new object"
+ 		or: [self canEdit: subject for: collectionEditor])
+ 		ifTrue: [^ self new on: subject for: collectionEditor].
- 	(self canEdit: anObject for: collectionEditor) ifTrue: [^ self new on: anObject for: collectionEditor].
  	^ aBlock value!

Item was added:
+ ----- Method: AbstractEditor class>>named:for: (in category 'as yet unclassified') -----
+ named: aName for: aDictionaryEditor
+ 	"Answers a new or existing instance with the given name, and installs it, if necessary"
+ 	^ aDictionaryEditor at: aName ifAbsent: [
+ 		(self on: nil for: aDictionaryEditor)
+ 			setName: aName;
+ 			edRegisterEditor;
+ 			yourself]!

Item was changed:
  ----- Method: AbstractEditor class>>on:for: (in category 'as yet unclassified') -----
+ on: subject for: collectionEditor
+ 	^ self on: subject for: collectionEditor ifNotHandled: [self error:
+ 		self class name, ' does not know how to edit ', subject printString]!
- on: anObject for: collectionEditor
- 	^ self on: anObject for: collectionEditor ifNotHandled: [self error:
- 		self class name, ' does not know how to edit ', anObject printString]!

Item was removed:
- ----- Method: ClassEditor>>edRegisterEditor (in category 'initialize-release') -----
- edRegisterEditor
- 
- 	system edRegisterEditor: self!

Item was removed:
- ----- Method: ClassEditor class>>named:for: (in category 'instance creation') -----
- named: aSymbol for: aSystemEditor
- 	| subject inst |
- 	subject := aSystemEditor edClassAt: aSymbol ifAbsent: [nil].
- 	inst := self on: subject for: aSystemEditor.
- 	subject ifNil: [inst setName: aSymbol].
- 	inst edRegisterEditor. 
- 	^ inst!



More information about the Packages mailing list