Tools__ProjectDefinitionEditor.st
changeset 2100 4a7a7734e30c
parent 2082 cb4532367cc0
child 2111 fd5f44a752ee
--- a/Tools__ProjectDefinitionEditor.st	Mon Sep 18 15:26:44 2006 +0200
+++ b/Tools__ProjectDefinitionEditor.st	Wed Sep 20 14:42:08 2006 +0200
@@ -10,7 +10,7 @@
 		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
 		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
 		isApplicationDefinitionHolder isNonGUIApplicationHolder
-		startSinglethreadedHolder startupClassNameHolder
+		startSinglethreadedHolder hasConsoleHolder startupClassNameHolder
 		startupSelectorHolder prerequisitesList classListHolder
 		extensionsListHolder prerequisitesListHolder'
 	classVariableNames:''
@@ -46,7 +46,7 @@
     unfinished app-definition editor
 
     [author:]
-        cg (cg@FUSI)
+	cg (cg@FUSI)
 
     [instance variables:]
 
@@ -60,15 +60,15 @@
 examples
 "
   Starting the application:
-                                                                [exBegin]
+								[exBegin]
     (ProjectDefinitionEditor new
-        definitionClass:stx_libbasic) open
-                                                                [exEnd]
+	definitionClass:stx_libbasic) open
+								[exEnd]
 
-                                                                [exBegin]
+								[exBegin]
     (ProjectDefinitionEditor new
-        definitionClass:bosch_dapasx_application) open
-                                                                [exEnd]
+	definitionClass:bosch_dapasx_application) open
+								[exEnd]
 "
 ! !
 
@@ -88,32 +88,32 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: classesSpec
-        window: 
+	name: classesSpec
+	window:
        (WindowSpec
-          label: 'NewApplication'
-          name: 'NewApplication'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 300 300)
-        )
-        component: 
+	  label: 'NewApplication'
+	  name: 'NewApplication'
+	  min: (Point 0 0)
+	  bounds: (Rectangle 0 0 300 300)
+	)
+	component:
        (SpecCollection
-          collection: (
-           (DataSetSpec
-              name: 'ClassesTable'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              model: selectedClassIndexHolder
-              menu: classListMenu
-              hasHorizontalScrollBar: true
-              hasVerticalScrollBar: true
-              dataList: classListHolder
-              columnHolder: classesTableColumns
-            )
-           )
-         
-        )
+	  collection: (
+	   (DataSetSpec
+	      name: 'ClassesTable'
+	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+	      model: selectedClassIndexHolder
+	      menu: classListMenu
+	      hasHorizontalScrollBar: true
+	      hasVerticalScrollBar: true
+	      dataList: classListHolder
+	      columnHolder: classesTableColumns
+	    )
+	   )
+
+	)
       )
 
     "Modified: / 07-09-2006 / 11:35:14 / cg"
@@ -133,96 +133,96 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: compilationSpec
-        window: 
+	name: compilationSpec
+	window:
        (WindowSpec
-          label: 'NewApplication'
-          name: 'NewApplication'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 433 300)
-        )
-        component: 
+	  label: 'NewApplication'
+	  name: 'NewApplication'
+	  min: (Point 0 0)
+	  bounds: (Rectangle 0 0 433 300)
+	)
+	component:
        (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Optimization'
-              name: 'FramedBox1'
-              layout: (LayoutFrame 0 0 0 0 0 1 93 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (LabelSpec
-                    label: 'STC Optimization Flags:'
-                    name: 'Label1'
-                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'STCOptimizationFlagsEntryField'
-                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
-                    model: stcOptimizationFlagsHolder
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: false
-                  )
-                 (LabelSpec
-                    label: 'CC Optimization Flags:'
-                    name: 'Label2'
-                    layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'CCOptimizationFlagsEntryField'
-                    layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
-                    model: ccOptimizationFlagsHolder
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: false
-                  )
-                 )
-               
-              )
-            )
-           (FramedBoxSpec
-              label: 'Includes'
-              name: 'FramedBox2'
-              layout: (LayoutFrame 0 0 98 0 0 1 160 0)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (LabelSpec
-                    label: 'Additional Includes:'
-                    name: 'Label3'
-                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'IncludeFlagsEntryField'
-                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
-                    model: includeFlagsHolder
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    acceptOnPointerLeave: false
-                  )
-                 )
-               
-              )
-            )
-           )
-         
-        )
+	  collection: (
+	   (FramedBoxSpec
+	      label: 'Optimization'
+	      name: 'FramedBox1'
+	      layout: (LayoutFrame 0 0 0 0 0 1 93 0)
+	      labelPosition: topLeft
+	      translateLabel: true
+	      component:
+	     (SpecCollection
+		collection: (
+		 (LabelSpec
+		    label: 'STC Optimization Flags:'
+		    name: 'Label1'
+		    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
+		    translateLabel: true
+		    adjust: right
+		  )
+		 (InputFieldSpec
+		    name: 'STCOptimizationFlagsEntryField'
+		    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
+		    model: stcOptimizationFlagsHolder
+		    acceptOnReturn: true
+		    acceptOnTab: true
+		    acceptOnLostFocus: true
+		    acceptOnPointerLeave: false
+		  )
+		 (LabelSpec
+		    label: 'CC Optimization Flags:'
+		    name: 'Label2'
+		    layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
+		    translateLabel: true
+		    adjust: right
+		  )
+		 (InputFieldSpec
+		    name: 'CCOptimizationFlagsEntryField'
+		    layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
+		    model: ccOptimizationFlagsHolder
+		    acceptOnReturn: true
+		    acceptOnTab: true
+		    acceptOnLostFocus: true
+		    acceptOnPointerLeave: false
+		  )
+		 )
+
+	      )
+	    )
+	   (FramedBoxSpec
+	      label: 'Includes'
+	      name: 'FramedBox2'
+	      layout: (LayoutFrame 0 0 98 0 0 1 160 0)
+	      labelPosition: topLeft
+	      translateLabel: true
+	      component:
+	     (SpecCollection
+		collection: (
+		 (LabelSpec
+		    label: 'Additional Includes:'
+		    name: 'Label3'
+		    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
+		    translateLabel: true
+		    adjust: right
+		  )
+		 (InputFieldSpec
+		    name: 'IncludeFlagsEntryField'
+		    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
+		    model: includeFlagsHolder
+		    acceptOnReturn: true
+		    acceptOnTab: true
+		    acceptOnLostFocus: true
+		    acceptOnPointerLeave: false
+		  )
+		 )
+
+	      )
+	    )
+	   )
+
+	)
       )
 !
 
