#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Sat, 08 Oct 2016 23:14:46 +0200
changeset 3337 f9ec2e76c54c
parent 3336 108c139b4bbd
child 3338 c62417f88241
#FEATURE by cg class: Tools::ProjectBuilderAssistantApplication added: #projectTypeIsNonGuiApplication changed:15 methods geometry; allow startup with a startupclass in addition to a projectDefnition class.
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Fri Oct 07 01:57:58 2016 +0200
+++ b/Tools__ProjectBuilderAssistantApplication.st	Sat Oct 08 23:14:46 2016 +0200
@@ -493,124 +493,124 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page2_projectSelectionSpec'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 453)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'New Project''s PackageID'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (ExtendedComboBoxSpec
-                    name: 'NewProjectsNameListExtendedComboBox'
-                    layout: (LayoutFrame 1 0 6 0 -113 1 28 0)
-                    activeHelpKey: listOfNewProjectsName
-                    model: newProjectsName
-                    readOnly: false
-                    miniScrollerHorizontal: true
-                    postBuildCallback: postBuildNewProjectsNameListExtendedComboBox:
-                  )
-                 (ActionButtonSpec
-                    label: 'Create'
-                    name: 'Button1'
-                    layout: (LayoutFrame -100 1 6 0 2 1 28 0)
-                    activeHelpKey: createNewProject
-                    translateLabel: true
-                    model: createNewProject
-                  )
+    #(FullSpec
+       name: #'page2_projectSelectionSpec'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 453)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'New Project''s PackageID'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (ExtendedComboBoxSpec
+                   name: 'NewProjectsNameListExtendedComboBox'
+                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
+                   activeHelpKey: listOfNewProjectsName
+                   model: newProjectsName
+                   readOnly: false
+                   miniScrollerHorizontal: true
+                   postBuildCallback: postBuildNewProjectsNameListExtendedComboBox:
+                 )
+                (ActionButtonSpec
+                   label: 'Create'
+                   name: 'Button1'
+                   layout: (LayoutFrame -100 1 6 0 2 1 34 0)
+                   activeHelpKey: createNewProject
+                   translateLabel: true
+                   model: createNewProject
                  )
