# HG changeset patch # User Claus Gittinger # Date 1476452611 -7200 # Node ID 1d1d2904c353cc2eb016382a7f1dc28188ae9419 # Parent 2089a2debb66ece162909684bbcf90c4731170f0 #UI_ENHANCEMENT by cg class: Tools::ProjectBuilderAssistantApplication changed: #assistantSpec #doBrowseProjectDefinitionClassForPrereqs diff -r 2089a2debb66 -r 1d1d2904c353 Tools__ProjectBuilderAssistantApplication.st --- a/Tools__ProjectBuilderAssistantApplication.st Wed Oct 12 09:04:34 2016 +0200 +++ b/Tools__ProjectBuilderAssistantApplication.st Fri Oct 14 15:43:31 2016 +0200 @@ -2116,7 +2116,7 @@ self hasProjectSelected ifTrue:[ defClass := self selectedProjectDefinition. UserPreferences systemBrowserClass - openInClass:defClass class selector:#preRequisites. + openInClass:defClass class selector:#referencedPreRequisites "/ #mandatoryPreRequisites. ]. ! @@ -3174,7 +3174,11 @@ pageTitle: 'Project Type Selection' windowSpecSelector: page1_projectTypeSelectionSpec enterCallbackSelector: updateListOfMatchingProjects - infoText: 'Choose the type of project you are about to build.' + infoText: 'Define the type of project you are about to build.

+Choose GUI-application for a program which will show a graphical user interface, +
non-GUI-program for a console program, +
and library, for a framework to be +used by other programs (a loadable shared binary class library).' ) decodeAsLiteralArray. specs add: @@ -3183,11 +3187,13 @@ windowSpecSelector: page2_projectSelectionSpec enterCallbackSelector: updateListOfMatchingProjectsAndProjectIDs leaveCallbackSelector: fetchAttributesFromProjectDefinition - infoText: 'Choose an existing project definition or create a new one. -These are subclasses of ProjectDefinition and define the type and contents of a project. + infoText: 'Choose either an existing project definition or create a new one. +These are subclasses of ProjectDefinition and define the type, name and contents of a project.

-Notice that the ID directly reflects the project''s location within the source code repository (module:directory/subdirectory...). -If in doubt, use "<yourname>:demos/xxx_n".' +Please enter a project-identifier which must have a well defined format in Smalltalk/X. +Notice that the ID directly reflects the project''s location within the source code repository +(module:directoryPath). +
If in doubt, use "<yourname>:demos/xxx_n".' ) decodeAsLiteralArray. specs add: @@ -3210,8 +3216,13 @@ canEnterQuerySelector: #canEnterStartupClassSelection enterCallbackSelector: updateListOfStartupClassesInProject infoText: 'Choose an existing startup-class or create a new one. -These are subclasses of StandaloneStartup and start the application. -Command line arguments can be interpreted there.' +

These are subclasses of StandaloneStartup and contain the main function, +which either starts the application (in case of a GUI application) +or directly performs the program''s task (in case of a non-GUI console program).
+Command line arguments are usually interpreted there. +

Do not use one of the "StandAloneStartup"-classes, which you may find in the system: +these are abstract, and to be used as superclass of your concrete startup. +

For a quick demo, enter a reasonable name, and press the "Create" button.' ) decodeAsLiteralArray. specs add: @@ -3220,12 +3231,14 @@ windowSpecSelector: page5_specifyIncludedClasses enterCallbackSelector: enterContentsSpecification canEnterQuerySelector: #canEnterContentsSelection - infoText: 'Define which (other) classes are to be included. -Do not include classes from other packages here. + infoText: 'Check the list of other classes which are to be included. +These are the classes which comprise your application +(excluding any libraries, which are specified in the next step).

-Press "Scan" to include all classes of the package; -
-"Browse" to edit the contents manually.' +Press "Update List" to search for and include all classes of the package. +

+Press "Browse" to edit the contents manually (this opens an editor on the defining method +in your project definition class).' ) decodeAsLiteralArray. specs add: @@ -3234,11 +3247,19 @@ windowSpecSelector: page5b_specifyPrerequisitePackages enterCallbackSelector: enterPrerequisitesSpecification canEnterQuerySelector: #canEnterPrerequisitesSelection - infoText: 'Define which packages are needed as prerequisites. -These are required class libraries which should be packaged together with the application. + infoText: 'Check the list of packages/libraries which are needed as prerequisites. +These are required class libraries which should be packaged together with the application, +and will be present in the deployed binary. +

+Non-GUI programs will typically only require the basic class library +and libcomp (the parser and bytecode compiler) to be read startup scripts and patches.

-Press "Scan" to search for prerequisites; -
"Browse" to edit the list manually.' +GUI programs will require a number of view- and widget support classes, which contain the +graphical user interface support classes. +

+Press "Update" to search for and include prerequisites. +

+"Browse" to edit the list manually.' ) decodeAsLiteralArray. specs add: @@ -3255,7 +3276,11 @@ #(AssistantPageSpec pageTitle: 'Specify Build Directory' windowSpecSelector: page6b_specifyBuildDirectorySpec - infoText: 'Define where the build-process is to be performed and which compiler to use. 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).' + infoText: 'Define where the build-process is to be performed and which compiler to use. +

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). +

Normally, the default values are ok, and there is no need to change anything here.' enterCallbackSelector: #checkCompilerAvailability leaveCallbackSelector: #rememberUsedCompiler ) decodeAsLiteralArray. @@ -3265,7 +3290,10 @@ pageTitle: 'Check Into Source Repository' windowSpecSelector: page7a_checkinSpec enterCallbackSelector: #checkSourceCodeManagerType - infoText: 'Check the package''s source and build-support files into the source code repository.' + infoText: 'Optionally check the package''s source and build-support files into the +source code repository. +

You can skip this for a quick test (a local build), +or if you do not have/want a central repository.' ) decodeAsLiteralArray. specs add: @@ -3276,11 +3304,12 @@ enterCallbackSelector: #restoreMakeOutputsContents leaveCallbackSelector: #rememberMakeOutputsContents infoText: 'Start the build-process. This will create an isolated build directory, -and run "make" there to compile all required classes. +and run "make" there to compile all required classes.

-On Windows, it will use "nsis" to generate a self-installable executable, +On Windows, it will use "nsis" to generate a self-installable executable, and you must have the compiler (borland-bcc, visual-c or mingw) and NullSoft NSIS packages installed for this to work. -Without NSIS, zip the folder where the exe is generated and unzip on a target machine. +Without NSIS, you can "zip" the folder where the "exe" is generated +and unzip on a target machine.

On OS X, it will generate a "dmg" for deployment. You should have XCode or the "gcc" tool chain installed.