added:
authorClaus Gittinger <cg@exept.de>
Thu, 22 Oct 2009 23:16:54 +0200
changeset 2674 3f61bdc7e0dc
parent 2673 100b4dd5c3c2
child 2675 7bd7413e3cb3
added: #doStartMakeAll #doStartMakeExeOnly #runBuildProcess: changed:5 methods
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Thu Oct 22 23:13:26 2009 +0200
+++ b/Tools__ProjectBuilderAssistantApplication.st	Thu Oct 22 23:16:54 2009 +0200
@@ -794,14 +794,26 @@
              (SpecCollection
                 collection: (
                  (ActionButtonSpec
-                    label: 'Start Make'
+                    label: 'Make All'
                     name: 'Button3'
                     translateLabel: true
-                    model: doStartMake
+                    model: doStartMakeAll
                     enableChannel: startMakeButtonEnabled
                     extent: (Point 107 22)
                   )
                  (ActionButtonSpec
+                    label: 'Make EXE only'
+                    name: 'Button5'
+                    translateLabel: true
+                    model: doStartMakeExe
+                    enableChannel: startMakeButtonEnabled
+                    extent: (Point 107 22)
+                  )
+                 (ViewSpec
+                    name: 'Box1'
+                    extent: (Point 20 10)
+                  )
+                 (ActionButtonSpec
                     label: 'Stop Make'
                     name: 'Button4'
                     visibilityChannel: stopMakeButtonVisible
@@ -1070,7 +1082,7 @@
         openApplicationForDocument:(projectBuilder packageBuildDirectory) operation:#explore.
 !
 
-doStartMake
+doStartMakeAll
     <resource: #uiCallback>
 
     self stopMakeButtonVisible value:true.
@@ -1081,7 +1093,32 @@
     makeProcess := 
             [
                 [
-                    self runBuildProcess
+                    self runBuildProcess:'all'
+                ] ensure:[
+                    self stopMakeButtonVisible value:false.
+                    self startMakeButtonEnabled value:true.
+                    makeProcess := nil.
+                    self updateButtonEnableState.
+                ].
+            ] newProcess.
+
+    makeProcess priority:4.
+    makeProcess priorityRange:(4 to:8).
+    makeProcess resume.
+!
+
+doStartMakeExeOnly
+    <resource: #uiCallback>
+
+    self stopMakeButtonVisible value:true.
+    self startMakeButtonEnabled value:false.
+
+    makeOutputWindow clear.
+
+    makeProcess := 
+            [
+                [
+                    self runBuildProcess:'exe'
                 ] ensure:[
                     self stopMakeButtonVisible value:false.
                     self startMakeButtonEnabled value:true.
@@ -1118,7 +1155,7 @@
     self updateListOfMatchingProjects
 !
 
-runBuildProcess
+runBuildProcess:what
     <resource: #uiCallback>
 
     self assert:makeOutputWindow notNil.
@@ -1135,7 +1172,20 @@
     ] do:[
         projectBuilder := ProjectBuilder new.
         projectBuilder package:(selectedProjectDefinition package).
-        projectBuilder buildWithColorizedOutputTo:makeOutputWindow.
+        what = 'exe' ifTrue:[
+            projectBuilder makeExeOnly:true
+        ] ifFalse:[
+            projectBuilder makeExeOnly:false
+        ].
+
+        Error handle:[:ex |
+            makeOutputWindow endEntry.
+            makeOutputWindow cr.
+            makeOutputWindow nextPutLine:(ex messageText colorizeAllWith:Color white on:Color red).
+            makeOutputWindow endEntry.
+        ] do:[
+            projectBuilder buildWithColorizedOutputTo:makeOutputWindow.
+        ].
     ].
 !
 
@@ -1592,7 +1642,7 @@
 
 canEnterContentsSelection
     ^ self hasProjectSelected 
-    and:[ self hasApplicationSelected 
+    and:[ true "self hasApplicationSelected" 
     and:[ self hasStartupClassSelected ]]
 !
 
@@ -1842,6 +1892,8 @@
                                         ((cls includesBehavior:StandaloneStartup)
                                         and:[ self hideOtherStartupClasses value not
                                               or:[ cls package = package ]])
+                                        or:[ cls == Smalltalk
+                                             and:[ self hideOtherStartupClasses value not ] ]
                                     ].
         startupClasses := startupClasses asOrderedCollection.
         startupClasses sort:[:a :b | a name < b name].
@@ -1855,8 +1907,8 @@
             ].
         ].
     ].
+
     self listOfStartupClassesInProject value:startupClasses.
-
     self selectedStartupClassIndexHolder value:startupClassIndex.
 ! !