-               
-              )
-            )
-           (FramedBoxSpec
-              label: 'Existing Projects with ProjectDefinition'
-              name: 'FramedBox4'
-              layout: (LayoutFrame 0 0.0 70 0 4 1.0 -30 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (VariableHorizontalPanelSpec
-                    name: 'VariableHorizontalPanel2'
-                    layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (SequenceViewSpec
-                          name: 'List2'
-                          model: selectedProjectIndexHolder
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          useIndex: true
-                          sequenceList: listOfMatchingPackageIds
-                        )
-                       (TextEditorSpec
-                          name: 'TextEditor2'
-                          model: selectedProjectsComment
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          isReadOnly: true
-                          hasKeyboardFocusInitially: false
-                          viewClassName: 'TextView'
-                        )
+                )
+              
+             )
+           )
+          (FramedBoxSpec
+             label: 'Existing Projects with ProjectDefinition'
+             name: 'FramedBox4'
+             layout: (LayoutFrame 0 0.0 70 0 4 1.0 -34 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (VariableHorizontalPanelSpec
+                   name: 'VariableHorizontalPanel2'
+                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (SequenceViewSpec
+                         name: 'List2'
+                         model: selectedProjectIndexHolder
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         useIndex: true
+                         sequenceList: listOfMatchingPackageIds
+                       )
+                      (TextEditorSpec
+                         name: 'TextEditor2'
+                         model: selectedProjectsComment
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         isReadOnly: true
+                         hasKeyboardFocusInitially: false
+                         viewClassName: 'TextView'
                        )
-                     
-                    )
-                    handles: (Any 0.34560327198364 1.0)
-                  )
-                 (CheckBoxSpec
-                    label: 'Hide ST/X Base Packages'
-                    name: 'CheckBox1'
-                    layout: (LayoutFrame -1 0 -17 1 0 1 5 1)
-                    activeHelpKey: hideSTXBasePackages
-                    model: hideSTXProjects
-                    translateLabel: true
-                  )
+                      )
+                    
+                   )
+                   handles: (Any 0.35000000000000003 1.0)
+                 )
+                (CheckBoxSpec
+                   label: 'Hide ST/X Base Packages'
+                   name: 'CheckBox1'
+                   layout: (LayoutFrame -1 0 -17 1 0 1 5 1)
+                   activeHelpKey: hideSTXBasePackages
+                   model: hideSTXProjects
+                   translateLabel: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Browse Selected Project'
-                    name: 'Button3'
-                    activeHelpKey: browseSelectedProject
-                    translateLabel: true
-                    model: doBrowseProject
-                    enableChannel: hasProjectSelectedHolder
-                    useDefaultExtent: true
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Browse Selected Project'
+                   name: 'Button3'
+                   activeHelpKey: browseSelectedProject
+                   translateLabel: true
+                   model: doBrowseProject
+                   enableChannel: hasProjectSelectedHolder
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page3_applicationSelectionSpec
@@ -628,133 +628,133 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page3_applicationSelectionSpec'
-        window: 
-       (WindowSpec
-          label: 'Application Selection'
-          name: 'Application Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 519 406)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'New Application Class'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (InputFieldSpec
-                    name: 'EntryField1'
-                    layout: (LayoutFrame 1 0 6 0 -113 1 28 0)
-                    model: newApplicationsName
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: true
-                    emptyFieldReplacementText: 'MyApplication'
-              activeHelpKey: nameOfApplicationClass
-                  )
-                 (ActionButtonSpec
-                    label: 'Create'
-                    name: 'Button1'
-                    layout: (LayoutFrame -100 1 6 0 1 1 28 0)
-                    translateLabel: true
-                    model: createNewApplication
-              activeHelpKey: createNewApplication
-                  )
+    #(FullSpec
+       name: #'page3_applicationSelectionSpec'
+       window: 
+      (WindowSpec
+         label: 'Application Selection'
+         name: 'Application Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 519 406)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'New Application Class'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (InputFieldSpec
+                   name: 'EntryField1'
+                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
+                   activeHelpKey: nameOfApplicationClass
+                   model: newApplicationsName
+                   acceptOnReturn: true
+                   acceptOnTab: true
+                   acceptOnLostFocus: true
+                   acceptOnPointerLeave: true
+                   emptyFieldReplacementText: 'MyApplication'
+                 )
+                (ActionButtonSpec
+                   label: 'Create'
+                   name: 'Button1'
+                   layout: (LayoutFrame -100 1 6 0 1 1 34 0)
+                   activeHelpKey: createNewApplication
+                   translateLabel: true
+                   model: createNewApplication
                  )
-               
-              )
-            )
-           (FramedBoxSpec
-              label: 'Existing Applications'
-              name: 'FramedBox4'
-              layout: (LayoutFrame 0 0.0 72 0 4 1.0 -30 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (VariableHorizontalPanelSpec
-                    name: 'VariableHorizontalPanel2'
-                    layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (SequenceViewSpec
-                          name: 'List2'
-                          model: selectedApplicationIndexHolder
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          useIndex: true
-                          sequenceList: listOfApplicationsInProject
-                          ignoreReselect: false
-                        )
-                       (TextEditorSpec
-                          name: 'TextEditor2'
-                          model: selectedApplicationsComment
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          isReadOnly: true
-                          hasKeyboardFocusInitially: false
-                          viewClassName: 'TextView'
-                        )
+                )
+              
+             )
+           )
+          (FramedBoxSpec
+             label: 'Existing Applications'
+             name: 'FramedBox4'
+             layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (VariableHorizontalPanelSpec
+                   name: 'VariableHorizontalPanel2'
+                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (SequenceViewSpec
+                         name: 'List2'
+                         model: selectedApplicationIndexHolder
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         useIndex: true
+                         sequenceList: listOfApplicationsInProject
+                         ignoreReselect: false
+                       )
+                      (TextEditorSpec
+                         name: 'TextEditor2'
+                         model: selectedApplicationsComment
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         isReadOnly: true
+                         hasKeyboardFocusInitially: false
+                         viewClassName: 'TextView'
                        )
-                     
-                    )
-                    handles: (Any 0.34560327198364 1.0)
-                  )
-                 (CheckBoxSpec
-                    label: 'Hide other Application Classes'
-                    name: 'CheckBox1'
-                    layout: (LayoutFrame -1 0 -18 1 0 1 4 1)
-                    model: hideOtherApplicationClasses
-                    translateLabel: true
-                  )
+                      )
+                    
+                   )
+                   handles: (Any 0.35000000000000003 1.0)
+                 )
+                (CheckBoxSpec
+                   label: 'Hide other Application Classes'
+                   name: 'CheckBox1'
+                   layout: (LayoutFrame -1 0 -18 1 0 1 4 1)
+                   model: hideOtherApplicationClasses
+                   translateLabel: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Browse Selected Application'
-                    name: 'Button3'
-                    translateLabel: true
-                    model: doBrowseApplication
-                    enableChannel: hasApplicationSelectedHolder
-                    extent: (Point 180 22)
-                  )
-                 (ActionButtonSpec
-                    label: 'Launch Selected Application'
-                    name: 'Button4'
-                    translateLabel: true
-                    model: doLaunchApplication
-                    enableChannel: hasApplicationSelectedHolder
-                    extent: (Point 180 22)
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Browse Selected App'
+                   name: 'Button3'
+                   translateLabel: true
+                   model: doBrowseApplication
+                   enableChannel: hasApplicationSelectedHolder
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                (ActionButtonSpec
+                   label: 'Launch Selected App'
+                   name: 'Button4'
+                   translateLabel: true
+                   model: doLaunchApplication
+                   enableChannel: hasApplicationSelectedHolder
+                   useDefaultExtent: true
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page4_startupClassSelectionSpec
@@ -772,125 +772,125 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page4_startupClassSelectionSpec'
-        window: 
-       (WindowSpec
-          label: 'Startup Class Selection'
-          name: 'Startup Class Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 408)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'New Startup Class'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (InputFieldSpec
-                    name: 'EntryField1'
-                    layout: (LayoutFrame 1 0 6 0 -113 1 28 0)
-                    activeHelpKey: nameOfStartupClass
-                    model: newStartupClassName
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: true
-                    emptyFieldReplacementText: 'MyStandAloneStartup'
-                  )
-                 (ActionButtonSpec
-                    label: 'Create'
-                    name: 'Button1'
-                    layout: (LayoutFrame -100 1 6 0 1 1 28 0)
-                    activeHelpKey: createNewStartupClass
-                    translateLabel: true
-                    model: createNewStartupClass
-                  )
+    #(FullSpec
+       name: #'page4_startupClassSelectionSpec'
+       window: 
+      (WindowSpec
+         label: 'Startup Class Selection'
+         name: 'Startup Class Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 408)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'New Startup Class'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (InputFieldSpec
+                   name: 'EntryField1'
+                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
+                   activeHelpKey: nameOfStartupClass
+                   model: newStartupClassName
+                   acceptOnReturn: true
+                   acceptOnTab: true
+                   acceptOnLostFocus: true
+                   acceptOnPointerLeave: true
+                   emptyFieldReplacementText: 'MyStandAloneStartup'
+                 )
+                (ActionButtonSpec
+                   label: 'Create'
+                   name: 'Button1'
+                   layout: (LayoutFrame -100 1 6 0 1 1 34 0)
+                   activeHelpKey: createNewStartupClass
+                   translateLabel: true
+                   model: createNewStartupClass
                  )
-               
-              )
-            )
-           (FramedBoxSpec
-              label: 'Existing Startup Classes'
-              name: 'FramedBox4'
-              layout: (LayoutFrame 0 0.0 72 0 4 1.0 -30 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (VariableHorizontalPanelSpec
-                    name: 'VariableHorizontalPanel2'
-                    layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (SequenceViewSpec
-                          name: 'List2'
-                          model: selectedStartupClassIndexHolder
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          useIndex: true
-                          sequenceList: listOfStartupClassesInProject
-                        )
-                       (TextEditorSpec
-                          name: 'TextEditor2'
-                          model: selectedStartupClassesComment
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          isReadOnly: true
-                          hasKeyboardFocusInitially: false
-                          viewClassName: 'TextView'
-                        )
+                )
+              
+             )
+           )
+          (FramedBoxSpec
+             label: 'Existing Startup Classes'
+             name: 'FramedBox4'
+             layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (VariableHorizontalPanelSpec
+                   name: 'VariableHorizontalPanel2'
+                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (SequenceViewSpec
+                         name: 'List2'
+                         model: selectedStartupClassIndexHolder
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         useIndex: true
+                         sequenceList: listOfStartupClassesInProject
+                       )
+                      (TextEditorSpec
+                         name: 'TextEditor2'
+                         model: selectedStartupClassesComment
+                         hasHorizontalScrollBar: true
+                         hasVerticalScrollBar: true
+                         isReadOnly: true
+                         hasKeyboardFocusInitially: false
+                         viewClassName: 'TextView'
                        )
-                     
-                    )
-                    handles: (Any 0.34560327198364 1.0)
-                  )
-                 (CheckBoxSpec
-                    label: 'Hide other Startup Classes'
-                    name: 'CheckBox1'
-                    layout: (LayoutFrame -1 0 -20 1 0 1 2 1)
-                    activeHelpKey: hideOtherStartupClasses
-                    model: hideOtherStartupClasses
-                    translateLabel: true
-                  )
+                      )
+                    
+                   )
+                   handles: (Any 0.35000000000000003 1.0)
+                 )
+                (CheckBoxSpec
+                   label: 'Hide other Startup Classes'
+                   name: 'CheckBox1'
+                   layout: (LayoutFrame -1 0 -20 1 0 1 2 1)
+                   activeHelpKey: hideOtherStartupClasses
+                   model: hideOtherStartupClasses
+                   translateLabel: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Browse Selected StartupClass'
-                    name: 'Button3'
-                    translateLabel: true
-                    model: doBrowseStartupClass
-                    enableChannel: hasStartupClassSelectedHolder
-                    extent: (Point 180 22)
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Browse Selected StartupClass'
+                   name: 'Button3'
+                   translateLabel: true
+                   model: doBrowseStartupClass
+                   enableChannel: hasStartupClassSelectedHolder
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page5_specifyIncludedClasses
@@ -908,72 +908,72 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page5_specifyIncludedClasses'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 400)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Project Contents'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 -30 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (SequenceViewSpec
-                    name: 'List1'
-                    layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-                    initiallyDisabled: true
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    useIndex: false
-                    sequenceList: listOfClassesInProject
-                  )
+    #(FullSpec
+       name: #'page5_specifyIncludedClasses'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 400)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Project Contents'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (SequenceViewSpec
+                   name: 'List1'
+                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                   initiallyDisabled: true
+                   hasHorizontalScrollBar: true
+                   hasVerticalScrollBar: true
+                   useIndex: false
+                   sequenceList: listOfClassesInProject
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: center
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Browse Project Definition'
-                    name: 'Button3'
-                    translateLabel: true
-                    model: doBrowseProjectDefinitionClass
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Update Contents (Scan)'
-                    name: 'Button4'
-                    translateLabel: true
-                    model: doGenerateProjectContentsDefinition
-                    useDefaultExtent: true
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
+             horizontalLayout: center
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Browse Project Definition'
+                   name: 'Button3'
+                   translateLabel: true
+                   model: doBrowseProjectDefinitionClass
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                (ActionButtonSpec
+                   label: 'Update Contents (Scan)'
+                   name: 'Button4'
+                   translateLabel: true
+                   model: doGenerateProjectContentsDefinition
+                   useDefaultExtent: true
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page5b_specifyPrerequisitePackages
@@ -991,72 +991,72 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page5b_specifyPrerequisitePackages'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 400)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Prerequisite Packages'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 -30 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (SequenceViewSpec
-                    name: 'List1'
-                    layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-                    initiallyDisabled: true
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    useIndex: false
-                    sequenceList: listOfPrerequisitesInProject
-                  )
+    #(FullSpec
+       name: #'page5b_specifyPrerequisitePackages'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 400)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Prerequisite Packages'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (SequenceViewSpec
+                   name: 'List1'
+                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                   initiallyDisabled: true
+                   hasHorizontalScrollBar: true
+                   hasVerticalScrollBar: true
+                   useIndex: false
+                   sequenceList: listOfPrerequisitesInProject
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: center
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Browse Project Definition'
-                    name: 'Button3'
-                    translateLabel: true
-                    model: doBrowseProjectDefinitionClassForPrereqs
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Update Prerequisites (Scan)'
-                    name: 'Button4'
-                    translateLabel: true
-                    model: doGenerateProjectPrerequisitesDefinition
-                    useDefaultExtent: true
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
+             horizontalLayout: center
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Browse Project Definition'
+                   name: 'Button3'
+                   translateLabel: true
+                   model: doBrowseProjectDefinitionClassForPrereqs
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                (ActionButtonSpec
+                   label: 'Update Prerequisites (Scan)'
+                   name: 'Button4'
+                   translateLabel: true
+                   model: doGenerateProjectPrerequisitesDefinition
+                   useDefaultExtent: true
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page6a_specifyProjectAttributes
@@ -1074,65 +1074,65 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page6a_specifyProjectAttributes'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 239)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Product Information'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 101 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (LabelSpec
-                    label: 'Product Name:'
-                    name: 'Label1'
-                    layout: (LayoutFrame 0 0 10 0 148 0 32 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'EntryField4'
-                    layout: (LayoutFrame 150 0.0 10 0 0 1.0 32 0)
-                    model: productNameHolder
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: true
-                    viewClassName: ''
-                  )
-                 (LabelSpec
-                    label: 'Company Name:'
-                    name: 'Label2'
-                    layout: (LayoutFrame 0 0 39 0 148 0 61 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'EntryField3'
-                    layout: (LayoutFrame 150 0.0 39 0 0 1.0 61 0)
-                    model: companyNameHolder
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: true
-                    viewClassName: ''
-                  )
+    #(FullSpec
+       name: #'page6a_specifyProjectAttributes'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 239)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Product Information'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 116 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (LabelSpec
+                   label: 'Product Name:'
+                   name: 'Label1'
+                   layout: (LayoutFrame 0 0 10 0 148 0 40 0)
+                   translateLabel: true
+                   adjust: right
                  )
-               
-              )
-            )
+                (InputFieldSpec
+                   name: 'EntryField4'
+                   layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0)
+                   model: productNameHolder
+                   acceptOnLostFocus: true
+                   acceptOnPointerLeave: true
+                   viewClassName: ''
+                 )
+                (LabelSpec
+                   label: 'Company Name:'
+                   name: 'Label2'
+                   layout: (LayoutFrame 0 0 45 0 148 0 75 0)
+                   translateLabel: true
+                   adjust: right
+                 )
+                (InputFieldSpec
+                   name: 'EntryField3'
+                   layout: (LayoutFrame 150 0.0 45 0 0 1.0 75 0)
+                   model: companyNameHolder
+                   acceptOnLostFocus: true
+                   acceptOnPointerLeave: true
+                   viewClassName: ''
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page6b_specifyBuildDirectorySpec
@@ -1150,83 +1150,83 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page6b_specifyBuildDirectorySpec'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 361)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Build Directory'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 79 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (FilenameInputFieldSpec
-                    name: 'FilenameEntryField1'
-                    layout: (LayoutFrame 0 0.0 10 0 0 1.0 32 0)
-                    model: buildDirectoryHolder
-                    acceptOnPointerLeave: true
-                    viewClassName: FilenameWidgetWithHistory
-                  )
+    #(FullSpec
+       name: #'page6b_specifyBuildDirectorySpec'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 361)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Build Directory'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 79 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (FilenameInputFieldSpec
+                   name: 'FilenameEntryField1'
+                   layout: (LayoutFrame 0 0.0 10 0 0 1.0 40 0)
+                   model: buildDirectoryHolder
+                   acceptOnPointerLeave: true
+                   viewClassName: FilenameWidgetWithHistory
                  )
-               
-              )
-            )
-           (FramedBoxSpec
-              label: 'Compiler / Toolchain'
-              name: 'FramedBox4'
-              layout: (LayoutFrame 0 0.0 81 0 4 1.0 155 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (ComboListSpec
-                    name: 'ComboList1'
-                    layout: (LayoutFrame 0 0 10 0 137 0 32 0)
-                    model: usedCompilerHolder
-                    comboList: listOfPossibleCompilers
-                    useIndex: false
-                  )
-                 (LabelSpec
-                    label: 'Compiler Suite'
-                    name: 'Label2'
-                    layout: (LayoutFrame 163 0 10 0 0 1 32 0)
-                    translateLabel: true
-                    labelChannel: nameOfUsedCompilerSuiteHolder
-                    adjust: left
-                  )
+                )
+              
+             )
+           )
+          (FramedBoxSpec
+             label: 'Compiler / Toolchain'
+             name: 'FramedBox4'
+             layout: (LayoutFrame 0 0.0 81 0 4 1.0 155 0)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (ComboListSpec
+                   name: 'ComboList1'
+                   layout: (LayoutFrame 0 0 10 0 137 0 40 0)
+                   model: usedCompilerHolder
+                   comboList: listOfPossibleCompilers
+                   useIndex: false
                  )
-               
-              )
-            )
-           (TextEditorSpec
-              name: 'TextEditor1'
-              layout: (LayoutFrame 2 0.0 158 0 -2 1.0 303 0)
-              level: -1
-              visibilityChannel: compilerWarnMessageVisibleHolder
-              model: compilerWarnMessageHolder
-              hasHorizontalScrollBar: true
-              hasVerticalScrollBar: true
-              miniScrollerHorizontal: true
-              backgroundColor: (Color 100.0 49.9992370489052 49.9992370489052)
-              hasKeyboardFocusInitially: false
-              postBuildCallback: postBuildWarnMessageView:
-            )
+                (LabelSpec
+                   label: 'Compiler Suite'
+                   name: 'Label2'
+                   layout: (LayoutFrame 163 0 10 0 0 1 40 0)
+                   translateLabel: true
+                   labelChannel: nameOfUsedCompilerSuiteHolder
+                   adjust: left
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          (TextEditorSpec
+             name: 'TextEditor1'
+             layout: (LayoutFrame 2 0.0 158 0 -2 1.0 303 0)
+             level: -1
+             visibilityChannel: compilerWarnMessageVisibleHolder
+             model: compilerWarnMessageHolder
+             hasHorizontalScrollBar: true
+             hasVerticalScrollBar: true
+             miniScrollerHorizontal: true
+             backgroundColor: (Color 100.0 50.0 50.0)
+             hasKeyboardFocusInitially: false
+             postBuildCallback: postBuildWarnMessageView:
+           )
+          )
+        
+       )
+     )
 !
 
 page7_buildSpec