@@ -240,214 +240,214 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: descriptionSpec
-        window: 
+	name: descriptionSpec
+	window:
        (WindowSpec
-          label: 'NewApplication'
-          name: 'NewApplication'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 433 300)
-        )
-        component: 
+	  label: 'NewApplication'
+	  name: 'NewApplication'
+	  min: (Point 0 0)
+	  bounds: (Rectangle 0 0 433 300)
+	)
+	component:
        (SpecCollection
-          collection: (
-           (LabelSpec
-              label: 'Company:'
-              name: 'CompanyLabel'
-              layout: (LayoutFrame 2 0.0 13 0 160 0 35 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'CompanyEntryField'
-              layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0)
-              model: companyNameHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'Description:'
-              name: 'DescriptionLabel'
-              layout: (LayoutFrame 2 0.0 39 0 160 0 61 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'DescriptionEntryField'
-              layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0)
-              model: descriptionHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'ProductName:'
-              name: 'ProductNameLabel'
-              layout: (LayoutFrame 2 0.0 65 0 160 0 87 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'ProductNameEntryField'
-              layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0)
-              model: productNameHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'ProductVersion:'
-              name: 'ProductVersionLabel'
-              layout: (LayoutFrame 2 0.0 91 0 160 0 113 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'MajorVersionNrEntryField'
-              layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0)
-              model: majorVersionNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'MinorVersionNrEntryField'
-              layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0)
-              model: minorVersionNrHolder
-              type: numberOrNil
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'RevisionNrEntryField'
-              layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0)
-              model: revisionNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'ReleaseNrEntryField'
-              layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0)
-              model: releaseNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'LegalCopyright:'
-              name: 'LegalCopyrightLabel'
-              layout: (LayoutFrame 2 0.0 119 0 160 0 141 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'LegalCopyrightEntryField'
-              layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0)
-              model: legalCopyrightHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'FileDescriptionDescription:'
-              name: 'FileDescriptionLabel'
-              layout: (LayoutFrame 2 0.0 161 0 160 0 183 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'FileDescriptionEntryField'
-              layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0)
-              model: fileDescriptionHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'FileVersion:'
-              name: 'FileVersionLabel'
-              layout: (LayoutFrame 2 0.0 187 0 160 0 209 0)
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'FileMajorVersionNrEntryField'
-              layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0)
-              model: fileMajorVersionNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'FileMinorVersionNrEntryField'
-              layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0)
-              model: fileMinorVersionNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'FileRevisionNrEntryField'
-              layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0)
-              model: fileRevisionNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (InputFieldSpec
-              name: 'FileReleaseNrEntryField'
-              layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0)
-              model: fileReleaseNrHolder
-              type: number
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           (LabelSpec
-              label: 'Icon Filename:'
-              name: 'IconFileNameLabel'
-              layout: (LayoutFrame 2 0.0 236 0 160 0 258 0)
-              visibilityChannel: isApplicationDefinitionHolder
-              translateLabel: true
-              adjust: right
-            )
-           (InputFieldSpec
-              name: 'IconFileNameEntryField'
-              layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0)
-              visibilityChannel: isApplicationDefinitionHolder
-              model: iconFilenameHolder
-              acceptOnReturn: true
-              acceptOnTab: true
-              acceptOnLostFocus: true
-              acceptOnPointerLeave: false
-            )
-           )
-         
-        )
+	  collection: (
+	   (LabelSpec
+	      label: 'Company:'
+	      name: 'CompanyLabel'
+	      layout: (LayoutFrame 2 0.0 13 0 160 0 35 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'CompanyEntryField'
+	      layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0)
+	      model: companyNameHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'Description:'
+	      name: 'DescriptionLabel'
+	      layout: (LayoutFrame 2 0.0 39 0 160 0 61 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'DescriptionEntryField'
+	      layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0)
+	      model: descriptionHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'ProductName:'
+	      name: 'ProductNameLabel'
+	      layout: (LayoutFrame 2 0.0 65 0 160 0 87 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'ProductNameEntryField'
+	      layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0)
+	      model: productNameHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'ProductVersion:'
+	      name: 'ProductVersionLabel'
+	      layout: (LayoutFrame 2 0.0 91 0 160 0 113 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'MajorVersionNrEntryField'
+	      layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0)
+	      model: majorVersionNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'MinorVersionNrEntryField'
+	      layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0)
+	      model: minorVersionNrHolder
+	      type: numberOrNil
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'RevisionNrEntryField'
+	      layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0)
+	      model: revisionNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'ReleaseNrEntryField'
+	      layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0)
+	      model: releaseNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'LegalCopyright:'
+	      name: 'LegalCopyrightLabel'
+	      layout: (LayoutFrame 2 0.0 119 0 160 0 141 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'LegalCopyrightEntryField'
+	      layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0)
+	      model: legalCopyrightHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'FileDescriptionDescription:'
+	      name: 'FileDescriptionLabel'
+	      layout: (LayoutFrame 2 0.0 161 0 160 0 183 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'FileDescriptionEntryField'
+	      layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0)
+	      model: fileDescriptionHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'FileVersion:'
+	      name: 'FileVersionLabel'
+	      layout: (LayoutFrame 2 0.0 187 0 160 0 209 0)
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'FileMajorVersionNrEntryField'
+	      layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0)
+	      model: fileMajorVersionNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'FileMinorVersionNrEntryField'
+	      layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0)
+	      model: fileMinorVersionNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'FileRevisionNrEntryField'
+	      layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0)
+	      model: fileRevisionNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (InputFieldSpec
+	      name: 'FileReleaseNrEntryField'
+	      layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0)
+	      model: fileReleaseNrHolder
+	      type: number
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   (LabelSpec
+	      label: 'Icon Filename:'
+	      name: 'IconFileNameLabel'
+	      layout: (LayoutFrame 2 0.0 236 0 160 0 258 0)
+	      visibilityChannel: isApplicationDefinitionHolder
+	      translateLabel: true
+	      adjust: right
+	    )
+	   (InputFieldSpec
+	      name: 'IconFileNameEntryField'
+	      layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0)
+	      visibilityChannel: isApplicationDefinitionHolder
+	      model: iconFilenameHolder
+	      acceptOnReturn: true
+	      acceptOnTab: true
+	      acceptOnLostFocus: true
+	      acceptOnPointerLeave: false
+	    )
+	   )
+
+	)
       )
 !
 
