Tools__ObjectModuleInformation.st
changeset 2623 6e7e1b2b961f
parent 2620 fccbd77a9409
child 2624 d8957c9cb38c
equal deleted inserted replaced
2622:e55f43981463 2623:6e7e1b2b961f
   406             label: 'Browse Extensions'
   406             label: 'Browse Extensions'
   407             itemValue: browseModuleExtensions
   407             itemValue: browseModuleExtensions
   408             translateLabel: true
   408             translateLabel: true
   409           )
   409           )
   410          (MenuItem
   410          (MenuItem
       
   411             label: 'Find a Class...'
       
   412             itemValue: findClass
       
   413             translateLabel: true
       
   414           )
       
   415          (MenuItem
   411             label: '-'
   416             label: '-'
   412           )
   417           )
   413          (MenuItem
   418          (MenuItem
   414             enabled: canCopyClassNameList
   419             enabled: canCopyClassNameList
   415             label: 'Copy Version Info to Clipboard'
   420             label: 'Copy Version Info to Clipboard'
  1197 
  1202 
  1198     text := ((classInfoShown ? vmInfoShown)collect:[:eachRow | eachRow infoString]) asStringCollection asString.
  1203     text := ((classInfoShown ? vmInfoShown)collect:[:eachRow | eachRow infoString]) asStringCollection asString.
  1199     self window setClipboardText:text.
  1204     self window setClipboardText:text.
  1200 !
  1205 !
  1201 
  1206 
       
  1207 findClass
       
  1208     |class moduleIndex classNamesShown classIndex|
       
  1209 
       
  1210     class := Dialog requestClass:'Classname (Tab for completion):'.
       
  1211     class isEmptyOrNil ifTrue:[^ self].
       
  1212 
       
  1213     moduleIndex := allModules findFirst:[:module | module isSymbol not and:[module classNames includes:class name]].
       
  1214     moduleIndex == 0 ifTrue:[
       
  1215         Dialog information:'Class is not contained in a loaded or builtIn package.'.
       
  1216         ^ self
       
  1217     ].
       
  1218     self selectedModuleIndexHolder value:moduleIndex.
       
  1219 
       
  1220     classNamesShown := self shownClassNamesFor:(self selectedModuleInfo).
       
  1221     classIndex := classNamesShown indexOf:class name.
       
  1222     self selectedInfoIndexHolder value:classIndex.
       
  1223 
       
  1224 "/    module := allModules at:moduleIndex.
       
  1225 "/    info := self selectedModuleInfo.
       
  1226 "/    classNames := (self shownClassNamesFor:info) asSortedCollection.
       
  1227 "/    selectedClassName := classNames at:(self selectedInfoIndex).
       
  1228 "/    selectedClass := Smalltalk classNamed:selectedClassName.
       
  1229 "/
       
  1230 "/    selectedClass notNil ifTrue:[
       
  1231 "/        Smalltalk browseInClass:selectedClass.
       
  1232 "/        ^ self.
       
  1233 "/    ].
       
  1234 "/
       
  1235 "/    "/ clicked on an extensions-module ?
       
  1236 "/    (self isExtensionName:selectedClassName) ifTrue:[
       
  1237 "/        self browseModuleExtensions.
       
  1238 "/        ^ self.
       
  1239 "/    ].
       
  1240 "/
       
  1241 "/    self breakPoint:#cg.
       
  1242 !
       
  1243 
  1202 loadPackage
  1244 loadPackage
  1203     |package ok|
  1245     |package ok|
  1204 
  1246 
  1205     package := Dialog request:'Name of Package (module:directory)'.
  1247     package := Dialog request:'Name of Package (module:directory)'.
  1206     package isEmptyOrNil ifTrue:[^ self].
  1248     package isEmptyOrNil ifTrue:[^ self].
  1343                                         ].
  1385                                         ].
  1344                                         wantToSee
  1386                                         wantToSee
  1345                                     ].
  1387                                     ].
  1346 
  1388 
  1347         "/ sorting by reverse id brings newest ones to the top (a side effect)
  1389         "/ sorting by reverse id brings newest ones to the top (a side effect)
  1348         allModules sort:[:a :b | (a id) > (b id)].
  1390         allModules sort:[:a :b | (a name) < (b name)].
  1349         moduleNames := allModules collect:[:entry | entry name].
  1391         moduleNames := allModules collect:[:entry | entry name].
  1350         listOfModuleNames addAll:moduleNames.
  1392         listOfModuleNames addAll:moduleNames.
  1351         handles addAll:allModules.
  1393         handles addAll:allModules.
  1352     ].
  1394     ].
  1353 
  1395