[Pkg] SystemEditor: SystemEditor-Squeak-mtf.165.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Fri Dec 12 00:25:20 UTC 2008
A new version of SystemEditor-Squeak was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-Squeak-mtf.165.mcz
==================== Summary ====================
Name: SystemEditor-Squeak-mtf.165
Author: mtf
Time: 11 December 2008, 5:25:01 pm
UUID: 40913736-fe9b-4208-8e83-632f2eb88a95
Ancestors: SystemEditor-Squeak-mtf.164
made the categorizer tests pass
=============== Diff against SystemEditor-Squeak-mtf.164 ===============
Item was added:
+ ----- Method: CategorizerEditor>>refreshCategories (in category 'accessing changed elements') -----
+ refreshCategories
+
+ | categorySet |
+ categorySet := categories asSet.
+ self changedElementsAndCategoriesDo: [:elem :cat |
+ cat ifNil: [cat := Categorizer default].
+ (categorySet includes: cat) ifFalse: [
+ categories add: cat.
+ categorySet add: cat]].
+ ^ categories!
Item was added:
+ ----- Method: CategorizerEditor>>classifyChange:under: (in category 'accessing changed elements') -----
+ classifyChange: element under: category
+ self subclassResponsibility!
Item was changed:
----- Method: CategorizerEditor>>classify:under:suppressIfDefault: (in category 'reflecting - accessing') -----
classify: element under: heading suppressIfDefault: aBoolean
| category |
((heading = Categorizer nullCategory) or: [heading == nil])
ifTrue: [category := Categorizer default]
ifFalse: [category := heading asSymbol].
+ (aBoolean and: [category == Categorizer default]) ifTrue: [^ self].
self addCategory: category.
+ self classifyChange: element under: heading.
((self categories includes: Categorizer default)
and: [(self listAtCategoryNamed: Categorizer default) size = 0])
ifTrue: [self removeCategory: Categorizer default].
!
Item was changed:
----- Method: OrganizationEditor class>>for:repository: (in category 'instance creation') -----
for: aClassEditor repository: aSourceRepository
+ ^ (self for: aClassEditor) repository: aSourceRepository!
- ^ self new setClassEditor: aClassEditor repository: aSourceRepository!
Item was changed:
----- Method: CategorizerEditor>>listAtCategoryNamed: (in category 'reflecting - accessing') -----
listAtCategoryNamed: catName
| category list |
category := catName asSymbol.
(self categories includes: category) ifFalse: [^ nil].
list := self subject ifNotNil: [self subject listAtCategoryNamed: category].
list ifNil: [list := OrderedCollection new].
list := list asOrderedCollection.
+ self removedElements do: [:ea | list remove: ea].
+ self changedElementsAndCategoriesDo: [:ea :cat | cat = category
+ ifTrue: [list add: ea]
+ ifFalse: [list remove: ea ifAbsent: []]].
- self removedElements do: [:ea | list removeAll: ea].
- self changedElementsAndCategoriesDo: [:ea :cat |
- list removeAll: ea. cat = category ifTrue: [list add: ea]].
^ list
!
Item was changed:
----- Method: OrganizationEditor class>>for: (in category 'instance creation') -----
for: aClassEditor
+ ^ self
+ on: (aClassEditor subject ifNotNil: [aClassEditor subject organization])
+ for: aClassEditor!
- ^ self for: aClassEditor repository: SourceRepository default!
Item was changed:
----- Method: OrganizationEditor>>writeComment (in category 'building') -----
writeComment
+ | previous |
- | previous subject |
- subject := self subject.
previous := subject ifNotNil: [subject commentRemoteStr].
remote := previous
+ ifNil: [self repository
- ifNil: [repository
storeComment: comment
forClass: classEditor
stamped: stamp]
+ ifNotNil: [self repository
- ifNotNil: [repository
storeComment: comment
forClass: classEditor
stamped: stamp
replacing: previous].!
Item was added:
+ ----- Method: OrganizationEditor>>repository (in category 'accessing') -----
+ repository
+ ^ repository ifNil: [SourceRepository default]!
Item was added:
+ ----- Method: CategorizerEditor class>>canEdit:for: (in category 'as yet unclassified') -----
+ canEdit: aCategorizer for: anEditor
+ ^ aCategorizer isKindOf: Categorizer!
Item was added:
+ ----- Method: OrganizationEditor>>on:for: (in category 'initialize-release') -----
+ on: aCategorizer for: aClassEditor
+ isDirty := false.
+ classEditor := aClassEditor.
+ super on: aCategorizer for: aClassEditor!
Item was changed:
----- Method: CategorizerEditor>>edBuild (in category 'building') -----
edBuild
| result processed newCat |
result := self productClass defaultList: Array new.
- categories ifNotEmpty: [result categories: categories].
self changedElementsAndCategoriesDo: [:ea :cat |
result classify: ea under: cat].
self subject ifNil: [^ result].
processed := IdentitySet new
addAll: result elementArray;
addAll: self removedElements;
yourself.
self subject categories do: [:oldCat |
newCat := self newCategoryFor: oldCat.
(subject listAtCategoryNamed: oldCat) do: [:ea |
(processed includes: ea) ifFalse: [
result classify: ea under: newCat]]].
+ result categories: self refreshCategories.
^ result!
Item was added:
+ ----- Method: OrganizationEditor>>repository: (in category 'accessing') -----
+ repository: aSourceRepository
+ repository := aSourceRepository.!
Item was changed:
----- Method: SystemOrganizationEditor>>subject (in category 'accessing') -----
subject
+ ^ subject ifNil: [self halt]!
- ^ subject ifNil: [self setSubject: system subject organization. subject]!
Item was added:
+ ----- Method: CategorizerEditor>>on:for: (in category 'initialize-release') -----
+ on: aCategorizer for: aClassEditor
+ subject := aCategorizer.
+ renamedCategories := Dictionary new.
+ categories := aCategorizer
+ ifNil: [OrderedCollection new]
+ ifNotNil: [aCategorizer categories asOrderedCollection]!
Item was changed:
----- Method: CategorizerEditor>>printOn: (in category 'reflecting - printing') -----
printOn: aStream
+ self edBuild printOn: aStream!
- self categories do: [:category |
- aStream nextPutAll: '('''; nextPutAll: category; nextPut: $'.
- (self listAtCategoryNamed: category) do: [:element |
- aStream space; nextPutAll: element].
- aStream nextPut: $); cr]!
Item was removed:
- ----- Method: OrganizationEditor>>subject (in category 'accessing') -----
- subject
- ^ subject ifNil: [classEditor subject ifNotNilDo: [:aClass | subject := aClass organization]]!
Item was removed:
- ----- Method: CategorizerEditor>>setSubject: (in category 'initialize-release') -----
- setSubject: aCategorizer
- subject := aCategorizer.
- renamedCategories := Dictionary new.
- categories := OrderedCollection new.!
Item was removed:
- ----- Method: OrganizationEditor class>>on: (in category 'instance creation') -----
- on: anOrganizer
- ^ self for: anOrganizer subject!
Item was removed:
- ----- Method: OrganizationEditor>>setClassEditor:repository: (in category 'initialize-release') -----
- setClassEditor: aClassEditor repository: aSourceRepository
- isDirty := false.
- classEditor := aClassEditor.
- repository := aSourceRepository.
- self setSubject: nil.!
More information about the Packages
mailing list