@@ -465,31 +465,31 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: extensionsSpec
-        window: 
+	name: extensionsSpec
+	window:
        (WindowSpec
-          label: 'NewApplication'
-          name: 'NewApplication'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 300 300)
-        )
-        component: 
+	  label: 'NewApplication'
+	  name: 'NewApplication'
+	  min: (Point 0 0)
+	  bounds: (Rectangle 0 0 300 300)
+	)
+	component:
        (SpecCollection
-          collection: (
-           (DataSetSpec
-              name: 'ExtensionsTable'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              model: selectedExtensionIndexHolder
-              hasHorizontalScrollBar: true
-              hasVerticalScrollBar: true
-              dataList: extensionsListHolder
-              columnHolder: extensionsTableColumns
-            )
-           )
-         
-        )
+	  collection: (
+	   (DataSetSpec
+	      name: 'ExtensionsTable'
+	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+	      model: selectedExtensionIndexHolder
+	      hasHorizontalScrollBar: true
+	      hasVerticalScrollBar: true
+	      dataList: extensionsListHolder
+	      columnHolder: extensionsTableColumns
+	    )
+	   )
+
+	)
       )
 
     "Modified: / 07-09-2006 / 11:35:17 / cg"
@@ -509,31 +509,31 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: extensionsSpec
-        window: 
+	name: extensionsSpec
+	window:
        (WindowSpec
-          label: 'NewApplication'
-          name: 'NewApplication'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 300 300)
-        )
-        component: 
+	  label: 'NewApplication'
+	  name: 'NewApplication'
+	  min: (Point 0 0)
+	  bounds: (Rectangle 0 0 300 300)
+	)
+	component:
        (SpecCollection
-          collection: (
-           (DataSetSpec
-              name: 'ExtensionsTable'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              model: selectedPrerequisitesIndexHolder
-              hasHorizontalScrollBar: true
-              hasVerticalScrollBar: true
-              dataList: prerequisitesListHolder
-              columnHolder: prerequisitesTableColumns
-            )
-           )
-         
-        )
+	  collection: (
+	   (DataSetSpec
+	      name: 'ExtensionsTable'
+	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+	      model: selectedPrerequisitesIndexHolder
+	      hasHorizontalScrollBar: true
+	      hasVerticalScrollBar: true
+	      dataList: prerequisitesListHolder
+	      columnHolder: prerequisitesTableColumns
+	    )
+	   )
+
+	)
       )
 
     "Created: / 05-09-2006 / 13:21:32 / cg"
@@ -615,7 +615,7 @@
            (FramedBoxSpec
               label: 'Execution'
               name: 'FramedBox2'
-              layout: (LayoutFrame 0 0 97 0 0 1 160 0)
+              layout: (LayoutFrame 0 0 97 0 0 1 186 0)
               labelPosition: topLeft
               translateLabel: true
               component: 
@@ -623,19 +623,27 @@
                 collection: (
                  (CheckBoxSpec
                     label: 'Non-GUI Application'
-                    name: 'CheckBox1'
+                    name: 'Non-GUI CheckBox'
                     layout: (LayoutFrame 0 0.0 7 0 0 0.5 29 0)
                     model: isNonGUIApplicationHolder
                     translateLabel: true
                   )
                  (CheckBoxSpec
                     label: 'Singlethreaded'
-                    name: 'CheckBox2'
+                    name: 'SinglethreadedCheckBox'
                     layout: (LayoutFrame 0 0.5 7 0 0 1 29 0)
                     enableChannel: isNonGUIApplicationHolder
                     model: startSinglethreadedHolder
                     translateLabel: true
                   )
+                 (CheckBoxSpec
+                    label: 'Has Console'
+                    name: 'HasConsoleCheckBox1'
+                    layout: (LayoutFrame 0 0.5 34 0 0 1 56 0)
+                    enableChannel: isGUIApplicationHolder
+                    model: hasConsoleHolder
+                    translateLabel: true
+                  )
                  )
                
               )
