--- a/Tools__MethodList.st Wed Mar 07 17:24:11 2018 +0100
+++ b/Tools__MethodList.st Wed Mar 07 17:25:36 2018 +0100
@@ -1280,10 +1280,6 @@
enforceClassAndProtocolInList := false.
anyMethodToWatch := false.
- "/ no longer filter those
- "/ JV@2013-09-17: Why on hell not? A little explanation please!!
- "/ Enabled again, because when i select package in a browser I expect
- "/ to see only methods belonging to that package!!
packageFilterValue := packageFilter value.
packageFilterValue notNil ifTrue:[
(packageFilterValue includes:self class nameListEntryForALL) ifTrue:[
@@ -1386,78 +1382,7 @@
].
].
sortByClass := doShowClass and:[ sortBy value == #class ].
- sortByClass ifTrue:[
- entries
- sort:[:a :b |
- |clsA clsB selA selB nmA nmB clsNmA clsNmB nsNmA nsNmB mthdA mthdB|
-
- clsA := a at:1. clsB := b at:1.
- clsNmA := clsA name.
- clsNmB := clsB name.
- clsNmA = clsNmB ifTrue:[
- selA := a at:2. selB := b at:2.
- nmA := selA asSymbol selectorWithoutNameSpace.
- nmB := selB asSymbol selectorWithoutNameSpace.
- nmA = nmB ifTrue:[
- mthdA := a at:3. mthdB := b at:3.
- nsNmA := mthdA nameSpaceName.
- nsNmB := mthdB nameSpaceName.
- nsNmA < nsNmB
- ] ifFalse:[ nmA < nmB ]
- ] ifFalse:[
- clsNmA < clsNmB
- ]
- ].
- ] ifFalse:[
- sortBy value == #category ifTrue:[
- entries
- sort:[:a :b |
- |mthdA mthdB selA selB clsA clsB nmA nmB catA catB clsNmA clsNmB nsNmA nsNmB|
-
- mthdA := a at:3. mthdB := b at:3.
- catA := mthdA category.
- catB := mthdB category.
- catA = catB ifTrue:[
- selA := a at:2. selB := b at:2.
- nmA := selA asSymbol selectorWithoutNameSpace.
- nmB := selB asSymbol selectorWithoutNameSpace.
- nmA = nmB ifTrue:[
- clsA := a at:1. clsB := b at:1.
- clsNmA := clsA name.
- clsNmB := clsB name.
- clsNmA = clsNmB ifTrue:[
- nsNmA := mthdA nameSpaceName.
- nsNmB := mthdB nameSpaceName.
- nsNmA < nsNmB
- ] ifFalse:[
- clsNmA < clsNmB
- ]
- ] ifFalse:[ nmA < nmB ]
- ] ifFalse:[
- catA < catB
- ]
- ].
- ] ifFalse:[
- entries
- sort:[:a :b |
- |nmA nmB clsNmA clsNmB nsNmA nsNmB|
-
- nmA := (a at:2) asSymbol selectorWithoutNameSpace.
- nmB := (b at:2) asSymbol selectorWithoutNameSpace.
- nmA = nmB ifTrue:[
- clsNmA := (a at:1) name.
- clsNmB := (b at:1) name.
- clsNmA = clsNmB ifTrue:[
- nsNmA := (a at:3) nameSpaceName.
- nsNmB := (b at:3) nameSpaceName.
- nsNmA < nsNmB
- ] ifFalse:[
- clsNmA < clsNmB
- ]
- ] ifFalse:[ nmA < nmB ]
- ].
- ].
- ].
+ self sortEntries:entries showingClass:doShowClass.
].
methods := OrderedCollection new:(entries size).
methodNameList := OrderedCollection new:(entries size).
@@ -1716,6 +1641,85 @@
^ set
!
+sortEntries:entries showingClass:doShowClass
+ |sortByClass|
+
+ sortByClass := doShowClass and:[ sortBy value == #class ].
+ sortByClass ifTrue:[
+ entries
+ sort:[:a :b |
+ |clsA clsB selA selB nmA nmB clsNmA clsNmB nsNmA nsNmB mthdA mthdB|
+
+ clsA := a at:1. clsB := b at:1.
+ clsNmA := clsA name.
+ clsNmB := clsB name.
+ clsNmA = clsNmB ifTrue:[
+ selA := a at:2. selB := b at:2.
+ nmA := selA asSymbol selectorWithoutNameSpace.
+ nmB := selB asSymbol selectorWithoutNameSpace.
+ nmA = nmB ifTrue:[
+ mthdA := a at:3. mthdB := b at:3.
+ nsNmA := mthdA nameSpaceName.
+ nsNmB := mthdB nameSpaceName.
+ nsNmA < nsNmB
+ ] ifFalse:[ nmA < nmB ]
+ ] ifFalse:[
+ clsNmA < clsNmB
+ ]
+ ].
+ ^ self.
+ ].
+
+ sortBy value == #category ifTrue:[
+ entries
+ sort:[:a :b |
+ |mthdA mthdB selA selB clsA clsB nmA nmB catA catB clsNmA clsNmB nsNmA nsNmB|
+
+ mthdA := a at:3. mthdB := b at:3.
+ catA := mthdA category.
+ catB := mthdB category.
+ catA = catB ifTrue:[
+ selA := a at:2. selB := b at:2.
+ nmA := selA asSymbol selectorWithoutNameSpace.
+ nmB := selB asSymbol selectorWithoutNameSpace.
+ nmA = nmB ifTrue:[
+ clsA := a at:1. clsB := b at:1.
+ clsNmA := clsA name.
+ clsNmB := clsB name.
+ clsNmA = clsNmB ifTrue:[
+ nsNmA := mthdA nameSpaceName.
+ nsNmB := mthdB nameSpaceName.
+ nsNmA < nsNmB
+ ] ifFalse:[
+ clsNmA < clsNmB
+ ]
+ ] ifFalse:[ nmA < nmB ]
+ ] ifFalse:[
+ catA < catB
+ ]
+ ].
+ ^ self.
+ ].
+ entries
+ sort:[:a :b |
+ |nmA nmB clsNmA clsNmB nsNmA nsNmB|
+
+ nmA := (a at:2) asSymbol selectorWithoutNameSpace.
+ nmB := (b at:2) asSymbol selectorWithoutNameSpace.
+ nmA = nmB ifTrue:[
+ clsNmA := (a at:1) name.
+ clsNmB := (b at:1) name.
+ clsNmA = clsNmB ifTrue:[
+ nsNmA := (a at:3) nameSpaceName.
+ nsNmB := (b at:3) nameSpaceName.
+ nsNmA < nsNmB
+ ] ifFalse:[
+ clsNmA < clsNmB
+ ]
+ ] ifFalse:[ nmA < nmB ]
+ ].
+!
+
updateList
|prevSelection newList newSelection newSelIdx reverseMap sameContents newListSize oldListSize
prevClasses methodSet selectedMethodsHolder|