--- a/Tools__ProjectBuilderAssistantApplication.st Mon Nov 02 15:55:15 2009 +0100
+++ b/Tools__ProjectBuilderAssistantApplication.st Mon Nov 02 15:57:28 2009 +0100
@@ -40,6 +40,93 @@
"
! !
+!ProjectBuilderAssistantApplication class methodsFor:'assistant pages spec'!
+
+assistantSpec
+ ^ #(Array
+ ( AssistantPageSpec
+ pageTitle: 'Project Type Selection'
+ windowSpecSelector: page1_projectTypeSelectionSpec
+ enterCallbackSelector: updateListOfMatchingProjects
+ infoText: 'Choose the <B>type</B> of project you are about to build.'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'ProjectDefinition Selection'
+ windowSpecSelector: page2_projectSelectionSpec
+ enterCallbackSelector: updateListOfMatchingProjects
+ infoText: 'Choose an existing project definition or create a new one.
+ These are subclasses of <I>ProjectDefinition</I> and define the
+ type and contents of a project.'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Startup Application Selection'
+ windowSpecSelector: page3_applicationSelectionSpec
+ isEnabledQuerySelector: #projectTypeIsGuiApplication
+ canEnterQuerySelector: #canEnterApplicationSelection
+ enterCallbackSelector: updateListOfApplicationsInProject
+ infoText: 'Choose an existing application or create a new one.
+ These are subclasses of <I>ApplicationModel</I> and define
+ the GUI and control flow inside the application.
+ Can also be left blank if the startup class does it all (stx build).'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Startup Class Selection'
+ windowSpecSelector: page4_startupClassSelectionSpec
+ isEnabledQuerySelector: #projectTypeIsNotLibrary
+ canEnterQuerySelector: #canEnterStartupClassSelection
+ enterCallbackSelector: updateListOfStartupClassesInProject
+ infoText: 'Choose an existing startup-class or create a new one.
+ These are subclasses of <I>StandaloneStartup</I> and
+ start the application. Command line arguments can be
+ interpreted there.'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Specify Contents'
+ windowSpecSelector: page5_specifyIncludedClasses
+ enterCallbackSelector: enterContentsSpecification
+ canEnterQuerySelector: #canEnterContentsSelection
+ infoText: 'Define which (other) classes are to be included.
+ Press "<I>Scan</I>" to include all classes of the package;
+ browse to edit the contents manually.'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Specify Build Directory'
+ windowSpecSelector: page6_specifyBuildDirectorySpec
+ infoText: 'Define where the build-process is to be performed.
+ All generated files are created below that directory.
+ After deployment, the build directory is no longer needed
+ (but you can keep it for a faster compile the next time).'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Build'
+ windowSpecSelector: page7_buildSpec
+ canEnterQuerySelector: #canEnterBuild
+ enterCallbackSelector: #restoreMakeOutputsContents
+ leaveCallbackSelector: #rememberMakeOutputsContents
+ infoText: 'Start the build-process. This will run make/bcc to compile
+ all required classes and nsis to generate a self-installable
+ executable. You must have the borland-cc and NullSoft NSIS
+ packages installed for this to work.'
+ )
+
+ (AssistantPageSpec
+ pageTitle: 'Deploy'
+ windowSpecSelector: page8_deploySpec
+ canEnterQuerySelector: #canEnterDeploy
+ infoText: 'Find the installer to be deployed (or test-run the binary).
+ You can open a WindowsExplorer there to copy the files for
+ deployment. After that, the build directory is no longer needed
+ (but you can keep it for a faster compile the next time).'
+ )
+ ) decodeAsLiteralArray.
+! !
+
!ProjectBuilderAssistantApplication class methodsFor:'defaults'!
defaultIcon
@@ -50,6 +137,25 @@
^ 'ST/X Packager: %1'
! !
+!ProjectBuilderAssistantApplication class methodsFor:'help'!
+
+flyByHelpSpec
+ <resource: #help>
+
+ ^ super flyByHelpSpec addPairsFrom:#(
+
+#newProjectsName
+'PackageID (module:directory)'
+
+#createNewProject
+'Click to create a new (empty) ProjectDefinition for the given PackageID'
+
+#'listOfNewProjectsName'
+'foo bar baz'
+
+)
+! !
+
!ProjectBuilderAssistantApplication class methodsFor:'interface specs'!
page1_projectTypeSelectionSpec
@@ -141,7 +247,7 @@
)
)
(FramedBoxSpec
- label: 'Existing Projects'
+ label: 'Existing Projects (PackageID''s)'
name: 'FramedBox2'
layout: (LayoutFrame 0 0.0 123 0 4 1.0 0 1)
labelPosition: topLeft
@@ -221,7 +327,7 @@
(SpecCollection
collection: (
(FramedBoxSpec
- label: 'New Project'
+ label: 'New PackageID'
name: 'FramedBox3'
layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0)
labelPosition: topLeft
@@ -235,6 +341,7 @@
layout: (LayoutFrame -100 1 6 0 2 1 28 0)
translateLabel: true
model: createNewProject
+ activeHelpKey: createNewProject
)
(ExtendedComboBoxSpec
name: 'NewProjectsNameListExtendedComboBox'
@@ -243,13 +350,14 @@
readOnly: false
miniScrollerHorizontal: true
postBuildCallback: postBuildNewProjectsNameListExtendedComboBox:
+ activeHelpKey: newProjectsName
)
)
)
)
(FramedBoxSpec
- label: 'Existing Projects'
+ label: 'Existing PackageID''s with Project Definition'
name: 'FramedBox4'
layout: (LayoutFrame 0 0.0 70 0 4 1.0 -30 1)
labelPosition: topLeft
@@ -977,6 +1085,7 @@
miniScrollerVertical: false
useIndex: false
sequenceList: listOfNewProjectsName
+ activeHelpKey: listOfNewProjectsName
)
)
@@ -1819,88 +1928,7 @@
!ProjectBuilderAssistantApplication methodsFor:'specs'!
assistantSpec
- ^ #(Array
- ( AssistantPageSpec
- pageTitle: 'Project Type Selection'
- windowSpecSelector: page1_projectTypeSelectionSpec
- enterCallbackSelector: updateListOfMatchingProjects
- infoText: 'Choose the type of project you are about to build.'
- )
-
- (AssistantPageSpec
- pageTitle: 'Project Selection'
- windowSpecSelector: page2_projectSelectionSpec
- enterCallbackSelector: updateListOfMatchingProjects
- infoText: 'Choose an existing project or create a new one.
- These are subclasses of <I>ProjectDefinition</I> and define the
- type and contents of a project.'
- )
-
- (AssistantPageSpec
- pageTitle: 'Startup Application Selection'
- windowSpecSelector: page3_applicationSelectionSpec
- isEnabledQuerySelector: #projectTypeIsGuiApplication
- canEnterQuerySelector: #canEnterApplicationSelection
- enterCallbackSelector: updateListOfApplicationsInProject
- infoText: 'Choose an existing application or create a new one.
- These are subclasses of <I>ApplicationModel</I> and define
- the GUI and control flow inside the application.
- Can also be left blank if the startup class does it all (stx build).'
- )
-
- (AssistantPageSpec
- pageTitle: 'Startup Class Selection'
- windowSpecSelector: page4_startupClassSelectionSpec
- isEnabledQuerySelector: #projectTypeIsNotLibrary
- canEnterQuerySelector: #canEnterStartupClassSelection
- enterCallbackSelector: updateListOfStartupClassesInProject
- infoText: 'Choose an existing startup-class or create a new one.
- These are subclasses of <I>StandaloneStartup</I> and
- start the application. Command line arguments can be
- interpreted there.'
- )
-
- (AssistantPageSpec
- pageTitle: 'Specify Contents'
- windowSpecSelector: page5_specifyIncludedClasses
- enterCallbackSelector: enterContentsSpecification
- canEnterQuerySelector: #canEnterContentsSelection
- infoText: 'Define which (other) classes are to be included.
- Press "<I>Scan</I>" to include all classes of the package;
- browse to edit the contents manually.'
- )
-
- (AssistantPageSpec
- pageTitle: 'Specify Build Directory'
- windowSpecSelector: page6_specifyBuildDirectorySpec
- infoText: 'Define where the build-process is to be performed.
- All generated files are created below that directory.
- After deployment, the build directory is no longer needed
- (but you can keep it for a faster compile the next time).'
- )
-
- (AssistantPageSpec
- pageTitle: 'Build'
- windowSpecSelector: page7_buildSpec
- canEnterQuerySelector: #canEnterBuild
- enterCallbackSelector: #restoreMakeOutputsContents
- leaveCallbackSelector: #rememberMakeOutputsContents
- infoText: 'Start the build-process. This will run make/bcc to compile
- all required classes and nsis to generate a self-installable
- executable. You must have the borland-cc and NullSoft NSIS
- packages installed for this to work.'
- )
-
- (AssistantPageSpec
- pageTitle: 'Deploy'
- windowSpecSelector: page8_deploySpec
- canEnterQuerySelector: #canEnterDeploy
- infoText: 'Find the installer to be deployed (or test-run the binary).
- You can open a WindowsExplorer there to copy the files for
- deployment. After that, the build directory is no longer needed
- (but you can keep it for a faster compile the next time).'
- )
- ) decodeAsLiteralArray.
+ ^ self class assistantSpec
! !
!ProjectBuilderAssistantApplication methodsFor:'update'!