@@ -661,31 +669,31 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: windowSpec
-        window: 
+	name: windowSpec
+	window:
        (WindowSpec
-          label: 'ApplicationDefinitionBuilder'
-          name: 'ApplicationDefinitionBuilder'
-          min: (Point 10 10)
-          max: (Point 1024 768)
-          bounds: (Rectangle 0 0 596 339)
-          menu: mainMenu
-        )
-        component: 
+	  label: 'ApplicationDefinitionBuilder'
+	  name: 'ApplicationDefinitionBuilder'
+	  min: (Point 10 10)
+	  max: (Point 1024 768)
+	  bounds: (Rectangle 0 0 596 339)
+	  menu: mainMenu
+	)
+	component:
        (SpecCollection
-          collection: (
-           (NoteBookViewSpec
-              name: 'NoteBook1'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              model: selectedTabIndexHolder
-              menu: tabList
-              useIndex: true
-            )
-           )
-         
-        )
+	  collection: (
+	   (NoteBookViewSpec
+	      name: 'NoteBook1'
+	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+	      model: selectedTabIndexHolder
+	      menu: tabList
+	      useIndex: true
+	    )
+	   )
+
+	)
       )
 
     "Modified: / 03-09-2006 / 10:57:33 / cg"
@@ -714,33 +722,33 @@
 
     ^     #(
        (TabItem
-          label: 'Description'
-          minorKey: descriptionSpec
-        )
+	  label: 'Description'
+	  minorKey: descriptionSpec
+	)
        (TabItem
-          label: 'Classes'
-          createNewBuilder: false
-          translateLabel: true
-          minorKey: classesSpec
-        )
+	  label: 'Classes'
+	  createNewBuilder: false
+	  translateLabel: true
+	  minorKey: classesSpec
+	)
        (TabItem
-          label: 'Extensions'
-          minorKey: extensionsSpec
-        )
+	  label: 'Extensions'
+	  minorKey: extensionsSpec
+	)
        (TabItem
-          label: 'Prerequisites'
-          minorKey: prerequisitesSpec
-        )
+	  label: 'Prerequisites'
+	  minorKey: prerequisitesSpec
+	)
        (TabItem
-          label: 'Compilation'
-          minorKey: compilationSpec
-        )
+	  label: 'Compilation'
+	  minorKey: compilationSpec
+	)
        (TabItem
-          label: 'Startup'
-          minorKey: startupSpec
-        )
+	  label: 'Startup'
+	  minorKey: startupSpec
+	)
        )
-     
+
       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
 
     "Created: / 05-09-2006 / 16:24:48 / cg"
@@ -762,29 +770,29 @@
 
     ^     #(
        (TabItem
-          label: 'Description'
-          minorKey: descriptionSpec
-        )
+	  label: 'Description'
+	  minorKey: descriptionSpec
+	)
        (TabItem
-          label: 'Classes'
-          createNewBuilder: false
-          translateLabel: true
-          minorKey: classesSpec
-        )
+	  label: 'Classes'
+	  createNewBuilder: false
+	  translateLabel: true
+	  minorKey: classesSpec
+	)
        (TabItem
-          label: 'Extensions'
-          minorKey: extensionsSpec
-        )
+	  label: 'Extensions'
+	  minorKey: extensionsSpec
+	)
        (TabItem
-          label: 'Prerequisites'
-          minorKey: prerequisitesSpec
-        )
+	  label: 'Prerequisites'
+	  minorKey: prerequisitesSpec
+	)
        (TabItem
-          label: 'Compilation'
-          minorKey: compilationSpec
-        )
+	  label: 'Compilation'
+	  minorKey: compilationSpec
+	)
        )
-     
+
       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
 
     "Created: / 05-09-2006 / 16:24:52 / cg"