@@ -1259,7 +1259,7 @@
           (FramedBoxSpec
              label: 'Make Output'
              name: 'FramedBox3'
-             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1)
              labelPosition: topLeft
              translateLabel: true
              component: 
@@ -1273,8 +1273,8 @@
                    hasHorizontalScrollBar: true
                    hasVerticalScrollBar: true
                    hasKeyboardFocusInitially: false
+                   postBuildCallback: postBuildMakeOutputWindow:
                    viewClassName: 'TextCollector'
-                   postBuildCallback: postBuildMakeOutputWindow:
                  )
                 )
               
@@ -1282,7 +1282,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel1'
-             layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
+             layout: (LayoutFrame 0 0 -106 1 0 1 -72 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1346,7 +1346,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel2'
-             layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
+             layout: (LayoutFrame 0 0 -70 1 0 1 -36 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1354,8 +1354,14 @@
              component: 
             (SpecCollection
                collection: (
+                (LabelSpec
+                   label: 'Build Directory'
+                   name: 'Label1'
+                   translateLabel: true
+                   useDefaultExtent: true
+                 )
                 (ActionButtonSpec
-                   label: 'Finder on Build Directory'
+                   label: 'Finder'
                    name: 'Button13'
                    activeHelpKey: openFinder
                    visibilityChannel: osIsOSX
@@ -1364,7 +1370,7 @@
                    useDefaultExtent: true
                  )
                 (ActionButtonSpec
-                   label: 'Explorer on Build Directory'
+                   label: 'Explorer'
                    name: 'Button14'
                    activeHelpKey: openExplorer
                    visibilityChannel: osIsWindows
@@ -1373,7 +1379,7 @@
                    useDefaultExtent: true
                  )
                 (ActionButtonSpec
-                   label: 'Browser on Build Directory'
+                   label: 'Browser'
                    name: 'Button11'
                    activeHelpKey: openFileBrowser
                    translateLabel: true
@@ -1385,7 +1391,7 @@
                    extent: (Point 20 10)
                  )
                 (ActionButtonSpec
-                   label: 'Clear Build Directory'
+                   label: 'Clear'
                    name: 'Button12'
                    activeHelpKey: clearBuildDirectory
                    translateLabel: true
@@ -1398,7 +1404,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel3'
-             layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1453,7 +1459,7 @@
          collection: (
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel2'
-             layout: (LayoutFrame 10 0 10 0 0 1 40 0)
+             layout: (LayoutFrame 10 0 10 0 0 1 44 0)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1511,7 +1517,7 @@
           (FramedBoxSpec
              label: 'Make Output'
              name: 'FramedBox3'
-             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1)
              labelPosition: topLeft
              translateLabel: true
              component: 
@@ -1525,8 +1531,8 @@
                    hasHorizontalScrollBar: true
                    hasVerticalScrollBar: true
                    hasKeyboardFocusInitially: false
+                   postBuildCallback: postBuildMakeOutputWindow:
                    viewClassName: 'TextCollector'
-                   postBuildCallback: postBuildMakeOutputWindow:
                  )
                 )
               
@@ -1534,7 +1540,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel1'
-             layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
+             layout: (LayoutFrame 0 0 -106 1 -2 1 -72 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1598,7 +1604,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel2'
-             layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
+             layout: (LayoutFrame 0 0 -70 1 -2 1 -36 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1606,8 +1612,14 @@
              component: 
             (SpecCollection
                collection: (
+                (LabelSpec
+                   label: 'Build Directory:'
+                   name: 'Label1'
+                   translateLabel: true
+                   useDefaultExtent: true
+                 )
                 (ActionButtonSpec
-                   label: 'Finder on Build Directory'
+                   label: 'Finder'
                    name: 'Button13'
                    activeHelpKey: openFinder
                    visibilityChannel: osIsOSX
@@ -1616,7 +1628,7 @@
                    useDefaultExtent: true
                  )
                 (ActionButtonSpec
-                   label: 'Explorer on Build Directory'
+                   label: 'Explorer'
                    name: 'Button14'
                    activeHelpKey: openExplorer
                    visibilityChannel: osIsWindows
@@ -1625,7 +1637,7 @@
                    useDefaultExtent: true
                  )
                 (ActionButtonSpec
-                   label: 'Browser on Build Directory'
+                   label: 'Browser'
                    name: 'Button11'
                    activeHelpKey: openFileBrowser
                    translateLabel: true
@@ -1637,7 +1649,7 @@
                    extent: (Point 20 10)
                  )
                 (ActionButtonSpec
-                   label: 'Clear Build Directory'
+                   label: 'Clear'
                    name: 'Button12'
                    activeHelpKey: clearBuildDirectory
                    translateLabel: true
@@ -1650,7 +1662,7 @@
            )
           (HorizontalPanelViewSpec
              name: 'HorizontalPanel3'
-             layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+             layout: (LayoutFrame 0 0 -34 1 -2 1 0 1)
              horizontalLayout: leftSpace
              verticalLayout: center
              horizontalSpace: 3
@@ -1698,7 +1710,7 @@
          label: 'Project Selection'
          name: 'Project Selection'
          min: (Point 0 0)
-         bounds: (Rectangle 0 0 521 472)
+         bounds: (Rectangle 0 0 520 478)
        )
        component: 
       (SpecCollection
@@ -1714,7 +1726,7 @@
                collection: (
                 (SubCanvasSpec
                    name: 'FileBrowserSubCanvas'
-                   layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
+                   layout: (LayoutFrame 0 0 0 0 0 1 -34 1)
                    hasHorizontalScrollBar: false
                    hasVerticalScrollBar: false
                    clientHolder: fileBrowserInstance
@@ -1723,7 +1735,7 @@
                  )
                 (HorizontalPanelViewSpec
                    name: 'HorizontalPanel1'
-                   layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+                   layout: (LayoutFrame 0 0 -34 1 -2 1 0 1)
                    horizontalLayout: centerMax
                    verticalLayout: center
                    horizontalSpace: 3
@@ -1732,30 +1744,30 @@
                   (SpecCollection
                      collection: (
                       (ActionButtonSpec
-                         label: 'Open Windows Explorer'
+                         label: 'Windows Explorer'
                          name: 'Button1'
                          visibilityChannel: osIsWindows
                          translateLabel: true
                          resizeForLabel: true
                          model: doOpenExplorer
-                         extent: (Point 172 22)
+                         useDefaultExtent: true
                        )
                       (ActionButtonSpec
-                         label: 'Open Finder'
+                         label: ' Finder'
                          name: 'Button3'
                          visibilityChannel: osIsOSX
                          translateLabel: true
                          resizeForLabel: true
                          model: doOpenFinder
-                         extent: (Point 172 22)
+                         useDefaultExtent: true
                        )
                       (ActionButtonSpec
-                         label: 'Open Terminal'
+                         label: 'Terminal'
                          name: 'Button2'
                          translateLabel: true
                          resizeForLabel: true
                          model: doOpenTerminal
-                         extent: (Point 172 22)
+                         useDefaultExtent: true
                        )
                       )
                     
@@ -1824,8 +1836,8 @@
 
 !ProjectBuilderAssistantApplication class methodsFor:'startup'!
 
-openOn:aProjectDefinitionClass
-    ^ self new openOn:aProjectDefinitionClass
+openOn:aProjectDefinitionOrStartupClass
+    ^ self new openOn:aProjectDefinitionOrStartupClass
 
     "Created: / 20-07-2012 / 12:33:25 / cg"
 !
@@ -1966,7 +1978,12 @@
                     ifFalse:[newProjectsName value].
         Class packageQuerySignal answer:pkg
         do:[
-            newStartupClass := StandaloneStartup
+            |startupClass|
+            
+            startupClass := self projectTypeIsNonGuiApplication
+                                ifTrue:[ StandaloneStartupHeadless ]
+                                ifFalse:[ StandaloneStartup ]. 
+            newStartupClass := startupClass
                             subclass:newClassName asSymbol
                             instanceVariableNames:''
                             classVariableNames:''
@@ -2740,29 +2757,43 @@
     ^ browser.
 !
 
-openOn:aProjectDefinitionClass
-    |type "apps" startupClass pageToGo|
+openOn:aProjectDefinitionOrStartupClass
+    |type "apps" projectDefinitionClass startupClass pageToGo|
 
     self allButOpen.
-    aProjectDefinitionClass isLibraryDefinition ifTrue:[
-        type := ProjectDefinition libraryType
-    ] ifFalse:[
-        aProjectDefinitionClass isGUIApplication ifTrue:[
-            type := ProjectDefinition guiApplicationType
-        ] ifFalse:[
-            type := ProjectDefinition nonGuiApplicationType
-        ]
+    (aProjectDefinitionOrStartupClass inheritsFrom:StandaloneStartup) ifTrue:[
+        startupClass := aProjectDefinitionOrStartupClass.
+        type := ProjectDefinition nonGuiApplicationType.
+        projectDefinitionClass := startupClass projectDefinitionClass.
+        (projectDefinitionClass startupClass == startupClass) ifFalse:[
+            self halt.
+        ].    
+    ] ifFalse:[ 
+        projectDefinitionClass := aProjectDefinitionOrStartupClass.
+        projectDefinitionClass isFolderForProjectsDefinition ifFalse:[
+            projectDefinitionClass isLibraryDefinition ifTrue:[
+                type := ProjectDefinition libraryType
+            ] ifFalse:[
+                projectDefinitionClass isGUIApplication ifTrue:[
+                    type := ProjectDefinition guiApplicationType.
+                    startupClass := projectDefinitionClass startupClass
+                ] ifFalse:[
+                    type := ProjectDefinition nonGuiApplicationType.
+                    startupClass := projectDefinitionClass startupClass
+                ]
+            ].
+        ].
     ].
     self projectTypeHolder value:type.
     self hideSTXProjects value:false.
-    selectedProjectDefinition := aProjectDefinitionClass.
-    self selectedProjectIndexHolder value:(self listOfMatchingPackageIds value indexOf:aProjectDefinitionClass package).
+    selectedProjectDefinition := projectDefinitionClass.
+    self selectedProjectIndexHolder value:(self listOfMatchingPackageIds value indexOf:projectDefinitionClass package).
     self hasProjectSelectedHolder value:true.
 
     pageToGo := 2.
     (type == ProjectDefinition guiApplicationType) ifTrue:[
         pageToGo := 3.
-        (startupClass := aProjectDefinitionClass startupClass) notNil ifTrue:[
+        startupClass notNil ifTrue:[
             self updateListOfStartupClassesInProject.
             selectedStartupClass := startupClass.
             self selectedStartupClassIndexHolder value:(self listOfStartupClassesInProject value indexOf:startupClass).
@@ -2772,7 +2803,7 @@
     ].
     (type == ProjectDefinition nonGuiApplicationType) ifTrue:[
         pageToGo := 4.
-        (startupClass := aProjectDefinitionClass startupClass) notNil ifTrue:[
+        startupClass notNil ifTrue:[
             self updateListOfStartupClassesInProject.
             selectedStartupClass := startupClass.
             self selectedStartupClassIndexHolder value:(self listOfStartupClassesInProject value indexOf:startupClass).
@@ -3044,17 +3075,21 @@
 !
 
 projectTypeIsGuiApplication
-    ^ self projectTypeHolder value == ProjectDefinition guiApplicationType
+    ^ self projectType == ProjectDefinition guiApplicationType
 
     "Modified: / 20-07-2012 / 13:29:59 / cg"
 !
 
 projectTypeIsLibrary
-    ^ self projectTypeHolder value == ProjectDefinition libraryType
+    ^ self projectType == ProjectDefinition libraryType
 
     "Modified: / 20-07-2012 / 13:29:24 / cg"
 !
 
+projectTypeIsNonGuiApplication
+    ^ self projectType == ProjectDefinition nonGuiApplicationType
+!
+
 projectTypeIsNotLibrary
     ^ self projectTypeIsLibrary not
 ! !