Launcher.st
changeset 1909 48e4c47b8cc7
parent 1908 a26d18691237
child 1910 ff7233dcd313
--- a/Launcher.st	Fri Oct 02 12:56:52 1998 +0200
+++ b/Launcher.st	Fri Oct 02 19:41:03 1998 +0200
@@ -2808,7 +2808,7 @@
      warnEnabler check component oldIndent t supportsJustInTimeCompilation y
      y2 fullDebugSupport yMax
      compileLazy loadBinaries canLoadBinaries strings idx thisIsADemoVersion
-     resources|
+     resources stcSetupButt|
 
     resources := requestor class classResources.
 
@@ -2960,102 +2960,99 @@
         thisIsADemoVersion ifFalse:[
             stcCompilation selectionIndex:( stcCompilationOptions indexOf:(Compiler stcCompilation) ifAbsent:2).
 
-            component := box 
-                            addLabelledInputField:(resources string:'stc command:')
-                            adjust:#right
-                            on:stc 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(100 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-            component := box 
-                            addLabelledInputField:(resources string:'stc options:')
-                            adjust:#right
-                            on:stcOptions 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(250 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-            component := box 
-                            addLabelledInputField:(resources string:'include directories:')
-                            adjust:#right
-                            on:stcIncludes 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(250 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-"/        box addVerticalSpace.
-
-            component := box 
-                            addLabelledInputField:(resources string:'defines:')
-                            adjust:#right
-                            on:stcDefines 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(250 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-"/        box addVerticalSpace.
-
-"/        box addVerticalSpace.
-
-            component := box 
-                            addLabelledInputField:(resources string:'cc command:')
-                            adjust:#right
-                            on:cc 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(150 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-            component := box 
-                            addLabelledInputField:(resources string:'cc options:')
-                            adjust:#right
-                            on:ccOptions 
-                            tabable:true
-                            separateAtX:0.3.
-            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-            component preferredExtent:(250 @ component preferredExtent y).
-            canLoadBinaries ifFalse:[component disable].
-
-            stcLibraries notNil ifTrue:[
-"/            box addVerticalSpace.
-
-                component := box 
-                                addLabelledInputField:(resources string:'C-libraries:')
-                                adjust:#right
-                                on:stcLibraries 
-                                tabable:true
-                                separateAtX:0.3.
-                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-                component preferredExtent:(250 @ component preferredExtent y).
-                canLoadBinaries ifFalse:[component disable].
-            ].
-
-            stcLibraryPath notNil ifTrue:[
-"/            box addVerticalSpace.
-
-                component := box 
-                                addLabelledInputField:(resources string:'stc libPath:')
-                                adjust:#right
-                                on:stcLibraryPath 
-                                tabable:true
-                                separateAtX:0.3.
-                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
-                component preferredExtent:(250 @ component preferredExtent y).
-                canLoadBinaries ifFalse:[component disable].
-            ].
+            stcSetupButt := box addComponent:(Button label:(resources string:'stc compilation parameters...') 
+                       action:[|manager|
+
+                               self stcCompilerSettingsFor:requestor.
+                              ]).
+
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'stc command:')
+"/                            adjust:#right
+"/                            on:stc 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(100 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'stc options:')
+"/                            adjust:#right
+"/                            on:stcOptions 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(250 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'include directories:')
+"/                            adjust:#right
+"/                            on:stcIncludes 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(250 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'defines:')
+"/                            adjust:#right
+"/                            on:stcDefines 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(250 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'cc command:')
+"/                            adjust:#right
+"/                            on:cc 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(150 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            component := box 
+"/                            addLabelledInputField:(resources string:'cc options:')
+"/                            adjust:#right
+"/                            on:ccOptions 
+"/                            tabable:true
+"/                            separateAtX:0.3.
+"/            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/            component preferredExtent:(250 @ component preferredExtent y).
+"/            canLoadBinaries ifFalse:[component disable].
+"/
+"/            stcLibraries notNil ifTrue:[
+"/
+"/                component := box 
+"/                                addLabelledInputField:(resources string:'C-libraries:')
+"/                                adjust:#right
+"/                                on:stcLibraries 
+"/                                tabable:true
+"/                                separateAtX:0.3.
+"/                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/                component preferredExtent:(250 @ component preferredExtent y).
+"/                canLoadBinaries ifFalse:[component disable].
+"/            ].
+"/
+"/            stcLibraryPath notNil ifTrue:[
+"/                component := box 
+"/                                addLabelledInputField:(resources string:'stc libPath:')
+"/                                adjust:#right
+"/                                on:stcLibraryPath 
+"/                                tabable:true
+"/                                separateAtX:0.3.
+"/                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+"/                component preferredExtent:(250 @ component preferredExtent y).
+"/                canLoadBinaries ifFalse:[component disable].
+"/            ].
+
         ].
 
-"/        box addVerticalSpace.
         box addHorizontalLine.
 
         "/ if there is no compiler around,
@@ -3195,7 +3192,7 @@
 
     "Modified: / 10.9.1995 / 19:19:18 / claus"
     "Modified: / 9.9.1996 / 22:42:47 / stefan"
-    "Modified: / 31.7.1998 / 01:33:38 / cg"
+    "Modified: / 2.10.1998 / 18:57:34 / cg"
 !
 
 displaySettingsFor:requestor
@@ -4842,6 +4839,200 @@
     "Modified: / 3.8.1998 / 21:23:44 / cg"
 !
 
+stcCompilerSettingsFor:requestor
+    "open an extra dialog on stc-compiler related settings"
+
+    |box      
+     stcCompilationOptions stcIncludes stcDefines stcOptions
+     stcLibraries stcLibraryPath cc stc ccOptions   
+     linkCommand linkArgs
+     component t y y2 yMax
+     canLoadBinaries strings idx thisIsADemoVersion
+     resources|
+
+    resources := requestor class classResources.
+
+    canLoadBinaries := ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles].
+
+    stcIncludes := Compiler stcCompilationIncludes asValue.
+    stcDefines := Compiler stcCompilationDefines asValue.
+    stcOptions := Compiler stcCompilationOptions asValue.
+    ccOptions := Compiler ccCompilationOptions asValue.
+
+    cc := Compiler ccPath asValue.
+    stc := Compiler stcPath asValue.
+    linkCommand := ObjectFileLoader linkCommand asValue.
+    linkArgs := ObjectFileLoader linkArgs asValue.
+
+    ObjectFileLoader notNil ifTrue:[
+        (t := ObjectFileLoader searchedLibraries) notNil ifTrue:[
+            stcLibraries := (String fromStringCollection:t separatedBy:' ') asValue.
+        ].
+        (t := ObjectFileLoader libPath) notNil ifTrue:[
+            stcLibraryPath := t asValue.
+        ]
+    ].
+
+    box := DialogBox new.
+    box label:(resources string:'STC Compilation settings').
+
+    ObjectFileLoader notNil ifTrue:[
+        thisIsADemoVersion ifFalse:[
+
+            component := box 
+                            addLabelledInputField:(resources string:'stc command:')
+                            adjust:#right
+                            on:stc 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(100 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            component := box 
+                            addLabelledInputField:(resources string:'stc options:')
+                            adjust:#right
+                            on:stcOptions 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            component := box 
+                            addLabelledInputField:(resources string:'cc command:')
+                            adjust:#right
+                            on:cc 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(150 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            component := box 
+                            addLabelledInputField:(resources string:'cc options:')
+                            adjust:#right
+                            on:ccOptions 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            component := box 
+                            addLabelledInputField:(resources string:'include directories:')
+                            adjust:#right
+                            on:stcIncludes 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+"/        box addVerticalSpace.
+
+            component := box 
+                            addLabelledInputField:(resources string:'defines:')
+                            adjust:#right
+                            on:stcDefines 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+"/        box addVerticalSpace.
+
+"/        box addVerticalSpace.
+
+            component := box 
+                            addLabelledInputField:(resources string:'link command:')
+                            adjust:#right
+                            on:linkCommand 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            component := box 
+                            addLabelledInputField:(resources string:'link args:')
+                            adjust:#right
+                            on:linkArgs 
+                            tabable:true
+                            separateAtX:0.3.
+            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+            component preferredExtent:(250 @ component preferredExtent y).
+            canLoadBinaries ifFalse:[component disable].
+
+            stcLibraries notNil ifTrue:[
+"/            box addVerticalSpace.
+
+                component := box 
+                                addLabelledInputField:(resources string:'C-libraries:')
+                                adjust:#right
+                                on:stcLibraries 
+                                tabable:true
+                                separateAtX:0.3.
+                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+                component preferredExtent:(250 @ component preferredExtent y).
+                canLoadBinaries ifFalse:[component disable].
+            ].
+
+            stcLibraryPath notNil ifTrue:[
+"/            box addVerticalSpace.
+
+                component := box 
+                                addLabelledInputField:(resources string:'stc libPath:')
+                                adjust:#right
+                                on:stcLibraryPath 
+                                tabable:true
+                                separateAtX:0.3.
+                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
+                component preferredExtent:(250 @ component preferredExtent y).
+                canLoadBinaries ifFalse:[component disable].
+            ].
+        ].
+    ].
+
+    box 
+        addHelpButtonFor:'Launcher/compilerSettings.html';
+        addAbortButton; 
+        addOkButton.
+
+    box open.
+
+    box accepted ifTrue:[
+        thisIsADemoVersion  ifFalse:[
+            Compiler stcCompilationIncludes:stcIncludes value.
+            Compiler stcCompilationDefines:stcDefines value.
+            Compiler stcCompilationOptions:stcOptions value.
+            Compiler ccCompilationOptions:ccOptions value.
+            Compiler ccPath:cc value.
+            stc value ~= Compiler stcPath ifTrue:[
+                Compiler stcPath:stc value
+            ].
+            ObjectFileLoader linkCommand:linkCommand value.
+            ObjectFileLoader linkArgs:linkArgs value.
+        ].
+
+        ObjectFileLoader notNil ifTrue:[
+            stcLibraries notNil ifTrue:[
+                ObjectFileLoader searchedLibraries:(stcLibraries value asCollectionOfWords).
+            ].
+            stcLibraryPath notNil ifTrue:[
+                ObjectFileLoader libPath:(stcLibraryPath value).
+            ]
+        ].
+    ].
+    box destroy
+
+    "Modified: / 10.9.1995 / 19:19:18 / claus"
+    "Modified: / 9.9.1996 / 22:42:47 / stefan"
+    "Created: / 2.10.1998 / 16:27:49 / cg"
+    "Modified: / 2.10.1998 / 16:39:43 / cg"
+!
+
 viewStyleSettingsFor:requestor 
     "open a dialog on viewStyle related settings"
 
@@ -5666,5 +5857,5 @@
 !Launcher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Launcher.st,v 1.376 1998-10-02 10:56:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Launcher.st,v 1.377 1998-10-02 17:41:03 cg Exp $'
 ! !