@@ -807,33 +815,33 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Generate'
-            itemValue: menuGenerateClassList
-            translateLabel: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Add...'
-            itemValue: menuAddClass
-            translateLabel: true
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Remove...'
-            itemValue: menuRemoveClass
-            translateLabel: true
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Generate'
+	    itemValue: menuGenerateClassList
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Add...'
+	    itemValue: menuAddClass
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Remove...'
+	    itemValue: menuRemoveClass
+	    translateLabel: true
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -851,33 +859,33 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Generate'
-            itemValue: menuGenerateExtensionsList
-            translateLabel: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Add...'
-            itemValue: menuAddExtension
-            translateLabel: true
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Remove...'
-            itemValue: menuRemoveExtension
-            translateLabel: true
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Generate'
+	    itemValue: menuGenerateExtensionsList
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Add...'
+	    itemValue: menuAddExtension
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Remove...'
+	    itemValue: menuRemoveExtension
+	    translateLabel: true
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -895,122 +903,122 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            label: 'File'
-            translateLabel: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  label: 'New'
-                  itemValue: menuNew
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'Open...'
-                  itemValue: menuOpen
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  enabled: hasDefinitionClassHolder
-                  label: 'Save'
-                  itemValue: menuSave
-                  translateLabel: true
-                )
-               (MenuItem
-                  enabled: hasDefinitionClassHolder
-                  label: 'Save As...'
-                  itemValue: menuSaveAs
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'Exit'
-                  itemValue: closeRequest
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: 'Definition'
-            translateLabel: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  enabled: hasDefinitionClassHolder
-                  label: 'Generate Definitions'
-                  itemValue: menuGenerateProjectDefinitions
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: 'Classes'
-            translateLabel: true
-            isVisible: classesMenuVisibleHolder
-            submenuChannel: classListMenu
-            keepLinkedMenu: true
-          )
-         (MenuItem
-            label: 'Extensions'
-            translateLabel: true
-            isVisible: extensionsMenuVisibleHolder
-            submenuChannel: extensionsListMenu
-            keepLinkedMenu: true
-          )
-         (MenuItem
-            label: 'Prerequisites'
-            translateLabel: true
-            isVisible: prerequisitesMenuVisibleHolder
-            submenuChannel: prerequisitesListMenu
-            keepLinkedMenu: true
-          )
-         (MenuItem
-            label: 'Help'
-            translateLabel: true
-            startGroup: right
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  label: 'Documentation'
-                  itemValue: openDocumentation
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'About this Application...'
-                  itemValue: openAboutThisApplication
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    label: 'File'
+	    translateLabel: true
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  label: 'New'
+		  itemValue: menuNew
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'Open...'
+		  itemValue: menuOpen
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  enabled: hasDefinitionClassHolder
+		  label: 'Save'
+		  itemValue: menuSave
+		  translateLabel: true
+		)
+	       (MenuItem
+		  enabled: hasDefinitionClassHolder
+		  label: 'Save As...'
+		  itemValue: menuSaveAs
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'Exit'
+		  itemValue: closeRequest
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: 'Definition'
+	    translateLabel: true
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  enabled: hasDefinitionClassHolder
+		  label: 'Generate Definitions'
+		  itemValue: menuGenerateProjectDefinitions
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: 'Classes'
+	    translateLabel: true
+	    isVisible: classesMenuVisibleHolder
+	    submenuChannel: classListMenu
+	    keepLinkedMenu: true
+	  )
+	 (MenuItem
+	    label: 'Extensions'
+	    translateLabel: true
+	    isVisible: extensionsMenuVisibleHolder
+	    submenuChannel: extensionsListMenu
+	    keepLinkedMenu: true
+	  )
+	 (MenuItem
+	    label: 'Prerequisites'
+	    translateLabel: true
+	    isVisible: prerequisitesMenuVisibleHolder
+	    submenuChannel: prerequisitesListMenu
+	    keepLinkedMenu: true
+	  )
+	 (MenuItem
+	    label: 'Help'
+	    translateLabel: true
+	    startGroup: right
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  label: 'Documentation'
+		  itemValue: openDocumentation
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'About this Application...'
+		  itemValue: openAboutThisApplication
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -1028,33 +1036,33 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Generate'
-            itemValue: menuGeneratePrerequisitesList
-            translateLabel: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Add...'
-            itemValue: menuAddPrerequisite
-            translateLabel: true
-          )
-         (MenuItem
-            enabled: hasDefinitionClassHolder
-            label: 'Remove...'
-            itemValue: menuRemovePrerequisite
-            translateLabel: true
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Generate'
+	    itemValue: menuGeneratePrerequisitesList
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Add...'
+	    itemValue: menuAddPrerequisite
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    enabled: hasDefinitionClassHolder
+	    label: 'Remove...'
+	    itemValue: menuRemovePrerequisite
+	    translateLabel: true
+	  )
+	 )
+	nil
+	nil
       )
 ! !
 
@@ -1075,35 +1083,35 @@
 
     ^#(
       (DataSetColumnSpec
-         label: 'Auto'
-         labelButtonType: Button
-         rendererType: CheckToggle
-         model: autoloaded
-         canSelect: false
+	 label: 'Auto'
+	 labelButtonType: Button
+	 rendererType: CheckToggle
+	 model: autoloaded
+	 canSelect: false
        )
       (DataSetColumnSpec
-         label: 'Win32'
-         labelButtonType: Button
-         rendererType: CheckToggle
-         model: win32
-         canSelect: false
+	 label: 'Win32'
+	 labelButtonType: Button
+	 rendererType: CheckToggle
+	 model: win32
+	 canSelect: false
        )
       (DataSetColumnSpec
-         label: 'Unix'
-         labelButtonType: Button
-         rendererType: CheckToggle
-         model: unix
-         canSelect: false
+	 label: 'Unix'
+	 labelButtonType: Button
+	 rendererType: CheckToggle
+	 model: unix
+	 canSelect: false
        )
       (DataSetColumnSpec
-         label: 'Class'
-         labelAlignment: left
-         labelButtonType: Button
-         model: className
-         canSelect: false
+	 label: 'Class'
+	 labelAlignment: left
+	 labelButtonType: Button
+	 model: className
+	 canSelect: false
        )
       )
-    
+
 !
 
 extensionsTableColumns
@@ -1121,21 +1129,21 @@
 
     ^#(
       (DataSetColumnSpec
-         label: 'Class'
-         labelAlignment: left
-         labelButtonType: Button
-         model: className
-         canSelect: false
+	 label: 'Class'
+	 labelAlignment: left
+	 labelButtonType: Button
+	 model: className
+	 canSelect: false
        )
       (DataSetColumnSpec
-         label: 'Selector'
-         labelAlignment: left
-         labelButtonType: Button
-         model: selector
-         canSelect: false
+	 label: 'Selector'
+	 labelAlignment: left
+	 labelButtonType: Button
+	 model: selector
+	 canSelect: false
        )
       )
-    
+
 !
 
 prerequisitesTableColumns
@@ -1153,13 +1161,13 @@
 
     ^#(
       (DataSetColumnSpec
-         label: 'Package'
-         labelAlignment: left
-         labelButtonType: Button
-         model: package
+	 label: 'Package'
+	 labelAlignment: left
+	 labelButtonType: Button
+	 model: package
        )
       )
