Tools__NewSystemBrowser.st
changeset 17839 f46049188ece
parent 17836 68305bb1b979
child 17841 ebab2c97cef3
equal deleted inserted replaced
17838:9f3c979d7788 17839:f46049188ece
   243 
   243 
   244     |spec manager|
   244     |spec manager|
   245 
   245 
   246     spec := super flyByHelpSpec addPairsFrom:#(
   246     spec := super flyByHelpSpec addPairsFrom:#(
   247 
   247 
       
   248 #fuzzyClassNameSearch
       
   249 'If checked, a more powerful fuzzy string compare is used.\If not, a substring is searched.'
       
   250 
   248 #runLintOnClasses
   251 #runLintOnClasses
   249 'Run static code analysis (lint) on the selected classes/protocols/methods'
   252 'Run static code analysis (lint) on the selected classes/protocols/methods'
   250 
   253 
   251 #bookmarks
   254 #bookmarks
   252 'Manage bookmarks'
   255 'Manage bookmarks'
   340 
   343 
   341 #searchClass
   344 #searchClass
   342 'Search class'
   345 'Search class'
   343 
   346 
   344 #nameFilter
   347 #nameFilter
   345 'Show only methods with matching selectors / which contain the text.\The "-" filters hide matching methods'
   348 'Show only methods with matching selectors / which contain the text '
   346 
   349 
   347 #nameFilterType
   350 #nameFilterType
   348 'Switch between selector- (S) and text matching (T)'
   351 'Switch between selector- (S) and text matching (T)'
   349 
   352 
   350 #hideNameFilter
   353 #hideNameFilter
   391             spec at:#redoOperation put:(self resources string:'Redo (%1)' with:manager redoChange name).
   394             spec at:#redoOperation put:(self resources string:'Redo (%1)' with:manager redoChange name).
   392         ].
   395         ].
   393     ].
   396     ].
   394     ^ spec.
   397     ^ spec.
   395 
   398 
   396     "Modified: / 04-12-2017 / 23:40:55 / cg"
   399     "Modified: / 05-12-2017 / 12:52:42 / cg"
   397 ! !
   400 ! !
   398 
   401 
   399 !NewSystemBrowser class methodsFor:'image specs'!
   402 !NewSystemBrowser class methodsFor:'image specs'!
   400 
   403 
   401 defaultIcon
   404 defaultIcon
 18908                                                 select:[:idx |
 18911                                                 select:[:idx |
 18909                                                     |nm|
 18912                                                     |nm|
 18910                                                     nm := nameList at:idx.
 18913                                                     nm := nameList at:idx.
 18911                                                     (nm asLowercase includesString:lcName caseSensitive:false)
 18914                                                     (nm asLowercase includesString:lcName caseSensitive:false)
 18912                                                     or:[ (classList at:idx) name includesString:lcName caseSensitive:false]
 18915                                                     or:[ (classList at:idx) name includesString:lcName caseSensitive:false]
 18913                                                 ] thenCollect:[:idx | nameList at:idx].
 18916                                                 ] 
       
 18917                                                 thenCollect:[:idx | 
       
 18918                                                     |nm matchIdx|
       
 18919                                                     
       
 18920                                                     nm := nameList at:idx.
       
 18921                                                     matchIdx := nm asLowercase indexOfString:lcName.
       
 18922                                                     matchIdx ~~ 0 ifTrue:[
       
 18923                                                         nm := nm asText withColor:Color gray slightlyDarkened.
       
 18924                                                         nm emphasizeFrom:matchIdx to:matchIdx+lcName size-1 with:{ #color->Color black }
       
 18925                                                     ].
       
 18926                                                     nm
       
 18927                                                 ].
 18914                         ].
 18928                         ].
 18915                         namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
 18929                         namesStarting := namesIncluding select:[:nm | nm asLowercase startsWith:lcName].
 18916                         restList := (namesIncluding \ namesStarting).
 18930                         restList := (namesIncluding \ namesStarting).
 18917                         namesEnding := restList select:[:nm | nm asLowercase endsWith:lcName].
 18931                         namesEnding := restList select:[:nm | nm asLowercase endsWith:lcName].
 18918                         restList := (restList \ namesEnding).
 18932                         restList := (restList \ namesEnding).
 18951     ].
 18965     ].
 18952     box panelView
 18966     box panelView
 18953         addSubView:(check := CheckBox label:(resources string:'Show Full Name (do not Strip off Namespace)') model:showFullNameHolder) before:nil.
 18967         addSubView:(check := CheckBox label:(resources string:'Show Full Name (do not Strip off Namespace)') model:showFullNameHolder) before:nil.
 18954     box panelView
 18968     box panelView
 18955         addSubView:(check := CheckBox label:(resources string:'Fuzzy Match (Instead of Substring Search)') model:doFuzzyMatchHolder) before:nil.
 18969         addSubView:(check := CheckBox label:(resources string:'Fuzzy Match (Instead of Substring Search)') model:doFuzzyMatchHolder) before:nil.
       
 18970     check helpKey:#fuzzyClassNameSearch.    
 18956 
 18971 
 18957     doFuzzyMatchHolder onChangeEvaluate:updateList.   
 18972     doFuzzyMatchHolder onChangeEvaluate:updateList.   
 18958     showFullNameHolder onChangeEvaluate:updateList.
 18973     showFullNameHolder onChangeEvaluate:updateList.
 18959     onlyShowJavaClassesHolder onChangeEvaluate:[ updateClassAndNameList value. updateList value].
 18974     onlyShowJavaClassesHolder onChangeEvaluate:[ updateClassAndNameList value. updateList value].
 18960 
 18975 
 18972 "/        ];
 18987 "/        ];
 18973         origin:(0 @ check corner y).
 18988         origin:(0 @ check corner y).
 18974     box listView origin:(0 @ check corner y).
 18989     box listView origin:(0 @ check corner y).
 18975 
 18990 
 18976     box extent:(400 @ 550).
 18991     box extent:(400 @ 550).
       
 18992     box application:aBrowserOrNil.
 18977     box open.
 18993     box open.
 18978 
 18994 
 18979     className isEmptyOrNil ifTrue:[^ nil "cancel"].
 18995     className isEmptyOrNil ifTrue:[^ nil "cancel"].
 18980 
 18996 
 18981     LastClassSearchBoxShowedFullName := showFullNameHolder value.
 18997     LastClassSearchBoxShowedFullName := showFullNameHolder value.
 19004         aBlock value:className value:singleClass value:doWhat.
 19020         aBlock value:className value:singleClass value:doWhat.
 19005     ].
 19021     ].
 19006     ^ className
 19022     ^ className
 19007 
 19023 
 19008     "Modified: / 04-09-2013 / 17:48:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 19024     "Modified: / 04-09-2013 / 17:48:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 19009     "Modified: / 09-08-2017 / 23:56:38 / cg"
 19025     "Modified: / 05-12-2017 / 13:02:53 / cg"
 19010 !
 19026 !
 19011 
 19027 
 19012 enterBoxTitle:title okText:okText label:label
 19028 enterBoxTitle:title okText:okText label:label
 19013     "convenient method: setup an enterBox"
 19029     "convenient method: setup an enterBox"
 19014 
 19030 
 44627         "/ let user select an existing tag or choose a new one
 44643         "/ let user select an existing tag or choose a new one
 44628         branchName := Dialog request:'Name of Branch (must be a new symbolic name):'.
 44644         branchName := Dialog request:'Name of Branch (must be a new symbolic name):'.
 44629         branchName isEmptyOrNil ifTrue:[^ self].
 44645         branchName isEmptyOrNil ifTrue:[^ self].
 44630     
 44646     
 44631         (tagAlreadyUsed := (knownTags includes:branchName)) ifTrue:[
 44647         (tagAlreadyUsed := (knownTags includes:branchName)) ifTrue:[
 44632             Dialog inormation:'This tag/branchname is already known.\Please choose another name.'
 44648             Dialog information:'This tag/branchname is already known.\Please choose another name.'
 44633         ].
 44649         ].
 44634         tagAlreadyUsed
 44650         tagAlreadyUsed
 44635     ] whileTrue.
 44651     ] whileTrue.
 44636 
 44652 
 44637     (branchName startsWith:'branch_') ifFalse:[
 44653     (branchName startsWith:'branch_') ifFalse:[
 44644 
 44660 
 44645     pathes := OrderedCollection new.
 44661     pathes := OrderedCollection new.
 44646     defClasses do:[:defClass |
 44662     defClasses do:[:defClass |
 44647         |packageId|
 44663         |packageId|
 44648 
 44664 
 44649         packageId := defClass asPackageId.
 44665         packageId := defClass package asPackageId.
 44650         defClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
 44666         defClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
 44651             pathes add: (packageId pathRelativeToTopDirectory,'/',fileName).  "/ always unix names
 44667             pathes add: (packageId pathRelativeToTopDirectory,'/',fileName).  "/ always unix names
 44652         ].
 44668         ].
 44653     ].
 44669     ].
 44654     aManager createBranch:branchName pathes:pathes.
 44670     aManager createBranch:branchName pathes:pathes.
 44656     "/ we set a base tag (branchName_0) on the current version (before checking in)
 44672     "/ we set a base tag (branchName_0) on the current version (before checking in)
 44657     self projectMenuSetTagOfBuildSupportFiles:baseTag usingManager:aManager.
 44673     self projectMenuSetTagOfBuildSupportFiles:baseTag usingManager:aManager.
 44658     self projectMenuSetTag:baseTag usingManager:aManager.
 44674     self projectMenuSetTag:baseTag usingManager:aManager.
 44659 
 44675 
 44660     "/ check them onto the branch
 44676     "/ check them onto the branch
 44661     self halt.
 44677     self projectMenuCheckInAllUsingManager:aManager onBranch:branchName
 44662 
 44678 
 44663     "Created: / 04-12-2017 / 17:49:16 / cg"
 44679     "Created: / 04-12-2017 / 17:49:16 / cg"
 44664     "Modified: / 04-12-2017 / 19:07:01 / cg"
 44680     "Modified: / 05-12-2017 / 13:47:27 / cg"
 44665 !
 44681 !
 44666 
 44682 
 44667 projectMenuStartBranchUsingManagerNamed:sourceCodeManagerClassName
 44683 projectMenuStartBranchUsingManagerNamed:sourceCodeManagerClassName
 44668     self projectMenuStartBranchUsingManager:(self sourceCodeManagerNamed:sourceCodeManagerClassName)
 44684     self projectMenuStartBranchUsingManager:(self sourceCodeManagerNamed:sourceCodeManagerClassName)
 44669 
 44685