askForClassToSearch:single:msgTail:thenDo:
authorClaus Gittinger <cg@exept.de>
Mon, 09 Nov 2009 10:11:13 +0100
changeset 9229 7dca6f866f17
parent 9228 c99c25eb54db
child 9230 5eefc4b6e737
askForClassToSearch:single:msgTail:thenDo:
NewSystemBrowser.st
Tools__NewSystemBrowser.st
--- a/NewSystemBrowser.st	Sun Nov 08 17:37:40 2009 +0100
+++ b/NewSystemBrowser.st	Mon Nov 09 10:11:13 2009 +0100
@@ -4008,6 +4008,12 @@
                   translateLabel: true
                   showBusyCursorWhilePerforming: true
                 )
+"/               (MenuItem
+"/                  label: 'With Extensions'
+"/                  itemValue: browseMenuClassesWithExtensions
+"/                  translateLabel: true
+"/                  showBusyCursorWhilePerforming: true
+"/                )
                (MenuItem
                   label: 'Which were Autoloaded'
                   itemValue: browseMenuAutoloadedClasses
@@ -29624,7 +29630,8 @@
      otherwise, a match pattern is allowed and a multi-class browser is opened."
 
     |box title okText okText2 okText3 className canFind
-     button2 button3 doWhat doWhat2 doWhat3 classNameHolder updateList allNames|
+     button2 button3 doWhat doWhat2 doWhat3 classNameHolder updateList 
+     allClasses allNames|
 
     doWhat := doWhatByDefault.
     canFind := navigationState isFullBrowser.
@@ -29679,7 +29686,8 @@
         ].
     ].
 
-    allNames := (Smalltalk allClasses asOrderedCollection
+    allClasses := Smalltalk allClasses asOrderedCollection.
+    allNames := (allClasses
                     collect:[:cls | 
                         |ns|
                         ns := cls nameSpace name.
@@ -29687,7 +29695,7 @@
                             ifTrue:[ ns := '' ]
                             ifFalse:[ns := ' (in ',ns,')'].
                         cls nameWithoutNameSpacePrefix,ns
-                    ]) sort.
+                    ]) sortWith:allClasses.
 
     updateList := [
             |nameToSearch l namesStarting namesIncluding lcName|
@@ -29696,15 +29704,25 @@
                 l := self class visitedClassNamesHistory
             ] ifFalse:[
                 lcName := nameToSearch asLowercase.
-                (nameToSearch includesMatchCharacters) ifTrue:[
-                    l := allNames select:[:nm | lcName match:nm asLowercase]
-                ] ifFalse:[
-                    namesIncluding := allNames select:[:nm | 
-                            "/ nm asLowercase startsWith:lcName 
-                            nm asLowercase includesString:lcName caseSensitive:false
-                        ].
-                    namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
-                    l := namesStarting , {nil} , (namesIncluding \ namesStarting).
+                (lcName includes:'::') ifTrue:[
+                    l := OrderedCollection new.
+                    allClasses doWithIndex:[:cls :idx |
+                        (lcName match:cls name) ifTrue:[
+                            l add:(allNames at:idx)
+                        ]
+                    ].
+                ] ifFalse:[
+                    (nameToSearch includesMatchCharacters) ifTrue:[
+                        l := allNames select:[:nm | lcName match:nm asLowercase]
+                    ] ifFalse:[
+                        namesIncluding := allNames 
+                                            select:[:nm | 
+                                                "/ nm asLowercase startsWith:lcName 
+                                                nm asLowercase includesString:lcName caseSensitive:false
+                                            ].
+                        namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
+                        l := namesStarting , {nil} , (namesIncluding \ namesStarting).
+                    ]
                 ]
             ].
             box listView list:l
@@ -43595,11 +43613,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1412 2009-11-07 20:24:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1413 2009-11-09 09:11:13 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1412 2009-11-07 20:24:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1413 2009-11-09 09:11:13 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st	Sun Nov 08 17:37:40 2009 +0100
+++ b/Tools__NewSystemBrowser.st	Mon Nov 09 10:11:13 2009 +0100
@@ -4008,6 +4008,12 @@
                   translateLabel: true
                   showBusyCursorWhilePerforming: true
                 )
+"/               (MenuItem
+"/                  label: 'With Extensions'
+"/                  itemValue: browseMenuClassesWithExtensions
+"/                  translateLabel: true
+"/                  showBusyCursorWhilePerforming: true
+"/                )
                (MenuItem
                   label: 'Which were Autoloaded'
                   itemValue: browseMenuAutoloadedClasses
@@ -29624,7 +29630,8 @@
      otherwise, a match pattern is allowed and a multi-class browser is opened."
 
     |box title okText okText2 okText3 className canFind
-     button2 button3 doWhat doWhat2 doWhat3 classNameHolder updateList allNames|
+     button2 button3 doWhat doWhat2 doWhat3 classNameHolder updateList 
+     allClasses allNames|
 
     doWhat := doWhatByDefault.
     canFind := navigationState isFullBrowser.
@@ -29679,7 +29686,8 @@
         ].
     ].
 
-    allNames := (Smalltalk allClasses asOrderedCollection
+    allClasses := Smalltalk allClasses asOrderedCollection.
+    allNames := (allClasses
                     collect:[:cls | 
                         |ns|
                         ns := cls nameSpace name.
@@ -29687,7 +29695,7 @@
                             ifTrue:[ ns := '' ]
                             ifFalse:[ns := ' (in ',ns,')'].
                         cls nameWithoutNameSpacePrefix,ns
-                    ]) sort.
+                    ]) sortWith:allClasses.
 
     updateList := [
             |nameToSearch l namesStarting namesIncluding lcName|
@@ -29696,15 +29704,25 @@
                 l := self class visitedClassNamesHistory
             ] ifFalse:[
                 lcName := nameToSearch asLowercase.
-                (nameToSearch includesMatchCharacters) ifTrue:[
-                    l := allNames select:[:nm | lcName match:nm asLowercase]
-                ] ifFalse:[
-                    namesIncluding := allNames select:[:nm | 
-                            "/ nm asLowercase startsWith:lcName 
-                            nm asLowercase includesString:lcName caseSensitive:false
-                        ].
-                    namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
-                    l := namesStarting , {nil} , (namesIncluding \ namesStarting).
+                (lcName includes:'::') ifTrue:[
+                    l := OrderedCollection new.
+                    allClasses doWithIndex:[:cls :idx |
+                        (lcName match:cls name) ifTrue:[
+                            l add:(allNames at:idx)
+                        ]
+                    ].
+                ] ifFalse:[
+                    (nameToSearch includesMatchCharacters) ifTrue:[
+                        l := allNames select:[:nm | lcName match:nm asLowercase]
+                    ] ifFalse:[
+                        namesIncluding := allNames 
+                                            select:[:nm | 
+                                                "/ nm asLowercase startsWith:lcName 
+                                                nm asLowercase includesString:lcName caseSensitive:false
+                                            ].
+                        namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
+                        l := namesStarting , {nil} , (namesIncluding \ namesStarting).
+                    ]
                 ]
             ].
             box listView list:l
@@ -43595,11 +43613,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1412 2009-11-07 20:24:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1413 2009-11-09 09:11:13 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1412 2009-11-07 20:24:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1413 2009-11-09 09:11:13 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!