Tools__ObjectModuleInformation.st
changeset 2402 5db801ca0e35
parent 2343 20eee34c4c8b
child 2403 11c5c82a852c
equal deleted inserted replaced
2401:a8bee3470347 2402:5db801ca0e35
   699 !
   699 !
   700 
   700 
   701 showInfoForClassLib:info
   701 showInfoForClassLib:info
   702     "/ selected a package; fill bottom list with class-info
   702     "/ selected a package; fill bottom list with class-info
   703 
   703 
   704     |classNames rows|
   704     |rows|
   705 
   705 
   706     self middleLabelHolder value:'Contains Modules:'.
   706     self middleLabelHolder value:'Contains Modules:'.
   707 
   707 
   708     classNames := info classNames asSortedCollection.
   708     classNamesShown := self shownClassNamesFor:info.
   709     classNames := classNames select:[:cName |
   709 
   710                     |cls|
   710     rows := classNamesShown collect:[:cName |
   711 
       
   712                     cls := Smalltalk classNamed:cName.
       
   713                     cls isNil ifTrue:[
       
   714                         true "a removed class"
       
   715                     ] ifFalse:[
       
   716                         cls isPrivate not
       
   717                     ].
       
   718                   ].
       
   719 
       
   720     classNamesShown := classNames.
       
   721 
       
   722     rows := classNames collect:[:cName |
       
   723                     |cls entry rev listEntry revisionInfo|
   711                     |cls entry rev listEntry revisionInfo|
   724 
   712 
   725                     listEntry := InfoRow new.
   713                     listEntry := InfoRow new.
   726                     listEntry name:cName.
   714                     listEntry name:cName.
   727 
   715 
   893 "/        unloadButton disable.
   881 "/        unloadButton disable.
   894 "/        unloadAndRemoveButton disable.
   882 "/        unloadAndRemoveButton disable.
   895 "/    ]
   883 "/    ]
   896 
   884 
   897     "Modified: / 05-10-2007 / 12:53:44 / cg"
   885     "Modified: / 05-10-2007 / 12:53:44 / cg"
       
   886 !
       
   887 
       
   888 shownClassNamesFor:info
       
   889     "/ selected a package; fill bottom list with class-info
       
   890 
       
   891     |classNames|
       
   892 
       
   893     classNames := info classNames asSortedCollection.
       
   894     ^ classNames 
       
   895         select:[:cName |
       
   896             |cls|
       
   897 
       
   898             cls := Smalltalk classNamed:cName.
       
   899             cls isNil ifTrue:[
       
   900                 true "a removed class"
       
   901             ] ifFalse:[
       
   902                 cls isPrivate not
       
   903             ].
       
   904         ].
   898 ! !
   905 ! !
   899 
   906 
   900 !ObjectModuleInformation methodsFor:'initialization'!
   907 !ObjectModuleInformation methodsFor:'initialization'!
   901 
   908 
   902 postBuildWith:aBuilder
   909 postBuildWith:aBuilder
   917 ! !
   924 ! !
   918 
   925 
   919 !ObjectModuleInformation methodsFor:'menu actions'!
   926 !ObjectModuleInformation methodsFor:'menu actions'!
   920 
   927 
   921 browseClass
   928 browseClass
   922     |module info classNames selectedClassName selectedClass|
   929     |module info classNames selectedClassName selectedClass packageID methods|
   923 
   930 
   924     module := self selectedModule.
   931     module := self selectedModule.
   925     info := self selectedModuleInfo.
   932     info := self selectedModuleInfo.
   926     classNames := info classNames asSortedCollection.
   933     classNames := (self shownClassNamesFor:info) asSortedCollection.
   927     selectedClassName := classNames at:(self selectedInfoIndex).
   934     selectedClassName := classNames at:(self selectedInfoIndex).
   928     selectedClass := Smalltalk classNamed:selectedClassName.
   935     selectedClass := Smalltalk classNamed:selectedClassName.
   929 
   936 
   930     UserPreferences systemBrowserClass 
   937     selectedClass notNil ifTrue:[
   931         openInClass:selectedClass
   938         Smalltalk browseInClass:selectedClass.
       
   939         ^ self.
       
   940     ].
       
   941 
       
   942     "/ clicked on an extensions-module ?
       
   943     (selectedClassName endsWith:'_extensions') ifTrue:[
       
   944         packageID := (selectedClassName copyWithoutLast:('_extensions' size)) asSymbol.
       
   945         methods := Smalltalk allExtensionsForPackage:packageID.
       
   946         (UserPreferences browserClass) browseMethods:methods title:('Extensions for ',packageID).
       
   947     ].
       
   948 self halt.
   932 !
   949 !
   933 
   950 
   934 browseModule
   951 browseModule
   935     |module classes|
   952     |module classes|
   936 
   953