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

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Fri Nov 7 07:01:16 UTC 2008


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

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

Name: SystemEditor-mtf.15
Author: mtf
Time: 7 November 2008, 12:00:57 am
UUID: 9dd3a7ec-f524-42b0-a509-8435a9854ecf
Ancestors: TraitEditor-mtf.14

Renamed from TraitEditor to SystemEditor-Traits

=============== Diff against TraitEditor-mtf.14 ===============

Item was added:
+ SystemOrganization addCategory: #'SystemEditor-Traits'!

Item was changed:
+ ----- Method: TraitComposition>>asTraitCompositionEditor (in category '*systemeditor-traits') -----
- ----- Method: TraitComposition>>asTraitCompositionEditor (in category '*TraitEditor') -----
  asTraitCompositionEditor
  	^ TraitCompositionEditor from: self!

Item was changed:
+ ----- Method: PureBehaviorEditor>>traitComposition: (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>traitComposition: (in category '*TraitEditor') -----
  traitComposition: aTraitCompositionOrCollection
  	self edInvalidateTrait.
  	self propertyAt: #traitComposition put: aTraitCompositionOrCollection!

Item was changed:
  PureBehaviorEditor subclass: #TraitDescriptionEditor
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!
  
  !TraitDescriptionEditor commentStamp: 'mtf 6/20/2008 22:21' prior: 0!
  A base class for both TraitEditor and ClassTraitEditor!

Item was changed:
+ ----- Method: ClassEditor>>braceWith:with: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceWith:with: (in category '*TraitEditor') -----
  braceWith: a with: b
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceWith: a with: b!

Item was changed:
+ ----- Method: SequenceableCollection>>asTraitCompositionEditor (in category '*systemeditor-traits') -----
- ----- Method: SequenceableCollection>>asTraitCompositionEditor (in category '*TraitEditor') -----
  asTraitCompositionEditor
  	^ self asTraitComposition asTraitCompositionEditor!

Item was changed:
+ ----- Method: PureBehaviorEditor>>traitCompositionOrEditor (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>traitCompositionOrEditor (in category '*TraitEditor') -----
  traitCompositionOrEditor
  "Answers my traitComposition as either a TraitComposition (if it has not changed) or as an editor (if it has changed, or subject is nil)"
  
  	^  self propertyAt: #traitComposition ifAbsent: [self subject
  		ifNil: [self traitComposition]
  		ifNotNil: [self subject traitComposition]]!

Item was changed:
+ ----- Method: SystemEditor>>edUsersOf:do: (in category '*systemeditor-traits') -----
- ----- Method: SystemEditor>>edUsersOf:do: (in category '*TraitEditor') -----
  edUsersOf: aTraitEditor do: aBlock
  "Answers all users of aTraitEditor, as editors"
  
  	self edUsersOrEditorsOf: aTraitEditor do: [:ea | aBlock value: (self edEditorFor: ea)]!

Item was changed:
+ ----- Method: PureBehaviorEditor>>hasTraitComposition (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>hasTraitComposition (in category '*TraitEditor') -----
  hasTraitComposition
  	(self hasProperty: #traitComposition) ifTrue: [^ true].
  	self subject ifNil: [^ false].
  	^ self subject hasTraitComposition!

Item was changed:
+ ----- Method: ClassEditor>>braceWith:with:with: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceWith:with:with: (in category '*TraitEditor') -----
  braceWith: a with: b with: c
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceWith: a with: b with: c!

Item was changed:
+ ----- Method: ClassEditor>>braceWith:with:with:with: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceWith:with:with:with: (in category '*TraitEditor') -----
  braceWith: a with: b with: c with: d
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceWith: a with: b with: c with: d!

Item was changed:
+ ----- Method: ClassEditor>>subclass:uses:instanceVariableNames:classVariableNames:poolDictionaries:category: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>subclass:uses:instanceVariableNames:classVariableNames:poolDictionaries:category: (in category '*TraitEditor') -----
  subclass: aSymbol uses: traitComposition instanceVariableNames: instString classVariableNames: classString poolDictionaries: poolString category: categoryString 
  	^ self subclass: aSymbol
  		instanceVariableNames: instString
  		classVariableNames: classString
  		poolDictionaries: poolString
  		category: categoryString;
  		setTraitCompositionFrom: traitComposition;
  		yourself
  	!

Item was changed:
+ ----- Method: PureBehaviorEditor>>setTraitCompositionFrom: (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>setTraitCompositionFrom: (in category '*TraitEditor') -----
  setTraitCompositionFrom: aTraitCompositionExpression
  	self setTraitComposition: aTraitCompositionExpression asTraitCompositionEditor!

Item was changed:
  AbstractEditor subclass: #TraitTransformationEditor
  	instanceVariableNames: 'transformation'
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!
  
  !TraitTransformationEditor commentStamp: 'mtf 10/24/2008 21:43' prior: 0!
  I am a minimal wrapper around a TraitTransformation to support building. I have no subject!

Item was changed:
+ ----- Method: ClassEditor>>named:uses:category: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>named:uses:category: (in category '*TraitEditor') -----
  named: aName uses: aTraitComposition category: aCategory
  	"This allows the following doit to be executed in the context of a SystemEditor: 
  	Trait named: uses: category: "
  	self name == #Trait ifFalse: [self shouldNotImplement].
  	^ TraitEditor named: aName uses: aTraitComposition category: aCategory env: self environment!

Item was changed:
+ ----- Method: ClassEditor>>braceWith: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceWith: (in category '*TraitEditor') -----
  braceWith: a
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceWith: a!

Item was changed:
+ ----- Method: PureBehaviorEditor>>edUsesTrait: (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>edUsesTrait: (in category '*TraitEditor') -----
  edUsesTrait: aTraitEditor
  	self hasTraitComposition ifFalse: [^ false].
  	self traitCompositionOrEditor traits do: [:ea |
  		ea == aTraitEditor				ifTrue: [^ true].
  		ea == aTraitEditor subject	ifTrue: [^ true]].
  	^ false!

Item was changed:
+ ----- Method: SystemEditor>>edUsersOf: (in category '*systemeditor-traits') -----
- ----- Method: SystemEditor>>edUsersOf: (in category '*TraitEditor') -----
  edUsersOf: aTraitEditor
  "Answers all subclasses of aTraitEditor, as editors"
  
  	^ (self edUsersOrEditorsOf: aTraitEditor) collect: [:ea | self edEditorFor: ea]!

Item was changed:
  AbstractEditor subclass: #TraitCompositionEditor
  	instanceVariableNames: 'subject transformations parent'
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!
  
  !TraitCompositionEditor commentStamp: 'mtf 10/20/2008 11:22' prior: 0!
  I store the new version of a TraitComposition. I don't use any kind of diff between the subject and product. For now at least, I don't use a TraitTransformationEditor, but use plain TraitTransforms which include TraitEditors
  
  Unlike most editors, I am not persistent. Transient instances of myself are usually built, and only then is my subject and environment set. This is how TraitDescriptions work, so, that is how I work!

Item was changed:
+ ----- Method: ClassEditor>>braceStream: (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceStream: (in category '*TraitEditor') -----
  braceStream: nElements
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceStream: nElements!

Item was changed:
+ ----- Method: TComposingDescription>>asTraitCompositionEditor (in category '*systemeditor-traits') -----
- ----- Method: TComposingDescription>>asTraitCompositionEditor (in category '*TraitEditor') -----
  asTraitCompositionEditor
  	^TraitCompositionEditor with: self!

Item was changed:
+ ----- Method: SystemEditor>>edUsersOrEditorsOf:do: (in category '*systemeditor-traits') -----
- ----- Method: SystemEditor>>edUsersOrEditorsOf:do: (in category '*TraitEditor') -----
  edUsersOrEditorsOf: aTraitEditor do: aBlock
  "Evaluate aBlock for each user of aTraitEditor, as either an editor (if it has changed), or as a class/trait (if it has not changed). Does not add any items to my additions list"
  
  	| users |
  	users := aTraitEditor subject
  		ifNil: [IdentitySet new]
  		ifNotNilDo: [:trait | trait users].
  	additions do: [:classEditor | {classEditor. classEditor class} do: [:ea |
  		users remove: ea subject ifAbsent: [].
  		(ea traitCompositionIncludes: aTraitEditor) ifTrue: [aBlock value: ea]]].
  	removals do: [ :removedKey | users remove: (subject at: removedKey) ifAbsent: []].
  	users do: aBlock!

Item was changed:
+ ----- Method: PureBehaviorEditor>>edInvalidateTrait (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>edInvalidateTrait (in category '*TraitEditor') -----
  edInvalidateTrait
  "Mark myself as having had a trait modified"
  
  	self decorateWith: TraitCompositionDecorator!

Item was changed:
+ ----- Method: TraitTransformation>>asTraitCompositionEditor (in category '*systemeditor-traits') -----
- ----- Method: TraitTransformation>>asTraitCompositionEditor (in category '*TraitEditor') -----
  asTraitCompositionEditor
  	^TraitCompositionEditor with: (TraitTransformationEditor from: self)!

Item was changed:
  ClassDecorator subclass: #UserListDecorator
  	instanceVariableNames: 'parent additions removals subject'
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!
  
  !UserListDecorator commentStamp: 'mtf 11/5/2008 13:45' prior: 0!
  I edit the users list of a Trait!

Item was changed:
  TraitDescriptionEditor subclass: #TraitEditor
  	instanceVariableNames: 'name classTrait category'
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!

Item was changed:
+ ----- Method: PureBehaviorEditor>>traitComposition (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>traitComposition (in category '*TraitEditor') -----
  traitComposition
  "Answers an editor on my traitComposition, creating it if necessary"
  
  	^  self propertyAt: #traitComposition 
  		ifAbsentPut: [self edInvalidateTrait.
  			TraitCompositionEditor
  				on: (self subject ifNotNil: [self subject traitComposition])
  				for: self]!

Item was changed:
+ ----- Method: SystemEditor>>edUsersOrEditorsOf: (in category '*systemeditor-traits') -----
- ----- Method: SystemEditor>>edUsersOrEditorsOf: (in category '*TraitEditor') -----
  edUsersOrEditorsOf: aTraitEditor
  "Answer all users of aTraitEditor, as either an editor (if it has changed), or as a class/trait (if it has not changed). Does not add any items to my additions list"
  
  	| collection |
  	collection := OrderedCollection new.
  	self edUsersOrEditorsOf: aTraitEditor do: [:ea | collection add: ea].
  	^ collection!

Item was changed:
+ ----- Method: ClassEditor>>braceWithNone (in category '*systemeditor-traits') -----
- ----- Method: ClassEditor>>braceWithNone (in category '*TraitEditor') -----
  braceWithNone
  "Allows brace arrays used in TraitCompositions to execute in an editor context"
  
  	^ self subject braceWithNone!

Item was changed:
  Object subclass: #ClassTraitEditor
  	instanceVariableNames: 'baseTrait'
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!

Item was changed:
+ ----- Method: PureBehaviorEditor>>setTraitComposition: (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>setTraitComposition: (in category '*TraitEditor') -----
  setTraitComposition: aTraitComposition
  	(self hasTraitComposition not and: [aTraitComposition isEmpty]) ifTrue: [^self].
  
  	aTraitComposition
  		setSubject: (self subject ifNotNil: [self subject traitComposition])
  		parent: self.
  	self traitComposition: aTraitComposition!

Item was changed:
+ ----- Method: TraitDescription>>asTraitCompositionEditor (in category '*systemeditor-traits') -----
- ----- Method: TraitDescription>>asTraitCompositionEditor (in category '*TraitEditor') -----
  asTraitCompositionEditor
  	^TraitCompositionEditor with: self!

Item was changed:
  ClassDecorator subclass: #TraitCompositionDecorator
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'SystemEditor-Traits'!
- 	category: 'TraitEditor'!

Item was changed:
+ ----- Method: PureBehaviorEditor>>traitCompositionIncludes: (in category '*systemeditor-traits') -----
- ----- Method: PureBehaviorEditor>>traitCompositionIncludes: (in category '*TraitEditor') -----
  traitCompositionIncludes: aTraitEditor
  	^ self == aTraitEditor or: [self edUsesTrait: aTraitEditor]!

Item was removed:
- SystemOrganization addCategory: #TraitEditor!



More information about the Packages mailing list