--- a/AbstractSettingsApplication.st Wed Jul 02 14:58:08 2014 +0200
+++ b/AbstractSettingsApplication.st Wed Jul 02 15:14:49 2014 +0200
@@ -122,7 +122,8 @@
AbstractSettingsApplication subclass:#HTTPStartServerSettingsApplication
instanceVariableNames:'portNumberChannel informationLabel hasNoCreatedServerChannel
- hasCreatedServerChannel useFcgiHolder'
+ hasCreatedServerChannel useFcgiHolder
+ hasWebServerClassesNotLoadedHolder'
classVariableNames:'CreatedServers'
poolDictionaries:''
privateIn:AbstractSettingsApplication
@@ -4828,6 +4829,44 @@
"Modified: / 08-07-2011 / 10:25:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'help specs'!
+
+flyByHelpSpec
+ "This resource specification was automatically generated
+ by the UIHelpTool of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIHelpTool may not be able to read the specification."
+
+ "
+ UIHelpTool openOnClass:AbstractSettingsApplication::HTTPStartServerSettingsApplication
+ "
+
+ <resource: #help>
+
+ ^ super flyByHelpSpec addPairsFrom:#(
+
+#createFCGIServer
+'Create (but do not start) a new FCGI server.\FCGI allows for a Smalltalk server to run under a master server (such as Apache)'
+
+#createServer
+'Create (but do not start) a new web server on the specified port (usually 8080 or 80).'
+
+#createServerFromSettingsFile
+'Create (but do not start) a new server and all services as specified in a settings file'
+
+#loadWebServerPackage
+'Load the missing webserver class packages'
+
+#removeAllServers
+'Stop and remove all defined servers'
+
+#serverPortNumber
+'The port on which the created server should listen (usually 8080, 8081 or 80)'
+
+)
+! !
+
!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'image specs'!
defaultIcon
@@ -4874,152 +4913,169 @@
<resource: #canvas>
^
- #(FullSpec
- name: windowSpec
- window:
- (WindowSpec
- label: 'HTTP Server Settings'
- name: 'HTTP Server Settings'
- min: (Point 10 10)
- bounds: (Rectangle 0 0 539 630)
- )
- component:
- (SpecCollection
- collection: (
- (VerticalPanelViewSpec
- name: 'VerticalPanel1'
- layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
- horizontalLayout: fit
- verticalLayout: top
- horizontalSpace: 3
- verticalSpace: 3
- component:
- (SpecCollection
- collection: (
- (VerticalPanelViewSpec
- name: 'VerticalPanel4'
- horizontalLayout: fit
- verticalLayout: topSpace
- horizontalSpace: 3
- verticalSpace: 3
- component:
- (SpecCollection
- collection: (
- (ViewSpec
- name: 'Box19'
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'Label'
- name: 'Label2'
- layout: (LayoutFrame 5 0.0 0 0.0 -5 1 0 1.0)
- translateLabel: true
- labelChannel: informationLabel
- resizeForLabel: false
- adjust: left
- )
- )
-
- )
- extent: (Point 539 200)
- )
- (ViewSpec
- name: 'Box18'
- extent: (Point 539 20)
- )
- (ViewSpec
- name: 'Box17'
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'Port:'
- name: 'Label1'
- layout: (LayoutFrame 3 0 21 0 40 0 43 0)
- translateLabel: true
- adjust: right
- )
- (InputFieldSpec
- name: 'EntryField1'
- layout: (LayoutFrame 40 0 20 0 111 0 42 0)
- enableChannel: hasHTTPServerClass
- model: portNumberChannel
- type: number
- immediateAccept: true
- acceptOnReturn: true
- acceptOnTab: true
- acceptOnLostFocus: true
- acceptOnPointerLeave: false
- )
- (VerticalPanelViewSpec
- name: 'VerticalPanel5'
- layout: (LayoutFrame 136 0 14 0 -12 1 132 0)
- horizontalLayout: fit
- verticalLayout: spreadSpace
- horizontalSpace: 3
- verticalSpace: 3
- component:
- (SpecCollection
- collection: (
- (ActionButtonSpec
- label: 'Create new HTTP Server'
- name: 'Button4'
- translateLabel: true
- tabable: true
- model: createServer
- enableChannel: hasHTTPServerClass
- useDefaultExtent: true
- )
- (ActionButtonSpec
- label: 'Create new FastCGI Server'
- name: 'Button7'
- translateLabel: true
- tabable: true
- model: createFcgiServer
- enableChannel: hasFCGIServerClass
- useDefaultExtent: true
- )
- (ActionButtonSpec
- label: 'Create Server from Settings File...'
- name: 'Button6'
- translateLabel: true
- tabable: true
- model: createServerFromFile
- enableChannel: hasHTTPServerClass
- useDefaultExtent: true
- )
- (ActionButtonSpec
- label: 'Remove all Servers'
- name: 'Button5'
- translateLabel: true
- tabable: true
- model: removeAllServers
- enableChannel: hasCreatedServerChannel
- useDefaultExtent: true
- )
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'HTTP Server Settings'
+ name: 'HTTP Server Settings'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 539 630)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VerticalPanelViewSpec
+ name: 'VerticalPanel1'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ horizontalLayout: fit
+ verticalLayout: top
+ horizontalSpace: 3
+ verticalSpace: 3
+ component:
+ (SpecCollection
+ collection: (
+ (VerticalPanelViewSpec
+ name: 'VerticalPanel4'
+ horizontalLayout: fit
+ verticalLayout: topSpace
+ horizontalSpace: 3
+ verticalSpace: 3
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'InfoMessageBox'
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Label'
+ name: 'Label2'
+ layout: (LayoutFrame 5 0.0 0 0.0 -5 1 0 1.0)
+ translateLabel: true
+ labelChannel: informationLabel
+ resizeForLabel: false
+ adjust: left
+ )
+ (ActionButtonSpec
+ label: 'Load Missing WebServer Packages'
+ name: 'Button8'
+ layout: (AlignmentOrigin 0 0.5 0 1 0.5 1)
+ activeHelpKey: loadWebServerPackage
+ visibilityChannel: hasWebServerClassesNotLoadedHolder
+ translateLabel: true
+ tabable: true
+ model: loadWebServerPackages
+ )
+ )
+
+ )
+ extent: (Point 539 200)
+ )
+ (ViewSpec
+ name: 'Separator'
+ extent: (Point 539 20)
+ )
+ (ViewSpec
+ name: 'ActionButtonBox'
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Port:'
+ name: 'Label1'
+ layout: (LayoutFrame 3 0 21 0 40 0 43 0)
+ activeHelpKey: serverPortNumber
+ translateLabel: true
+ adjust: right
+ activeHelpKey: serverPortNumber
+ )
+ (InputFieldSpec
+ name: 'EntryField1'
+ layout: (LayoutFrame 40 0 20 0 111 0 42 0)
+ enableChannel: hasWebServerClassesLoadedHolder
+ model: portNumberChannel
+ type: number
+ immediateAccept: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnLostFocus: true
+ acceptOnPointerLeave: false
+ activeHelpKey: serverPortNumber
+ )
+ (VerticalPanelViewSpec
+ name: 'VerticalPanel5'
+ layout: (LayoutFrame 136 0 14 0 -12 1 132 0)
+ horizontalLayout: fit
+ verticalLayout: spreadSpace
+ horizontalSpace: 3
+ verticalSpace: 3
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'Create new HTTP Server'
+ name: 'Button4'
+ activeHelpKey: createServer
+ translateLabel: true
+ tabable: true
+ model: createServer
+ enableChannel: hasWebServerClassesLoadedHolder
+ useDefaultExtent: true
)
-
- )
- )
- )
-
- )
- extent: (Point 539 142)
- )
- )
-
- )
- extent: (Point 539 620)
- )
- )
-
- )
- )
- )
-
- )
- )
+ (ActionButtonSpec
+ label: 'Create new FastCGI Server'
+ name: 'Button7'
+ activeHelpKey: createFCGIServer
+ translateLabel: true
+ tabable: true
+ model: createFcgiServer
+ enableChannel: hasWebServerClassesLoadedHolder
+ useDefaultExtent: true
+ )
+ (ActionButtonSpec
+ label: 'Create Server from Settings File...'
+ name: 'Button6'
+ activeHelpKey: createServerFromSettingsFile
+ translateLabel: true
+ tabable: true
+ model: createServerFromFile
+ enableChannel: hasWebServerClassesLoadedHolder
+ useDefaultExtent: true
+ )
+ (ActionButtonSpec
+ label: 'Remove all Servers'
+ name: 'Button5'
+ activeHelpKey: removeAllServers
+ translateLabel: true
+ tabable: true
+ model: removeAllServers
+ enableChannel: hasCreatedServerChannel
+ useDefaultExtent: true
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ extent: (Point 539 142)
+ )
+ )
+
+ )
+ extent: (Point 539 620)
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ )
! !
!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'servers access'!
@@ -5220,6 +5276,13 @@
"Modified: / 25-01-2007 / 16:39:48 / cg"
!
+loadWebServerPackages
+ Smalltalk loadPackage:'stx:goodies/webServer'.
+ Smalltalk loadPackage:'stx:goodies/webServer/htmlTree'.
+ Smalltalk loadPackage:'stx:goodies/webServer/comanche'.
+ Smalltalk loadPackage:'stx:goodies/webServer/ui'.
+!
+
removeAllServerSubApplications
settingsDialog removeAllSubApplicationsFor:self
!
@@ -5269,6 +5332,19 @@
^ hasCreatedServerChannel.
!
+hasWebServerClassesLoadedHolder
+ ^ BlockValue
+ forLogicalNot:(self hasWebServerClassesNotLoadedHolder)
+!
+
+hasWebServerClassesNotLoadedHolder
+ hasWebServerClassesNotLoadedHolder isNil ifTrue:[
+ hasWebServerClassesNotLoadedHolder := true asValue.
+ hasWebServerClassesNotLoadedHolder value:(self hasHTTPServerClass not or:[self hasFCGIServerClass not]).
+ ].
+ ^ hasWebServerClassesNotLoadedHolder.
+!
+
informationLabel
|info|
@@ -18436,10 +18512,10 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.552 2014-06-24 17:42:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.553 2014-07-02 13:14:49 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.552 2014-06-24 17:42:25 cg Exp $'
-! !
-
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.553 2014-07-02 13:14:49 cg Exp $'
+! !
+