-    
+
 ! !
 
 !ProjectDefinitionEditor methodsFor:'accessing'!
@@ -1189,7 +1197,7 @@
 
 classListHolder
     classListHolder isNil ifTrue:[
-        classListHolder := #() asValue.
+	classListHolder := #() asValue.
     ].
     ^ classListHolder.
 
@@ -1198,7 +1206,7 @@
 
 classesTableColumns
     classesTableColumns isNil ifTrue:[
-        classesTableColumns := self class classesTableColumns asValue.
+	classesTableColumns := self class classesTableColumns asValue.
     ].
     ^ classesTableColumns.
 
@@ -1207,7 +1215,7 @@
 
 companyNameHolder
     companyNameHolder isNil ifTrue:[
-        companyNameHolder := ValueHolder new.
+	companyNameHolder := ValueHolder new.
     ].
     ^ companyNameHolder.
 
@@ -1216,7 +1224,7 @@
 
 descriptionHolder
     descriptionHolder isNil ifTrue:[
-        descriptionHolder := ValueHolder new.
+	descriptionHolder := ValueHolder new.
     ].
     ^ descriptionHolder.
 
@@ -1225,7 +1233,7 @@
 
 extensionsListHolder
     extensionsListHolder isNil ifTrue:[
-        extensionsListHolder := #() asValue.
+	extensionsListHolder := #() asValue.
     ].
     ^ extensionsListHolder.
 
@@ -1234,7 +1242,7 @@
 
 fileDescriptionHolder
     fileDescriptionHolder isNil ifTrue:[
-        fileDescriptionHolder := ValueHolder new.
+	fileDescriptionHolder := ValueHolder new.
     ].
     ^ fileDescriptionHolder.
 
