added: #documentation
authorClaus Gittinger <cg@exept.de>
Thu, 22 Oct 2009 21:58:39 +0200
changeset 2668 a762eafe51eb
parent 2667 6cf6c1523e0c
child 2669 3e0023b75ad9
added: #documentation changed: #doBrowseApplication #doBrowseStartupClass #updateListOfApplicationsInProject
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Thu Oct 22 21:54:55 2009 +0200
+++ b/Tools__ProjectBuilderAssistantApplication.st	Thu Oct 22 21:58:39 2009 +0200
@@ -20,6 +20,23 @@
 	category:'System-Support-Projects'
 !
 
+!ProjectBuilderAssistantApplication class methodsFor:'documentation'!
+
+documentation
+"
+    a user friendly interface to the build process.
+    Simply wraps up existing tools like the CodeGeneratorTool, the browsers
+    and the ProjetBuilder
+
+    [see also:]
+        CodeGeneratorTool
+        ProjectBuilder
+        ProjectDefinition
+
+    [author:]
+        Claus Gittinger
+"
+! !
 
 !ProjectBuilderAssistantApplication class methodsFor:'interface specs'!
 
@@ -973,7 +990,7 @@
     self hasApplicationSelected ifTrue:[
         appClass := self listOfApplicationsInProject value at:(self selectedApplicationIndexHolder value).
         UserPreferences systemBrowserClass 
-            openInClass:appClass.
+            openInClass:appClass class selector:#windowSpec.
     ].
 !
 
@@ -1003,7 +1020,7 @@
     self hasStartupClassSelected ifTrue:[
         startupClass := self listOfStartupClassesInProject value at:(self selectedStartupClassIndexHolder value).
         UserPreferences systemBrowserClass 
-            openInClass:startupClass.
+            openInClass:startupClass class selector:#main:.
     ].
 !
 
@@ -1676,10 +1693,10 @@
 !
 
 updateListOfApplicationsInProject
-    |applicationClasses package startUpClassName startUpClass appClassIndex|
+    |oldList applicationClasses package startUpClassName startUpClass 
+     appClass appClassIndex|
 
     appClassIndex := nil.
-    self selectedApplicationIndexHolder value:nil.
 
     selectedProjectDefinition isNil ifTrue:[
         applicationClasses := #()
@@ -1694,18 +1711,25 @@
         applicationClasses := applicationClasses asOrderedCollection.
         applicationClasses sort:[:a :b | a name < b name].
 
-        startUpClassName := [ selectedProjectDefinition startupClassName ] ifError:[ nil ].
-        startUpClassName notNil ifTrue:[
-            startUpClass := Smalltalk classNamed:startUpClassName.
-            startUpClass notNil ifTrue:[
-                appClassIndex := applicationClasses indexOf:startUpClass.
-                appClassIndex == 0 ifTrue:[ appClassIndex := nil ].
-            ].
-        ].
+"/        startUpClassName := [ selectedProjectDefinition startupClassName ] ifError:[ nil ].
+"/        startUpClassName notNil ifTrue:[
+"/            startUpClass := Smalltalk classNamed:startUpClassName.
+"/            startUpClass notNil ifTrue:[
+"/                appClassIndex := applicationClasses indexOf:startUpClass.
+"/                appClassIndex == 0 ifTrue:[ appClassIndex := nil ].
+"/            ].
+"/        ].
     ].
-    self listOfApplicationsInProject value:applicationClasses.
 
-    self selectedApplicationIndexHolder value:appClassIndex.
+    oldList := self listOfApplicationsInProject value.
+    oldList = applicationClasses ifFalse:[
+        appClass := selectedApplication.
+        appClassIndex := applicationClasses indexOf:appClass.
+        appClassIndex == 0 ifTrue:[ appClassIndex := nil ].
+
+        self listOfApplicationsInProject value:applicationClasses.
+        self selectedApplicationIndexHolder value:appClassIndex.
+    ].
 !
 
 updateListOfClassesInProject