#REFACTORING by cg
authorClaus Gittinger <cg@exept.de>
Sun, 09 Oct 2016 11:29:25 +0200
changeset 3339 3fdbc94fcf09
parent 3338 c62417f88241
child 3340 c3f16b9e2999
#REFACTORING by cg class: Tools::ProjectBuilderAssistantApplication added: #clearBuildDirectory #execuableNameVisible #executableNameHolder changed: #helpSpec #page6a_specifyProjectAttributes #page6b_specifyBuildDirectorySpec
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Sun Oct 09 11:29:12 2016 +0200
+++ b/Tools__ProjectBuilderAssistantApplication.st	Sun Oct 09 11:29:25 2016 +0200
@@ -319,16 +319,25 @@
      the UIHelpTool may not be able to read the specification."
 
     "
-     UIHelpTool openOnClass:Tools::ProjectBuilderAssistantApplication    
+     UIHelpTool openOnClass:Tools::ProjectBuilderAssistantApplication
     "
 
     <resource: #help>
 
     ^ super helpSpec addPairsFrom:#(
 
+#companyName
+''
+
 #hideOtherStartupClasses
 ''
 
+#productName
+''
+
+#programName
+''
+
 )
 ! !
 
@@ -1099,12 +1108,14 @@
                    label: 'Product Name:'
                    name: 'Label1'
                    layout: (LayoutFrame 0 0 10 0 148 0 40 0)
+                   activeHelpKey: productName
                    translateLabel: true
-                   adjust: right
+                   adjust: left
                  )
                 (InputFieldSpec
                    name: 'EntryField4'
                    layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0)
+                   activeHelpKey: productName
                    model: productNameHolder
                    acceptOnLostFocus: true
                    acceptOnPointerLeave: true
@@ -1114,12 +1125,14 @@
                    label: 'Company Name:'
                    name: 'Label2'
                    layout: (LayoutFrame 0 0 45 0 148 0 75 0)
+                   activeHelpKey: companyName
                    translateLabel: true
-                   adjust: right
+                   adjust: left
                  )
                 (InputFieldSpec
                    name: 'EntryField3'
                    layout: (LayoutFrame 150 0.0 45 0 0 1.0 75 0)
+                   activeHelpKey: companyName
                    model: companyNameHolder
                    acceptOnLostFocus: true
                    acceptOnPointerLeave: true
@@ -1129,6 +1142,38 @@
               
              )
            )
+          (FramedBoxSpec
+             label: 'Executable'
+             name: 'FramedBox4'
+             layout: (LayoutFrame 0 0.0 124 0 4 1.0 200 0)
+             visibilityChannel: execuableNameVisible
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (LabelSpec
+                   label: 'Name:'
+                   name: 'Label3'
+                   layout: (LayoutFrame 0 0 10 0 148 0 40 0)
+                   activeHelpKey: programName
+                   translateLabel: true
+                   adjust: left
+                 )
+                (InputFieldSpec
+                   name: 'EntryField5'
+                   layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0)
+                   activeHelpKey: programName
+                   model: executableNameHolder
+                   isReadOnly: true
+                   acceptOnLostFocus: true
+                   acceptOnPointerLeave: true
+                   viewClassName: ''
+                 )
+                )
+              
+             )
+           )
           )
         
        )
@@ -1165,7 +1210,7 @@
           (FramedBoxSpec
              label: 'Build Directory'
              name: 'FramedBox3'
-             layout: (LayoutFrame 0 0.0 5 0 4 1.0 79 0)
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 115 0)
              labelPosition: topLeft
              translateLabel: true
              component: 
@@ -1178,6 +1223,13 @@
                    acceptOnPointerLeave: true
                    viewClassName: FilenameWidgetWithHistory
                  )
+                (ActionButtonSpec
+                   label: 'Clear'
+                   name: 'Button1'
+                   layout: (LayoutFrame -127 1 50 0 -2 1 72 0)
+                   translateLabel: true
+                   model: clearBuildDirectory
+                 )
                 )
               
              )
@@ -1185,7 +1237,7 @@
           (FramedBoxSpec
              label: 'Compiler / Toolchain'
              name: 'FramedBox4'
-             layout: (LayoutFrame 0 0.0 81 0 4 1.0 155 0)
+             layout: (LayoutFrame 0 0.0 116 0 4 1.0 190 0)
              labelPosition: topLeft
              translateLabel: true
              component: 
@@ -1212,7 +1264,7 @@
            )
           (TextEditorSpec
              name: 'TextEditor1'
-             layout: (LayoutFrame 2 0.0 158 0 -2 1.0 303 0)
+             layout: (LayoutFrame 2 0.0 190 0 -2 1.0 303 0)
              level: -1
              visibilityChannel: compilerWarnMessageVisibleHolder
              model: compilerWarnMessageHolder
@@ -1854,6 +1906,10 @@
     self updateButtonEnableState.
 !
 
+clearBuildDirectory
+    self halt.
+!
+
 createNewApplication
     <resource: #uiCallback>
 
@@ -2410,6 +2466,19 @@
     ^ compilerWarnMessageVisibleHolder.
 !
 
+execuableNameVisible
+    ^ self projectTypeIsNonGuiApplication
+!
+
+executableNameHolder
+    |holder|
+
+    (holder := builder bindingAt:#executableNameHolder) isNil ifTrue:[
+        builder aspectAt:#executableNameHolder put:(holder := nil asValue).
+    ].
+    ^ holder.
+!
+
 hasApplicationSelectedHolder
     <resource: #uiAspect>