[Pkg] SystemEditor: TraitEditor-mtf.13.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Thu Oct 30 06:00:22 UTC 2008
A new version of TraitEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/TraitEditor-mtf.13.mcz
==================== Summary ====================
Name: TraitEditor-mtf.13
Author: mtf
Time: 29 October 2008, 11:00:10 pm
UUID: b8c20879-a3f0-48a1-9a19-72fe7fce711d
Ancestors: TraitEditor-mtf.12
filled in more about TraitComposition building
=============== Diff against TraitEditor-mtf.12 ===============
Item was added:
+ ----- Method: TraitCompositionEditor>>assertValidUser: (in category 'reflecting') -----
+ assertValidUser: anEditor
+ "Assert that this trait composition set for aBehavior
+ does not introduce a cycle."
+
+ self allTraitsOrEditorsDo: [:trait | trait == anEditor ifTrue: [
+ TraitCompositionException signal: 'Cycle in compositions: The composition (in)directly includes this trait!!']]!
Item was added:
+ ----- Method: TraitCompositionDecorator>>traitComposition (in category 'accessing') -----
+ traitComposition
+ ^ editor traitComposition!
Item was changed:
----- Method: PureBehaviorEditor>>traitComposition: (in category '*TraitEditor') -----
traitComposition: aTraitCompositionOrCollection
+ self edInvalidateTrait.
- self decorateWith: TraitCompositionDecorator.
self propertyAt: #traitComposition put: aTraitCompositionOrCollection!
Item was added:
+ ----- Method: TraitTransformationEditor class>>from: (in category 'instance creation') -----
+ from: aTraitTransformation
+ ^ self new from: aTraitTransformation!
Item was changed:
----- 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;
- traitComposition: traitComposition;
yourself
!
Item was added:
+ ----- Method: PureBehaviorEditor>>setTraitCompositionFrom: (in category '*TraitEditor') -----
+ setTraitCompositionFrom: aTraitCompositionExpression
+ self setTraitComposition: aTraitCompositionExpression asTraitCompositionEditor!
Item was added:
+ AbstractEditor subclass: #TraitTransformationEditor
+ instanceVariableNames: 'transformation'
+ classVariableNames: ''
+ poolDictionaries: ''
+ 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: TraitEditor class>>named:uses:category:env: (in category 'instance creation') -----
named: aName uses: aTraitCompositionOrCollection category: aCategory env: anEnvironment
^ (self named: aName for: anEnvironment)
+ setTraitCompositionFrom: aTraitCompositionOrCollection;
- traitComposition: aTraitCompositionOrCollection;
category: aCategory;
yourself!
Item was added:
+ ----- Method: TraitCompositionEditor>>allTraitsOrEditorsDo: (in category 'accessing') -----
+ allTraitsOrEditorsDo: aBlock
+ transformations do: [:transformation | | trait |
+ trait := self system classOrEditorFor: transformation trait.
+ aBlock value: trait.
+ trait hasTraitComposition
+ ifTrue: [trait traitComposition allTraitsOrEditorsDo: aBlock]]!
Item was added:
+ ----- Method: TraitCompositionEditor>>from: (in category 'accessing') -----
+ from: aTraitComposition
+ "Initializes my transformations from aTraitComposition"
+ transformations := aTraitComposition transformations
+ collect: [:ea | ea copyTraitExpression]!
Item was added:
+ ----- Method: TraitTransformationEditor>>from: (in category 'initialize-release') -----
+ from: aTraitTransformation
+ transformation := aTraitTransformation copyTraitExpression!
Item was changed:
----- Method: TraitCompositionDecorator>>edBuild (in category 'building') -----
edBuild
+ editor product traitComposition: self traitComposition edBuild.
+ self traitComposition edApplyChanges.
+ self applyChangesOfNewTraitCompositionReplacing: self subject.!
- ^ self traitCompositionDo: [:comp | comp edBuild]!
Item was added:
+ ----- Method: TraitCompositionDecorator>>validate (in category 'validating') -----
+ validate
+ ^ self traitComposition assertValidUser: editor!
Item was added:
+ ----- 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 '*TraitEditor') -----
asTraitCompositionEditor
+ ^TraitCompositionEditor with: (TraitTransformationEditor from: self)!
- ^TraitCompositionEditor with: self!
Item was added:
+ ----- Method: TraitDescriptionEditor>>edExpand (in category 'building') -----
+ edExpand
+ | users |
+ users := self users collect: [:ea | ea theNonMetaClass].
+ users do: [:ea | ea edInvalidateTrait].
+ ^ users!
Item was changed:
----- Method: PureBehaviorEditor>>traitComposition (in category '*TraitEditor') -----
traitComposition
"Answers an editor on my traitComposition, creating it if necessary"
^ self propertyAt: #traitComposition
+ ifAbsentPut: [self edInvalidateTrait.
- ifAbsentPut: [self decorateWith: TraitCompositionDecorator.
TraitCompositionEditor
on: (self subject ifNotNil: [self subject traitComposition])
for: self]!
Item was changed:
----- Method: PureBehaviorEditor>>setTraitComposition: (in category '*TraitEditor') -----
setTraitComposition: aTraitComposition
| oldComposition |
(self hasTraitComposition not and: [aTraitComposition isEmpty]) ifTrue: [^self].
- aTraitComposition assertValidUser: self.
+ aTraitComposition
+ setSubject: (self subject ifNotNil: [self subject traitComposition])
+ parent: self.
- oldComposition := self traitComposition.
self traitComposition: aTraitComposition.
- self applyChangesOfNewTraitCompositionReplacing: oldComposition.
oldComposition traits do: [:each | each removeUser: self].
aTraitComposition traits do: [:each | each addUser: self]!
Item was removed:
- ----- Method: TraitDescriptionEditor>>edExpandEditors (in category 'building') -----
- edExpandEditors
- | users |
- users := self users collect: [:ea | ea theNonMetaClass].
- users do: [:ea | ea edTraitModified].
- ^ users!
Item was removed:
- ----- Method: TraitDescriptionEditor>>validate (in category 'validating') -----
- validate
- "Nothing to validate. Do nothing"!
Item was removed:
- ----- Method: PureBehaviorEditor>>edTraitModified (in category '*TraitEditor') -----
- edTraitModified
- "Mark myself as having had a trait modified"
-
- self decorateWith: TraitCompositionDecorator!
More information about the Packages
mailing list