added:
authorClaus Gittinger <cg@exept.de>
Fri, 26 Feb 2010 11:16:00 +0100
changeset 2763 c36ead4db5bc
parent 2762 0c66aa3bfdff
child 2764 30ba284f0818
added: #browseModulesProjectDefinition #canBrowseSelectedModulesProjectDefinition #projectDefinitionClassOfSelectedModule changed: #mainMenu #moduleMenu
Tools__ObjectModuleInformation.st
--- a/Tools__ObjectModuleInformation.st	Wed Feb 10 23:10:55 2010 +0100
+++ b/Tools__ObjectModuleInformation.st	Fri Feb 26 11:16:00 2010 +0100
@@ -266,6 +266,12 @@
                   itemValue: browseModuleExtensions
                   translateLabel: true
                 )
+             (MenuItem
+                enabled: canBrowseSelectedModulesProjectDefinition
+                label: 'Browse ProjectDefinition'
+                itemValue: browseModulesProjectDefinition
+                translateLabel: true
+              )
          (MenuItem
             label: 'Find a Class...'
             itemValue: findClass
@@ -413,6 +419,12 @@
             translateLabel: true
           )
          (MenuItem
+            enabled: canBrowseSelectedModulesProjectDefinition
+            label: 'Browse ProjectDefinition'
+            itemValue: browseModulesProjectDefinition
+            translateLabel: true
+          )
+         (MenuItem
             label: 'Find a Class...'
             itemValue: findClass
             translateLabel: true
@@ -613,6 +625,10 @@
     "Modified: / 05-10-2007 / 10:51:39 / cg"
 !
 
+canBrowseSelectedModulesProjectDefinition
+    ^ [ self projectDefinitionClassOfSelectedModule notNil ]
+!
+
 canCopyClassNameList
     ^ [table1VisibleHolder value 
     and:[classInfoShown notEmptyOrNil or:[vmInfoShown notEmptyOrNil] ]]
@@ -1202,6 +1218,15 @@
     (UserPreferences browserClass) browseMethods:methods title:('Extensions for ',packageID).
 !
 
+browseModulesProjectDefinition
+    |projectDefinitionClass|
+
+    projectDefinitionClass := self projectDefinitionClassOfSelectedModule.
+    projectDefinitionClass notNil ifTrue:[
+        (UserPreferences browserClass) openInClass:projectDefinitionClass class
+    ].
+!
+
 copyClassOrVMNameList
     |text|
 
@@ -1360,6 +1385,30 @@
     "Created: / 05-10-2007 / 12:43:36 / cg"
 !
 
+projectDefinitionClassOfSelectedModule
+    |info packageID projectDefinitionClass|
+
+    info := self selectedModuleInfo.
+    info isNil ifTrue:[^ nil].
+
+    info classNames 
+        detect:[:nm | 
+            |cls|
+
+            cls := Smalltalk at:nm. 
+            cls notNil ifTrue:[
+                packageID := cls package.
+                true
+            ] ifFalse:[
+                false
+            ]
+        ]
+        ifNone:[^ nil].
+
+    projectDefinitionClass := packageID asPackageId projectDefinitionClass.
+    ^ projectDefinitionClass
+!
+
 updateModuleList
     |showClassLibs showBuiltIn showMethods showCObjects showOthers
      listOfModuleNames allObjects handles methodObjects |