ProjectView.st
changeset 468 66637cf315a5
parent 278 9d33deca396c
child 513 4c5b95c8c520
--- a/ProjectView.st	Thu Apr 11 16:41:35 1996 +0200
+++ b/ProjectView.st	Thu Apr 11 19:38:08 1996 +0200
@@ -111,93 +111,65 @@
 !
 
 initializeMenu
-    |labels selectors|
-
-    SourceCodeManager isNil ifTrue:[
-        labels := #(
-                        'rename ...'
-                        '-'
-                        'changes'
-                        'browse'
-                        '-'
-                        'fileOut directory ...'
-                        'package name ...'
-                        '-'
-                        'show'
-                        'hide'
-                        '-'
-                        'remove package classes/methods'
-                        'remove project'
-                   ).
+    |labels selectors m|
 
-         selectors := #(        
-                        renameProject
-                        nil
-                        browseChanges
-                        browsePackage
-                        nil
-                        projectDirectory
-                        projectPackage
-                        nil
-                        showProject
-                        hideProject
-                        nil
-                        removePackage
-                        destroy
-                    )
-    ] ifFalse:[
-        labels := #(
-                        'rename ...'
-                        '-'
-                        'changes'
-                        'browse'
-                        '-'
-                        'fileOut directory ...'
-                        'repository module ...'
-                        'repository directory ...'
-                        'package name ...'
+    labels := #(
+                    'rename ...'
+                    '-'
+                    'show'
+                    'hide'
+                    '-'
+                    'changes'
+                    'browse'
+                    'fileOut classes'
+                    '-'
+                    'fileOut directory ...'
+                    'repository module ...'
+                    'repository directory ...'
+                    'package name ...'
 "/                        '-'
 "/                        'save project code'
 "/                        'build'
-                        '-'
-                        'show'
-                        'hide'
-                        '-'
-                        'remove package code'
-                        'remove project'
-                   ).
+                    '-'
+                    'remove package code'
+                    'remove project'
+               ).
 
-         selectors := #(        
-                        renameProject
-                        nil
-                        browseChanges
-                        browsePackage
-                        nil
-                        projectDirectory
-                        projectModule
-                        projectRepository
-                        projectPackage
+     selectors := #(        
+                    renameProject
+                    nil
+                    showProject
+                    hideProject
+                    nil
+                    browseChanges
+                    browsePackage
+                    fileOutClasses
+                    nil
+                    projectDirectory
+                    projectModule
+                    projectRepository
+                    projectPackage
 "/                        nil
 "/                        saveProjectFiles
 "/                        buildProject
-                        nil
-                        showProject
-                        hideProject
-                        nil
-                        removePackage
-                        destroy
-                    )
+                    nil
+                    removePackage
+                    destroy
+                ).
+
+    m := PopUpMenu
+                labels:(resources array:labels)
+                selectors:selectors
+                receiver:self.
+
+    SourceCodeManager isNil ifTrue:[
+        m disableAll:#(#projectRepository #projectPackage).
     ].
 
-    toggle middleButtonMenu:(
-        PopUpMenu
-                labels:(resources array:labels)
-                selectors:selectors
-                receiver:self
-    )
+    toggle middleButtonMenu:m
 
     "Created: 25.11.1995 / 18:06:32 / cg"
-    "Modified: 12.12.1995 / 16:48:31 / cg"
+    "Modified: 11.4.1996 / 19:36:26 / cg"
 ! !
 
 !ProjectView methodsFor:'menu actions'!
@@ -282,6 +254,40 @@
     super destroy
 !
 
+fileOutClasses
+    "fileout all classes belonging to that package.
+     CAVEAT: individual methods are not yet supported."
+
+    self topView withWaitCursorDo:[
+        |classes packageName methods methodList anyClasses anyMethods ignoredClasses|
+
+        anyMethods := anyClasses := false.
+
+        packageName := myProject packageName.
+        classes := myProject classes.
+        (classes notNil and:[classes notEmpty]) ifTrue:[
+            anyClasses := true.
+        ].
+
+        methods := myProject individualMethods.
+        methods notEmpty ifTrue:[
+            anyMethods := true.
+            self warn:'individual methods are currently not handled'
+        ].
+        anyClasses ifTrue:[
+            classes do:[:aClass |
+                Transcript showCr:'fileOut: ' , aClass name , ' ...'.
+                aClass fileOut
+            ].
+        ].
+        (anyClasses or:[anyMethods]) ifFalse:[
+            self information:(resources string:'no classes or methods in this project (yet)')
+        ]
+    ]
+
+    "Created: 11.4.1996 / 19:29:50 / cg"
+!
+
 hideProject
     myProject hideViews.
     ActiveProjectView := nil.
@@ -562,4 +568,4 @@
 !ProjectView class methodsFor:'documentation'!
 
 version
-^ '$Header: /cvs/stx/stx/libtool/ProjectView.st,v 1.25 1995-12-12 15:53:46 cg Exp $'! !
+^ '$Header: /cvs/stx/stx/libtool/ProjectView.st,v 1.26 1996-04-11 17:38:08 cg Exp $'! !