@@ -1250,7 +1258,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     fileMajorVersionNrHolder isNil ifTrue:[
-        fileMajorVersionNrHolder := ValueHolder new.
+	fileMajorVersionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       fileMajorVersionNrHolder addDependent:self.
 "/       fileMajorVersionNrHolder onChangeSend:#fileMajorVersionNrHolderChanged to:self.
@@ -1267,7 +1275,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     fileMinorVersionNrHolder isNil ifTrue:[
-        fileMinorVersionNrHolder := ValueHolder new.
+	fileMinorVersionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       fileMinorVersionNrHolder addDependent:self.
 "/       fileMinorVersionNrHolder onChangeSend:#fileMinorVersionNrHolderChanged to:self.
@@ -1284,7 +1292,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     fileReleaseNrHolder isNil ifTrue:[
-        fileReleaseNrHolder := ValueHolder new.
+	fileReleaseNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       fileReleaseNrHolder addDependent:self.
 "/       fileReleaseNrHolder onChangeSend:#fileReleaseNrHolderChanged to:self.
@@ -1301,7 +1309,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     fileRevisionNrHolder isNil ifTrue:[
-        fileRevisionNrHolder := ValueHolder new.
+	fileRevisionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       fileRevisionNrHolder addDependent:self.
 "/       fileRevisionNrHolder onChangeSend:#fileRevisionNrHolderChanged to:self.
@@ -1309,9 +1317,18 @@
     ^ fileRevisionNrHolder.
 !
 
+hasConsoleHolder
+    hasConsoleHolder isNil ifTrue:[
+        hasConsoleHolder := false asValue
+    ].
+    ^ hasConsoleHolder.
+
+    "Created: / 20-09-2006 / 14:39:18 / cg"
+!
+
 iconFileNameHolder
     iconFileNameHolder isNil ifTrue:[
-        iconFileNameHolder := ValueHolder new.
+	iconFileNameHolder := ValueHolder new.
     ].
     ^ iconFileNameHolder.
 
@@ -1327,7 +1344,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     iconFilenameHolder isNil ifTrue:[
-        iconFilenameHolder := ValueHolder new.
+	iconFilenameHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       iconFilenameHolder addDependent:self.
 "/       iconFilenameHolder onChangeSend:#iconFilenameHolderChanged to:self.
@@ -1337,16 +1354,22 @@
 
 isApplicationDefinitionHolder
     isApplicationDefinitionHolder isNil ifTrue:[
-        isApplicationDefinitionHolder := false asValue
+	isApplicationDefinitionHolder := false asValue
     ].
     ^ isApplicationDefinitionHolder.
 
     "Created: / 04-09-2006 / 19:22:47 / cg"
 !
 
+isGUIApplicationHolder
+    ^ BlockValue forLogicalNot:self isNonGUIApplicationHolder
+
+    "Created: / 20-09-2006 / 14:38:32 / cg"
+!
+
 isNonGUIApplicationHolder
     isNonGUIApplicationHolder isNil ifTrue:[
-        isNonGUIApplicationHolder := false asValue.
+	isNonGUIApplicationHolder := false asValue.
     ].
     ^ isNonGUIApplicationHolder.
 
@@ -1362,7 +1385,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     legalCopyrightHolder isNil ifTrue:[
-        legalCopyrightHolder := ValueHolder new.
+	legalCopyrightHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       legalCopyrightHolder addDependent:self.
 "/       legalCopyrightHolder onChangeSend:#legalCopyrightHolderChanged to:self.
@@ -1379,7 +1402,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     majorVersionNrHolder isNil ifTrue:[
-        majorVersionNrHolder := ValueHolder new.
+	majorVersionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       majorVersionNrHolder addDependent:self.
 "/       majorVersionNrHolder onChangeSend:#majorVersionNrHolderChanged to:self.
@@ -1396,7 +1419,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     minorVersionNrHolder isNil ifTrue:[
-        minorVersionNrHolder := ValueHolder new.
+	minorVersionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       minorVersionNrHolder addDependent:self.
 "/       minorVersionNrHolder onChangeSend:#minorVersionNrHolderChanged to:self.
@@ -1406,7 +1429,7 @@
 
 prerequisitesListHolder
     prerequisitesListHolder isNil ifTrue:[
-        prerequisitesListHolder := #() asValue.
+	prerequisitesListHolder := #() asValue.
     ].
     ^ prerequisitesListHolder.
 
@@ -1422,7 +1445,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     productNameHolder isNil ifTrue:[
-        productNameHolder := ValueHolder new.
+	productNameHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       productNameHolder addDependent:self.
 "/       productNameHolder onChangeSend:#productNameHolderChanged to:self.
@@ -1439,7 +1462,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     releaseNrHolder isNil ifTrue:[
-        releaseNrHolder := ValueHolder new.
+	releaseNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       releaseNrHolder addDependent:self.
 "/       releaseNrHolder onChangeSend:#releaseNrHolderChanged to:self.
@@ -1456,7 +1479,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     revisionNrHolder isNil ifTrue:[
-        revisionNrHolder := ValueHolder new.
+	revisionNrHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       revisionNrHolder addDependent:self.
 "/       revisionNrHolder onChangeSend:#revisionNrHolderChanged to:self.
@@ -1473,7 +1496,7 @@
     "*** (and replace this comment by something more useful ;-)"
 
     selectedClassIndexHolder isNil ifTrue:[
-        selectedClassIndexHolder := ValueHolder new.
+	selectedClassIndexHolder := ValueHolder new.
 "/ if your app needs to be notified of changes, uncomment one of the lines below:
 "/       selectedClassIndexHolder addDependent:self.
 "/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
@@ -1483,7 +1506,7 @@
 
 startSinglethreadedHolder
     startSinglethreadedHolder isNil ifTrue:[
-        startSinglethreadedHolder := false asValue.
+	startSinglethreadedHolder := false asValue.
     ].
     ^ startSinglethreadedHolder.
 
@@ -1492,7 +1515,7 @@
 
 startupClassNameHolder
     startupClassNameHolder isNil ifTrue:[
-        startupClassNameHolder := '' asValue.
+	startupClassNameHolder := '' asValue.
     ].
     ^ startupClassNameHolder.
 
@@ -1501,7 +1524,7 @@
 
 startupSelectorHolder
     startupSelectorHolder isNil ifTrue:[
-        startupSelectorHolder := '' asValue.
+	startupSelectorHolder := '' asValue.
     ].
     ^ startupSelectorHolder.
 
@@ -1514,7 +1537,7 @@
     |list|
 
     (list := builder bindingAt:#tabList) isNil ifTrue:[
-        builder aspectAt:#tabList put:(list := self class tabListForApplication asValue).
+	builder aspectAt:#tabList put:(list := self class tabListForApplication asValue).
     ].
     ^ list
 
@@ -1569,18 +1592,18 @@
     |entries|
 
     entries := OrderedCollection new.
-    definitionClass 
-        classNamesAndAttributesDo:[:className :attributes |
-            |entry|
+    definitionClass
+	classNamesAndAttributesDo:[:className :attributes |
+	    |entry|
 
-            entry := ClassListEntry new.
-            entry 
-                className:className
-                autoloaded:(attributes includes:#autoload)
-                win32:(attributes includes:#win32) 
-                unix:(attributes includes:#unix).
-            entries add:entry.
-        ].
+	    entry := ClassListEntry new.
+	    entry
+		className:className
+		autoloaded:(attributes includes:#autoload)
+		win32:(attributes includes:#win32)
+		unix:(attributes includes:#unix).
+	    entries add:entry.
+	].
 
     ^ entries.
 
@@ -1591,14 +1614,14 @@
     |entries|
 
     entries := OrderedCollection new.
-    definitionClass 
-        extensionMethodNames pairWiseDo:[:className :selector |
-            |entry|
+    definitionClass
+	extensionMethodNames pairWiseDo:[:className :selector |
+	    |entry|
 
-            entry := ExtensionsListEntry new.
-            entry className:className selector:selector.
-            entries add:entry.
-        ].
+	    entry := ExtensionsListEntry new.
+	    entry className:className selector:selector.
+	    entries add:entry.
+	].
 
     ^ entries.
 
@@ -1609,14 +1632,14 @@
     |entries|
 
     entries := OrderedCollection new.
-    definitionClass 
-        preRequisites do:[:packageName |
-            |entry|
+    definitionClass
+	preRequisites do:[:packageName |
+	    |entry|
 
-            entry := PrerequisitesListEntry new.
-            entry package:packageName.
-            entries add:entry.
-        ].
+	    entry := PrerequisitesListEntry new.
+	    entry package:packageName.
+	    entries add:entry.
+	].
 
     ^ entries.
 
@@ -1633,6 +1656,10 @@
     isApplicationDefinition := definitionClass isApplicationDefinition.
 
     self isApplicationDefinitionHolder value:isApplicationDefinition.
+    self isNonGUIApplicationHolder value:definitionClass isGUIApplication not.
+    self hasConsoleHolder value:definitionClass isConsoleApplication.
+    self startSinglethreadedHolder value:definitionClass isSingleThreadedApplication.
+
     isApplicationDefinition ifTrue:[
         startupClassName := definitionClass name.
         startupSelector := #start.
@@ -1667,14 +1694,16 @@
     self extensionsListHolder value:(self fetchExtensionsListEntries).
     self prerequisitesListHolder value:(self fetchPrerequisitesListEntries).
 
-    self window 
-        label:(isApplicationDefinition 
-                ifTrue:'Application'
-                ifFalse:'Library' ) 
-                    , ' Definition: ',definitionClass name.
+    self window notNil ifTrue:[
+        self window
+            label:(isApplicationDefinition
+                    ifTrue:'Application'
+                    ifFalse:'Library' )
+                        , ' Definition: ',definitionClass name.
+    ].
 
     "Created: / 04-09-2006 / 16:34:39 / cg"
-    "Modified: / 07-09-2006 / 12:36:10 / cg"
+    "Modified: / 20-09-2006 / 14:41:39 / cg"
 !
 
 refetchDefinitionValues
@@ -1686,8 +1715,8 @@
 
 update:something with:parameter from:changedObject
     changedObject == self selectedTabIndexHolder ifTrue:[
-        self updateMenuVisibility.
-        ^ self.
+	self updateMenuVisibility.
+	^ self.
     ].
     ^ super update:something with:parameter from:changedObject
 
@@ -1707,9 +1736,9 @@
 
 closeRequest
     (self hasUnsavedChanges) ifTrue:[
-        (self confirm:(resources string:'Close without saving ?')) ifFalse:[
-            ^ self
-        ]
+	(self confirm:(resources string:'Close without saving ?')) ifFalse:[
+	    ^ self
+	]
     ].
 
     ^ super closeRequest
@@ -1743,24 +1772,24 @@
     |action|
 
     action := [:generator :defClass |
-                    defClass theNonMetaclass 
-                        forEachMethodsCodeToCompileDo:
-                            [:code :category | 
-                                generator  
-                                    compile:code
-                                    forClass:defClass theMetaclass
-                                    inCategory:category.
-                            ]
-                        ignoreOldDefinition:true
-               ].
+		    defClass theNonMetaclass
+			forEachMethodsCodeToCompileDo:
+			    [:code :category |
+				generator
+				    compile:code
+				    forClass:defClass theMetaclass
+				    inCategory:category.
+			    ]
+			ignoreOldDefinition:true
+	       ].
 
     masterApplication notNil ifTrue:[
-        masterApplication
-            generateUndoableChange:'Generate Project Definitions'
-            overClasses:(Array with:self definitionClass)
-            via:action.
+	masterApplication
+	    generateUndoableChange:'Generate Project Definitions'
+	    overClasses:(Array with:self definitionClass)
+	    via:action.
     ] ifFalse:[
-        action value:Compiler value:self definitionClass
+	action value:Compiler value:self definitionClass
     ].
 
     self refetchDefinitionValues
@@ -1782,18 +1811,18 @@
     projectID := Dialog requestProject:'Project' initialAnswer:'' suggestions:nil.
     class := ProjectDefinition definitionClassForPackage:projectID.
     class isNil ifTrue:[
-        answer := Dialog 
-            confirmWithCancel:(resources string:'No Projectdefinition class exists for "%1".\\Create ?' with:projectID allBold)
-            labels:(resources array:#('Cancel' 'Create Library' 'Create Application' ))
-            values:#(nil LibraryDefinition ApplicationDefinition)
-            default:2
-            boxLabel:(resources string:'Create Projectdefinition').
-        answer isNil ifTrue:[^ self].
+	answer := Dialog
+	    confirmWithCancel:(resources string:'No Projectdefinition class exists for "%1".\\Create ?' with:projectID allBold)
+	    labels:(resources array:#('Cancel' 'Create Library' 'Create Application' ))
+	    values:#(nil LibraryDefinition ApplicationDefinition)
+	    default:2
+	    boxLabel:(resources string:'Create Projectdefinition').
+	answer isNil ifTrue:[^ self].
     ].
     answer == #LibraryDefinition ifTrue:[
-        class := LibraryDefinition definitionClassForPackage:projectID createIfAbsent:true
+	class := LibraryDefinition definitionClassForPackage:projectID createIfAbsent:true
     ] ifFalse:[
-        class := ApplicationDefinition definitionClassForPackage:projectID createIfAbsent:true
+	class := ApplicationDefinition definitionClassForPackage:projectID createIfAbsent:true
     ].
     self definitionClass:class.
 
@@ -1820,17 +1849,17 @@
 menuSaveAs
     |className class newPackage|
 
-    className := Dialog 
-                    requestClassName:'Name of new Definition class'
-                    okLabel:'Create'
-                    initialAnswer:'privete_myProject'.
+    className := Dialog
+		    requestClassName:'Name of new Definition class'
+		    okLabel:'Create'
+		    initialAnswer:'privete_myProject'.
     className isEmptyOrNil ifTrue:[^ self].
     class := Smalltalk classNamed:className.
     class notNil ifTrue:[
-        Dialog warn:(resources 
-                            string:'A class named %1 already exists'
-                            with:className).
-        ^ self.
+	Dialog warn:(resources
+			    string:'A class named %1 already exists'
+			    with:className).
+	^ self.
     ].
     newPackage := className copy replaceAll:$_ with:$/.
     newPackage replace:$/ with:$:.
@@ -1931,7 +1960,7 @@
     className := something.
 !
 
-className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg 
+className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg
     className := classNameArg.
     autoloaded := autoloadedArg.
     win32 := win32Arg.
@@ -1960,7 +1989,7 @@
     ^ className
 !
 
-className:classNameArg selector:selectorArg 
+className:classNameArg selector:selectorArg
     className := classNameArg.
     selector := selectorArg.
 !