Tools__ProjectBuilderAssistantApplication.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:07:51 +0100
branchjv
changeset 3630 5e718e0a754e
parent 3342 1d1d2904c353
child 3429 bda211bf56ec
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present

- All source *.st files are now Unicode UTF8 without BOM
Files are in two groups (fileOut works this way in Smalltalk/X):
- containing a unicode character have "{ Encoding: utf8 }" at the header
- ASCII only are without the header
cg@2742
     1
"
cg@2742
     2
 COPYRIGHT (c) 2009 by eXept Software AG
cg@2742
     3
              All Rights Reserved
cg@2742
     4
cg@2742
     5
 This software is furnished under a license and may be used
cg@2742
     6
 only in accordance with the terms of that license and with the
cg@2742
     7
 inclusion of the above copyright notice.   This software may not
cg@2742
     8
 be provided or otherwise made available to, or used by, any
cg@2742
     9
 other person.  No title to or ownership of the software is
cg@2742
    10
 hereby transferred.
cg@2742
    11
"
cg@2636
    12
"{ Package: 'stx:libtool2' }"
cg@2636
    13
cg@2636
    14
"{ NameSpace: Tools }"
cg@2636
    15
cg@2636
    16
AssistantApplication subclass:#ProjectBuilderAssistantApplication
cg@2687
    17
	instanceVariableNames:'packageToBuildHolder projectType projectTypeHolder
cg@2687
    18
		selectedProjectIndexHolder selectedProjectDefinition
cg@2687
    19
		listOfMatchingProjects listOfMatchingPackageIds
cg@2687
    20
		selectedProjectsComment hasProjectSelectedHolder newProjectsName
cg@2687
    21
		hideSTXProjects hideOtherApplicationClasses
cg@2687
    22
		hideOtherStartupClasses startMakeButtonEnabled
cg@2687
    23
		stopMakeButtonVisible makeOutputHolder newApplicationsName
cg@2687
    24
		listOfApplicationsInProject selectedApplicationIndexHolder
cg@2687
    25
		selectedApplication hasApplicationSelectedHolder
cg@2687
    26
		listOfStartupClassesInProject selectedStartupClassIndexHolder
cg@2687
    27
		selectedStartupClass hasStartupClassSelectedHolder
cg@2687
    28
		selectedApplicationsComment buildDirectoryHolder makeProcess
cg@2687
    29
		listOfClassesInProject makeOutputWindow projectBuilder
fm@2705
    30
		newStartupClassName usedCompilerHolder listOfNewProjectsName
cg@2724
    31
		newProjectsNameListExtendedComboBox productNameHolder
cg@2724
    32
		companyNameHolder compilerWarnMessageHolder
cg@2910
    33
		compilerWarnMessageVisibleHolder listOfPrerequisitesInProject
cg@2919
    34
		nameOfUsedCompilerSuiteHolder usedCompilerIndexHolder'
cg@2959
    35
	classVariableNames:'LastUsedCompiler Debugging'
cg@2687
    36
	poolDictionaries:''
cg@2687
    37
	category:'System-Support-Projects'
cg@2636
    38
!
cg@2636
    39
cg@2668
    40
!ProjectBuilderAssistantApplication class methodsFor:'documentation'!
cg@2668
    41
cg@2742
    42
copyright
cg@2742
    43
"
cg@2742
    44
 COPYRIGHT (c) 2009 by eXept Software AG
cg@2742
    45
              All Rights Reserved
cg@2742
    46
cg@2742
    47
 This software is furnished under a license and may be used
cg@2742
    48
 only in accordance with the terms of that license and with the
cg@2742
    49
 inclusion of the above copyright notice.   This software may not
cg@2742
    50
 be provided or otherwise made available to, or used by, any
cg@2742
    51
 other person.  No title to or ownership of the software is
cg@2742
    52
 hereby transferred.
cg@2742
    53
"
cg@2742
    54
!
cg@2742
    55
cg@2668
    56
documentation
cg@2668
    57
"
cg@2668
    58
    a user friendly interface to the build process.
cg@2668
    59
    Simply wraps up existing tools like the CodeGeneratorTool, the browsers
cg@2668
    60
    and the ProjetBuilder
cg@2668
    61
cg@2668
    62
    [see also:]
cg@2668
    63
        CodeGeneratorTool
cg@2668
    64
        ProjectBuilder
cg@2668
    65
        ProjectDefinition
cg@2668
    66
cg@2668
    67
    [author:]
cg@2668
    68
        Claus Gittinger
cg@2668
    69
"
fm@2721
    70
!
fm@2721
    71
fm@2721
    72
help
cg@2825
    73
"
cg@2825
    74
  Packager - A Standalone-Executable Builder and Packager
fm@2721
    75
mawalch@3320
    76
    This assistant-application allows for standalone applications to be built very easily.
mawalch@3320
    77
    It will generate all required classes, files, start the compilation process,
mawalch@3320
    78
    generate a self-installable executable with a few mouse clicks.
cg@2825
    79
cg@2825
    80
    A simple demo application like the famous 'Hello World' can be generated in a few minutes.
cg@2825
    81
cg@2825
    82
  Prerequisites
cg@2825
    83
cg@2825
    84
    * Windows Users:
mawalch@3320
    85
    Please install either the 'Borland Free Commandline Compiler Tools (bcc32)'
mawalch@3320
    86
    or the 'Microsoft Visual-C++' package (also free).
cg@2825
    87
     In addition, the 'NullSoft NSIS-Installer Package' is required.
cg@2825
    88
mawalch@3320
    89
    Due to limitations and bugs in the Visual-C++ compiler (limit on the size of
mawalch@3320
    90
    string-constants), some Smalltalk code is still not compilable
mawalch@3320
    91
    (currently, this affects classes which contain image-resource methods for big images).
mawalch@3320
    92
    Although microsoft is doing their best (a relative measure) to make things better
mawalch@3320
    93
    (they increase the string-limit with every new release), they still seem to be unable
mawalch@3320
    94
    to figure out how ti use malloc for string-data).
mawalch@3320
    95
    We are patiently waiting for a real fix and still using bcc in the meanwhile.
mawalch@3320
    96
    Therefore, we recommend using the borland compiler suite.
mawalch@3320
    97
    Please install it at its standard location ('C:\Borland') as our makefiles might
mawalch@3320
    98
    still contain hard-coded paths (yes, we are ashamed about this).
cg@2825
    99
cg@2825
   100
    * Unix Users:
mawalch@3320
   101
    You should already have the gcc compile suite (including all required header files)
mawalch@3320
   102
    installed and ready to use. For a lack of time on our side, there is currently no
mawalch@3320
   103
    self-installer support for Unix. The packager will generate a zipped tar file,
cg@2825
   104
    which must be deployed and unpacked for use. This may change in the near future.
cg@2825
   105
cg@2825
   106
  Packages, Projects, PackageIDs and ProjectDefinitions
cg@2825
   107
cg@2825
   108
    Smalltalk basically uses two objects for packaging:
cg@2825
   109
cg@2825
   110
        * PackageIDs (also called ProjectID's occasionally)
mawalch@3320
   111
        * ProjectDefinitions
mawalch@3320
   112
mawalch@3320
   113
    Older ST/X versions used instances of a Project class - this is now obsolete and
mawalch@3320
   114
    removed from the system (although there are still some minor uses of it,
mawalch@3320
   115
    which might remain there for backward compatibility for some time, as some customers
cg@2825
   116
    have built their own packaging scheme around it).
cg@2825
   117
cg@2825
   118
  PackageIDs
cg@2825
   119
mawalch@3320
   120
    These are simple symbols and are attached to classes and methods. If a method has
cg@2825
   121
    a packageID different from its class, it is called an extension method.
mawalch@3320
   122
    PackageIDs must have a certain fixed format: they always contain exactly two parts,
mawalch@3320
   123
    which are separated by a colon character: the module and the directory part.
mawalch@3320
   124
    The module is used as main-selector on where and how the source code repository is
mawalch@3320
   125
    accessed. The directory is a path below that repository. If checked out into the local
mawalch@3320
   126
    filesystem, the module defines the top-level directory. Thus, if a packageID is
mawalch@3320
   127
    'stx:libbasic', the corresponding sources will be found in the repository associated
mawalch@3320
   128
    to the 'stx' module, under the directory 'libbasic'.
mawalch@3320
   129
    In the local file system, it will be found under 'stx/libbasic'.
mawalch@3320
   130
    As another example, if the packageID is 'exept:expecco/plugins/foo',
mawalch@3320
   131
    the repository is whichever is associated with the 'exept' module, and the subdirectory
mawalch@3320
   132
    is 'expecco/plugins/foo'. The local path to the sourcefiles would be
cg@2825
   133
    'exept/expecco/plugins/foo'.
cg@2825
   134
mawalch@3320
   135
    Please notice that it does make sense to associate different repositories to different
mawalch@3320
   136
    modules: for example, you could setup the sourceCodeManager to use CVS access to the
mawalch@3320
   137
    exept repository for everything under the 'stx' module,
mawalch@3320
   138
    and at the same time, use a local SVN repository for everything under the 'myCompany'
cg@2825
   139
    module.
cg@2825
   140
cg@2825
   141
  ProjectDefinitions
cg@2825
   142
mawalch@3320
   143
    These describe the contents of a project, such as the classes to include,
mawalch@3320
   144
    the set of extension methods, any additional compilation information.
cg@2825
   145
    ProjectDefinitions come in 3 flavours:
cg@2825
   146
cg@2825
   147
        * GUI Application Definition
cg@2825
   148
        * non-GUI Application Definition
mawalch@3320
   149
        * ClassLibrary Definition
mawalch@3320
   150
mawalch@3320
   151
    ProjectDefinitions are stored and managed as class-instances, located as subclasses
mawalch@3320
   152
    of one of ApplicationDefinition or LibraryDefinition.
mawalch@3320
   153
    As classes, they are themself managed, compiled and packaged as part of the project
mawalch@3320
   154
    (and also have the same PackageID as their components).
cg@2825
   155
    They are also treated like any other class w.r.t. source code management.
cg@2825
   156
cg@2825
   157
  Packaging
cg@2825
   158
mawalch@3320
   159
    All classes and extension methods belonging to a single package are supposed to be
mawalch@3320
   160
    loaded (and possibly unloaded) together. They are also usually deployed inside a single
mawalch@3320
   161
    dynamic link library ('dll', for short). In the Unix world, these are called
mawalch@3320
   162
    'shared object' or 'so'.
mawalch@3320
   163
    Finally, they are stored in a common directory both on the local file system and in a
cg@2825
   164
    source code repository (CVS, SVN, etc.).
cg@2825
   165
cg@2825
   166
  Structure of a Project
cg@2825
   167
cg@2825
   168
    The artefacts as manipulated by the packager are:
cg@2825
   169
cg@2825
   170
        * the ProjectDefinition class
mawalch@3320
   171
          This defines the type of application (GUI / non-GUI),
mawalch@3320
   172
          its contents (i.e. the set of classes to be included in the binary itself and
mawalch@3320
   173
          the set of library-dll's to be included in the deployed package),
cg@2825
   174
          and some other metadata, such as icon, title etc.
cg@2825
   175
cg@2825
   176
        * the ApplicationModel class
cg@2825
   177
          This defines the GUI, and is typically created using the UI-Painter.
cg@2825
   178
cg@2825
   179
        * the Startup class
mawalch@3320
   180
          This is the first class which gets control when the executable is started;
mawalch@3320
   181
          it can analyze the command line arguments, read patches or updates,
mawalch@3320
   182
          start background ptocesses, and will eventually open the applications GUI.
cg@2825
   183
cg@2825
   184
  Build Procedure
cg@2825
   185
mawalch@3320
   186
    All of the three components above can be generated by the packager to provide an
cg@2825
   187
    initial framework for further work.
cg@2825
   188
mawalch@3320
   189
    After the definition of those classes, all required files are stored in a temporary
mawalch@3320
   190
    build directory. This means that the above classes are filed out,
cg@2825
   191
    and make- and other support files are generated.
cg@2825
   192
mawalch@3320
   193
    Finally, the actual build process is started. This requires an external C-compiler.
mawalch@3320
   194
    Under windows, both Borland-C (free download available via the internet) and Microsoft's
cg@2825
   195
    Visual-C++ (also available for free) can be used (the later with some limitations as explained above).
cg@2825
   196
mawalch@3320
   197
    A self-installing executable is built using the NullSoft NSIS package.
cg@2825
   198
    This is also required to be installed before the packager is started.
cg@2825
   199
mawalch@3320
   200
    After the build, all required files are packaged in a single install-file.
mawalch@3320
   201
    This is called 'MyApplicationSetup.exe' and found in the project-specific subdirectory
mawalch@3320
   202
    of the build directory. For deployment, this single file has to be delivered to a customer
cg@2825
   203
    and executed there.
cg@2825
   204
mawalch@3320
   205
    Summary: It has NEVER been easier to create a GUI application with Smalltalk.
cg@2825
   206
"
cg@2668
   207
! !
cg@2636
   208
cg@2670
   209
!ProjectBuilderAssistantApplication class methodsFor:'defaults'!
cg@2670
   210
cg@2670
   211
defaultIcon
sv@2838
   212
    <resource: #programImage>
sv@2838
   213
cg@2670
   214
    ^ ToolbarIconLibrary projectBuilderIcon
cg@2670
   215
!
cg@2670
   216
cg@2670
   217
windowLabelTemplate
cg@2670
   218
    ^ 'ST/X Packager: %1'
cg@2670
   219
! !
cg@2670
   220
cg@2703
   221
!ProjectBuilderAssistantApplication class methodsFor:'help'!
cg@2703
   222
cg@2703
   223
flyByHelpSpec
cg@2703
   224
    <resource: #help>
cg@2703
   225
cg@2703
   226
    ^ super flyByHelpSpec addPairsFrom:#(
cg@2703
   227
cg@2706
   228
#'projectType'
cg@3126
   229
'Choose the type of Project you are about to deploy'
cg@2703
   230
cg@2706
   231
#existingProjects
cg@3126
   232
'Projects with an existing ProjectDefinition of the chosen type (above)'
cg@2706
   233
cg@2968
   234
#nameOfApplicationClass
cg@2968
   235
'For GUI applications: the name of your application class (subclass of ApplicationModel).
cg@3004
   236
This will be opened by the startup sequence and defines the UI.
cg@3004
   237
(Usually, these are named "XXXApplication" or "XXXApp")
cg@3126
   238
Click on the "Create"-button to create a simple helloWorld app to start with'
cg@2968
   239
cg@2968
   240
#createNewApplication
cg@2968
   241
'Create a new simple dummy application (HelloWorld-like). 
cg@3126
   242
Press this button to get some template code to play with - but enter a name first'
cg@2968
   243
cg@2968
   244
#nameOfStartupClass
cg@2968
   245
'This class contains the main method, in which the show starts when the executable runs.
cg@2968
   246
Its main task is to parse command line arguments (if any) and fire up the real application.
cg@3004
   247
It should inherit from StandaloneStartup.
cg@3004
   248
(Usually, these are named "XXXStart" or "XXXStartup")
cg@3004
   249
Click on the "Create"-button to create something to start with (will launch your application)'
cg@2968
   250
cg@2968
   251
#createNewStartupClass
cg@2968
   252
'Create a new simple startup class which fires up the defined application.
cg@2968
   253
Press this button to get a standard startup class which does not care for command line args.
cg@3126
   254
But enter a name first'
cg@2968
   255
cg@2706
   256
#browseSelectedProject
cg@3126
   257
'Open a SystemBrowser on the selected Project'
cg@2706
   258
cg@2706
   259
#hideSTXBasePackages
cg@3126
   260
'Only show packages which are not already included in the basic ST/X delivery'
cg@2703
   261
cg@2703
   262
#'listOfNewProjectsName'
cg@2706
   263
'PackageID (module:directory).
cg@3126
   264
The pull-down list contains packageIDs for which no ProjectDefinition exists (yet)'
cg@2706
   265
cg@2706
   266
#'createNewProject'
cg@2706
   267
'PackageID (module:directory).
cg@3126
   268
Click to create a new (empty) ProjectDefinition for the given PackageID'
cg@2703
   269
cg@2922
   270
#clearBuildDirectory
cg@3126
   271
'Clear the build directory'
cg@2922
   272
cg@2922
   273
#makeAll
cg@3126
   274
'Build a self-installing deployable package'
cg@3126
   275
cg@3126
   276
#makeApp
cg@3126
   277
'Build the app only (for test-running)'
cg@2922
   278
cg@2922
   279
#makeExe
cg@3126
   280
'Build the executable only (for test-running)'
cg@2922
   281
cg@2973
   282
#makeExeQuick
cg@2973
   283
'Quick build the executable only (for test-running). 
cg@3126
   284
Does not regenerate the header files. Only the target package files are recreated'
cg@2973
   285
cg@2922
   286
#makeOutput
cg@3126
   287
'Displays the output of the build process (make command)'
cg@2922
   288
cg@2922
   289
#openExplorer
cg@3126
   290
'Open a Windows Explorer on the build directory. You can double-click on the built executable there'
cg@3126
   291
cg@3126
   292
#openFinder
cg@3126
   293
'Open a Finder on the build directory. You can double-click on the built executable there'
cg@2922
   294
cg@2922
   295
#openFileBrowser
cg@3126
   296
'Open a Filebrowser on the build directory'
cg@3126
   297
cg@3126
   298
#openTerminal
cg@3126
   299
'Open a terminal (console) in the build directory'
cg@2922
   300
cg@2922
   301
#stopMake
cg@3126
   302
'Abort the ongoing build process. Please clear the build directory afterwards to remove any leftover garbage'
cg@2922
   303
cg@2994
   304
#hideOtherStartupClasses
cg@2994
   305
'Hide startup classes from other packages. Uncheck to see them.\(Notice: the startup class really should be in the same package)'
cg@2994
   306
cg@2703
   307
)
cg@2922
   308
cg@2922
   309
    "Modified: / 06-09-2012 / 16:09:10 / cg"
cg@2703
   310
! !
cg@2703
   311
cg@2994
   312
!ProjectBuilderAssistantApplication class methodsFor:'help specs'!
cg@2994
   313
cg@2994
   314
helpSpec
cg@2994
   315
    "This resource specification was automatically generated
cg@2994
   316
     by the UIHelpTool of ST/X."
cg@2994
   317
cg@2994
   318
    "Do not manually edit this!! If it is corrupted,
cg@2994
   319
     the UIHelpTool may not be able to read the specification."
cg@2994
   320
cg@2994
   321
    "
cg@3339
   322
     UIHelpTool openOnClass:Tools::ProjectBuilderAssistantApplication
cg@2994
   323
    "
cg@2994
   324
cg@2994
   325
    <resource: #help>
cg@2994
   326
cg@2994
   327
    ^ super helpSpec addPairsFrom:#(
cg@2994
   328
cg@3339
   329
#companyName
cg@3339
   330
''
cg@3339
   331
cg@2994
   332
#hideOtherStartupClasses
cg@2994
   333
''
cg@2994
   334
cg@3339
   335
#productName
cg@3339
   336
''
cg@3339
   337
cg@3339
   338
#programName
cg@3339
   339
''
cg@3339
   340
cg@2994
   341
)
cg@2994
   342
! !
cg@2994
   343
cg@2636
   344
!ProjectBuilderAssistantApplication class methodsFor:'interface specs'!
cg@2636
   345
cg@2645
   346
page1_projectTypeSelectionSpec
cg@2636
   347
    "This resource specification was automatically generated
cg@2636
   348
     by the UIPainter of ST/X."
cg@2636
   349
cg@2636
   350
    "Do not manually edit this!! If it is corrupted,
cg@2636
   351
     the UIPainter may not be able to read the specification."
cg@2636
   352
cg@2636
   353
    "
cg@2648
   354
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page1_projectTypeSelectionSpec
cg@2648
   355
     Tools::ProjectBuilderAssistantApplication new openInterface:#page1_projectTypeSelectionSpec
cg@2636
   356
    "
cg@2636
   357
cg@2636
   358
    <resource: #canvas>
cg@2636
   359
cg@2636
   360
    ^ 
cg@2636
   361
     #(FullSpec
cg@2645
   362
        name: #'page1_projectTypeSelectionSpec'
cg@2636
   363
        window: 
cg@2636
   364
       (WindowSpec
cg@2636
   365
          label: 'Project Selection'
cg@2636
   366
          name: 'Project Selection'
cg@2636
   367
          min: (Point 0 0)
cg@2636
   368
          bounds: (Rectangle 0 0 626 394)
cg@2636
   369
        )
cg@2636
   370
        component: 
cg@2636
   371
       (SpecCollection
cg@2636
   372
          collection: (
cg@2636
   373
           (FramedBoxSpec
cg@2706
   374
              label: 'Project Type'
cg@2636
   375
              name: 'FramedBox1'
cg@2698
   376
              layout: (LayoutFrame 0 0.0 0 0 4 1.0 120 0)
cg@2706
   377
              activeHelpKey: projectType
cg@2636
   378
              labelPosition: topLeft
cg@2636
   379
              translateLabel: true
cg@2636
   380
              component: 
cg@2636
   381
             (SpecCollection
cg@2636
   382
                collection: (
cg@2636
   383
                 (VerticalPanelViewSpec
cg@2636
   384
                    name: 'VerticalPanel1'
cg@2636
   385
                    layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
cg@2636
   386
                    horizontalLayout: leftSpace
cg@2636
   387
                    verticalLayout: topSpace
cg@2636
   388
                    horizontalSpace: 3
cg@2636
   389
                    verticalSpace: 3
cg@2636
   390
                    component: 
cg@2636
   391
                   (SpecCollection
cg@2636
   392
                      collection: (
cg@2636
   393
                       (ViewSpec
cg@2636
   394
                          name: 'Box1'
cg@2636
   395
                          extent: (Point 10 10)
cg@2636
   396
                        )
cg@2636
   397
                       (RadioButtonSpec
cg@2636
   398
                          label: 'GUI Application'
cg@2636
   399
                          name: 'RadioButton1'
cg@2636
   400
                          translateLabel: true
cg@2659
   401
                          model: projectTypeHolder
cg@2636
   402
                          isTriggerOnDown: true
cg@2636
   403
                          onCallBackSelector: projectTypeChanged
cg@2897
   404
                          select: #'GUI-Application'
cg@2990
   405
                          extent: (Point 294 22)
cg@2636
   406
                        )
cg@2636
   407
                       (RadioButtonSpec
cg@2636
   408
                          label: 'Non-GUI Application'
cg@2636
   409
                          name: 'RadioButton2'
cg@2636
   410
                          translateLabel: true
cg@2659
   411
                          model: projectTypeHolder
cg@2636
   412
                          isTriggerOnDown: true
cg@2636
   413
                          onCallBackSelector: projectTypeChanged
cg@2897
   414
                          select: #'NonGUI-Application'
cg@2990
   415
                          extent: (Point 294 22)
cg@2636
   416
                        )
cg@2636
   417
                       (RadioButtonSpec
cg@2636
   418
                          label: 'Class Library'
cg@2636
   419
                          name: 'RadioButton3'
cg@2636
   420
                          translateLabel: true
cg@2659
   421
                          model: projectTypeHolder
cg@2636
   422
                          isTriggerOnDown: true
cg@2636
   423
                          onCallBackSelector: projectTypeChanged
cg@2990
   424
                          select: Library
cg@2990
   425
                          extent: (Point 294 22)
cg@2636
   426
                        )
cg@2636
   427
                       )
cg@2636
   428
                     
cg@2636
   429
                    )
cg@2636
   430
                  )
cg@2636
   431
                 )
cg@2636
   432
               
cg@2636
   433
              )
cg@2636
   434
            )
cg@2636
   435
           (FramedBoxSpec
cg@2726
   436
              label: 'Existing Projects of this Type (PackageIDs)'
cg@2636
   437
              name: 'FramedBox2'
cg@2698
   438
              layout: (LayoutFrame 0 0.0 123 0 4 1.0 0 1)
cg@2706
   439
              activeHelpKey: existingProjects
cg@2636
   440
              labelPosition: topLeft
cg@2636
   441
              translateLabel: true
cg@2636
   442
              component: 
cg@2636
   443
             (SpecCollection
cg@2636
   444
                collection: (
cg@2636
   445
                 (VariableHorizontalPanelSpec
cg@2636
   446
                    name: 'VariableHorizontalPanel1'
cg@2636
   447
                    layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
cg@2636
   448
                    component: 
cg@2636
   449
                   (SpecCollection
cg@2636
   450
                      collection: (
cg@2636
   451
                       (SequenceViewSpec
cg@2636
   452
                          name: 'List1'
cg@2636
   453
                          model: selectedProjectIndexHolder
cg@2636
   454
                          hasHorizontalScrollBar: true
cg@2636
   455
                          hasVerticalScrollBar: true
cg@2636
   456
                          useIndex: true
cg@2686
   457
                          sequenceList: listOfMatchingPackageIds
cg@2636
   458
                        )
cg@2636
   459
                       (TextEditorSpec
cg@2636
   460
                          name: 'TextEditor1'
cg@2636
   461
                          model: selectedProjectsComment
cg@2636
   462
                          hasHorizontalScrollBar: true
cg@2636
   463
                          hasVerticalScrollBar: true
cg@2636
   464
                          isReadOnly: true
cg@2636
   465
                          hasKeyboardFocusInitially: false
cg@2636
   466
                        )
cg@2636
   467
                       )
cg@2636
   468
                     
cg@2636
   469
                    )
cg@2636
   470
                    handles: (Any 0.34560327198364 1.0)
cg@2636
   471
                  )
cg@2636
   472
                 (CheckBoxSpec
cg@2636
   473
                    label: 'Hide ST/X Base Packages'
cg@2636
   474
                    name: 'CheckBox1'
cg@2659
   475
                    layout: (LayoutFrame -1 0 -18 1 0 1 4 1)
cg@2706
   476
                    activeHelpKey: hideSTXBasePackages
cg@2636
   477
                    model: hideSTXProjects
cg@2636
   478
                    translateLabel: true
cg@2636
   479
                  )
cg@2636
   480
                 )
cg@2636
   481
               
cg@2636
   482
              )
cg@2636
   483
            )
cg@2636
   484
           )
cg@2636
   485
         
cg@2636
   486
        )
cg@2636
   487
      )
cg@2636
   488
!
cg@2636
   489
cg@2645
   490
page2_projectSelectionSpec
cg@2636
   491
    "This resource specification was automatically generated
cg@2636
   492
     by the UIPainter of ST/X."
cg@2636
   493
cg@2636
   494
    "Do not manually edit this!! If it is corrupted,
cg@2636
   495
     the UIPainter may not be able to read the specification."
cg@2636
   496
cg@2636
   497
    "
cg@2648
   498
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page2_projectSelectionSpec
cg@2648
   499
     Tools::ProjectBuilderAssistantApplication new openInterface:#page2_projectSelectionSpec
cg@2636
   500
    "
cg@2636
   501
cg@2636
   502
    <resource: #canvas>
cg@2636
   503
cg@2636
   504
    ^ 
cg@3337
   505
    #(FullSpec
cg@3337
   506
       name: #'page2_projectSelectionSpec'
cg@3337
   507
       window: 
cg@3337
   508
      (WindowSpec
cg@3337
   509
         label: 'Project Selection'
cg@3337
   510
         name: 'Project Selection'
cg@3337
   511
         min: (Point 0 0)
cg@3337
   512
         bounds: (Rectangle 0 0 521 453)
cg@3337
   513
       )
cg@3337
   514
       component: 
cg@3337
   515
      (SpecCollection
cg@3337
   516
         collection: (
cg@3337
   517
          (FramedBoxSpec
cg@3337
   518
             label: 'New Project''s PackageID'
cg@3337
   519
             name: 'FramedBox3'
cg@3337
   520
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0)
cg@3337
   521
             labelPosition: topLeft
cg@3337
   522
             translateLabel: true
cg@3337
   523
             component: 
cg@3337
   524
            (SpecCollection
cg@3337
   525
               collection: (
cg@3337
   526
                (ExtendedComboBoxSpec
cg@3337
   527
                   name: 'NewProjectsNameListExtendedComboBox'
cg@3337
   528
                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
cg@3337
   529
                   activeHelpKey: listOfNewProjectsName
cg@3337
   530
                   model: newProjectsName
cg@3337
   531
                   readOnly: false
cg@3337
   532
                   miniScrollerHorizontal: true
cg@3337
   533
                   postBuildCallback: postBuildNewProjectsNameListExtendedComboBox:
cg@2636
   534
                 )
cg@3337
   535
                (ActionButtonSpec
cg@3337
   536
                   label: 'Create'
cg@3337
   537
                   name: 'Button1'
cg@3337
   538
                   layout: (LayoutFrame -100 1 6 0 2 1 34 0)
cg@3337
   539
                   activeHelpKey: createNewProject
cg@3337
   540
                   translateLabel: true
cg@3337
   541
                   model: createNewProject
cg@3337
   542
                 )
cg@3337
   543
                )
cg@3337
   544
              
cg@3337
   545
             )
cg@3337
   546
           )
cg@3337
   547
          (FramedBoxSpec
cg@3337
   548
             label: 'Existing Projects with ProjectDefinition'
cg@3337
   549
             name: 'FramedBox4'
cg@3337
   550
             layout: (LayoutFrame 0 0.0 70 0 4 1.0 -34 1)
cg@3337
   551
             labelPosition: topLeft
cg@3337
   552
             translateLabel: true
cg@3337
   553
             component: 
cg@3337
   554
            (SpecCollection
cg@3337
   555
               collection: (
cg@3337
   556
                (VariableHorizontalPanelSpec
cg@3337
   557
                   name: 'VariableHorizontalPanel2'
cg@3337
   558
                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
cg@3337
   559
                   component: 
cg@3337
   560
                  (SpecCollection
cg@3337
   561
                     collection: (
cg@3337
   562
                      (SequenceViewSpec
cg@3337
   563
                         name: 'List2'
cg@3337
   564
                         model: selectedProjectIndexHolder
cg@3337
   565
                         hasHorizontalScrollBar: true
cg@3337
   566
                         hasVerticalScrollBar: true
cg@3337
   567
                         useIndex: true
cg@3337
   568
                         sequenceList: listOfMatchingPackageIds
cg@2636
   569
                       )
cg@3337
   570
                      (TextEditorSpec
cg@3337
   571
                         name: 'TextEditor2'
cg@3337
   572
                         model: selectedProjectsComment
cg@3337
   573
                         hasHorizontalScrollBar: true
cg@3337
   574
                         hasVerticalScrollBar: true
cg@3337
   575
                         isReadOnly: true
cg@3337
   576
                         hasKeyboardFocusInitially: false
cg@3337
   577
                         viewClassName: 'TextView'
cg@3337
   578
                       )
cg@3337
   579
                      )
cg@3337
   580
                    
cg@3337
   581
                   )
cg@3337
   582
                   handles: (Any 0.35000000000000003 1.0)
cg@2636
   583
                 )
cg@3337
   584
                (CheckBoxSpec
cg@3337
   585
                   label: 'Hide ST/X Base Packages'
cg@3337
   586
                   name: 'CheckBox1'
cg@3337
   587
                   layout: (LayoutFrame -1 0 -17 1 0 1 5 1)
cg@3337
   588
                   activeHelpKey: hideSTXBasePackages
cg@3337
   589
                   model: hideSTXProjects
cg@3337
   590
                   translateLabel: true
cg@2648
   591
                 )
cg@3337
   592
                )
cg@3337
   593
              
cg@3337
   594
             )
cg@2636
   595
           )
cg@3337
   596
          (HorizontalPanelViewSpec
cg@3337
   597
             name: 'HorizontalPanel1'
cg@3337
   598
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3337
   599
             horizontalLayout: leftSpace
cg@3337
   600
             verticalLayout: center
cg@3337
   601
             horizontalSpace: 3
cg@3337
   602
             verticalSpace: 3
cg@3337
   603
             component: 
cg@3337
   604
            (SpecCollection
cg@3337
   605
               collection: (
cg@3337
   606
                (ActionButtonSpec
cg@3337
   607
                   label: 'Browse Selected Project'
cg@3337
   608
                   name: 'Button3'
cg@3337
   609
                   activeHelpKey: browseSelectedProject
cg@3337
   610
                   translateLabel: true
cg@3337
   611
                   model: doBrowseProject
cg@3337
   612
                   enableChannel: hasProjectSelectedHolder
cg@3337
   613
                   useDefaultExtent: true
cg@3337
   614
                 )
cg@3337
   615
                )
cg@3337
   616
              
cg@3337
   617
             )
cg@3337
   618
           )
cg@3337
   619
          )
cg@3337
   620
        
cg@3337
   621
       )
cg@3337
   622
     )
cg@2636
   623
!
cg@2636
   624
cg@2645
   625
page3_applicationSelectionSpec
cg@2636
   626
    "This resource specification was automatically generated
cg@2636
   627
     by the UIPainter of ST/X."
cg@2636
   628
cg@2636
   629
    "Do not manually edit this!! If it is corrupted,
cg@2636
   630
     the UIPainter may not be able to read the specification."
cg@2636
   631
cg@2636
   632
    "
cg@2648
   633
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page3_applicationSelectionSpec
cg@2648
   634
     Tools::ProjectBuilderAssistantApplication new openInterface:#page3_applicationSelectionSpec
cg@2636
   635
    "
cg@2636
   636
cg@2636
   637
    <resource: #canvas>
cg@2636
   638
cg@2636
   639
    ^ 
cg@3337
   640
    #(FullSpec
cg@3337
   641
       name: #'page3_applicationSelectionSpec'
cg@3337
   642
       window: 
cg@3337
   643
      (WindowSpec
cg@3337
   644
         label: 'Application Selection'
cg@3337
   645
         name: 'Application Selection'
cg@3337
   646
         min: (Point 0 0)
cg@3337
   647
         bounds: (Rectangle 0 0 519 406)
cg@3337
   648
       )
cg@3337
   649
       component: 
cg@3337
   650
      (SpecCollection
cg@3337
   651
         collection: (
cg@3337
   652
          (FramedBoxSpec
cg@3337
   653
             label: 'New Application Class'
cg@3337
   654
             name: 'FramedBox3'
cg@3337
   655
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
cg@3337
   656
             labelPosition: topLeft
cg@3337
   657
             translateLabel: true
cg@3337
   658
             component: 
cg@3337
   659
            (SpecCollection
cg@3337
   660
               collection: (
cg@3337
   661
                (InputFieldSpec
cg@3337
   662
                   name: 'EntryField1'
cg@3337
   663
                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
cg@3337
   664
                   activeHelpKey: nameOfApplicationClass
cg@3337
   665
                   model: newApplicationsName
cg@3337
   666
                   acceptOnReturn: true
cg@3337
   667
                   acceptOnTab: true
cg@3337
   668
                   acceptOnLostFocus: true
cg@3337
   669
                   acceptOnPointerLeave: true
cg@3337
   670
                   emptyFieldReplacementText: 'MyApplication'
cg@2636
   671
                 )
cg@3337
   672
                (ActionButtonSpec
cg@3337
   673
                   label: 'Create'
cg@3337
   674
                   name: 'Button1'
cg@3337
   675
                   layout: (LayoutFrame -100 1 6 0 1 1 34 0)
cg@3337
   676
                   activeHelpKey: createNewApplication
cg@3337
   677
                   translateLabel: true
cg@3337
   678
                   model: createNewApplication
cg@3337
   679
                 )
cg@3337
   680
                )
cg@3337
   681
              
cg@3337
   682
             )
cg@3337
   683
           )
cg@3337
   684
          (FramedBoxSpec
cg@3337
   685
             label: 'Existing Applications'
cg@3337
   686
             name: 'FramedBox4'
cg@3337
   687
             layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1)
cg@3337
   688
             labelPosition: topLeft
cg@3337
   689
             translateLabel: true
cg@3337
   690
             component: 
cg@3337
   691
            (SpecCollection
cg@3337
   692
               collection: (
cg@3337
   693
                (VariableHorizontalPanelSpec
cg@3337
   694
                   name: 'VariableHorizontalPanel2'
cg@3337
   695
                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
cg@3337
   696
                   component: 
cg@3337
   697
                  (SpecCollection
cg@3337
   698
                     collection: (
cg@3337
   699
                      (SequenceViewSpec
cg@3337
   700
                         name: 'List2'
cg@3337
   701
                         model: selectedApplicationIndexHolder
cg@3337
   702
                         hasHorizontalScrollBar: true
cg@3337
   703
                         hasVerticalScrollBar: true
cg@3337
   704
                         useIndex: true
cg@3337
   705
                         sequenceList: listOfApplicationsInProject
cg@3337
   706
                         ignoreReselect: false
cg@2636
   707
                       )
cg@3337
   708
                      (TextEditorSpec
cg@3337
   709
                         name: 'TextEditor2'
cg@3337
   710
                         model: selectedApplicationsComment
cg@3337
   711
                         hasHorizontalScrollBar: true
cg@3337
   712
                         hasVerticalScrollBar: true
cg@3337
   713
                         isReadOnly: true
cg@3337
   714
                         hasKeyboardFocusInitially: false
cg@3337
   715
                         viewClassName: 'TextView'
cg@3337
   716
                       )
cg@3337
   717
                      )
cg@3337
   718
                    
cg@3337
   719
                   )
cg@3337
   720
                   handles: (Any 0.35000000000000003 1.0)
cg@2636
   721
                 )
cg@3337
   722
                (CheckBoxSpec
cg@3337
   723
                   label: 'Hide other Application Classes'
cg@3337
   724
                   name: 'CheckBox1'
cg@3337
   725
                   layout: (LayoutFrame -1 0 -18 1 0 1 4 1)
cg@3337
   726
                   model: hideOtherApplicationClasses
cg@3337
   727
                   translateLabel: true
cg@2648
   728
                 )
cg@3337
   729
                )
cg@3337
   730
              
cg@3337
   731
             )
cg@2636
   732
           )
cg@3337
   733
          (HorizontalPanelViewSpec
cg@3337
   734
             name: 'HorizontalPanel1'
cg@3337
   735
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3337
   736
             horizontalLayout: leftSpace
cg@3337
   737
             verticalLayout: center
cg@3337
   738
             horizontalSpace: 3
cg@3337
   739
             verticalSpace: 3
cg@3337
   740
             component: 
cg@3337
   741
            (SpecCollection
cg@3337
   742
               collection: (
cg@3337
   743
                (ActionButtonSpec
cg@3337
   744
                   label: 'Browse Selected App'
cg@3337
   745
                   name: 'Button3'
cg@3337
   746
                   translateLabel: true
cg@3337
   747
                   model: doBrowseApplication
cg@3337
   748
                   enableChannel: hasApplicationSelectedHolder
cg@3337
   749
                   useDefaultExtent: true
cg@3337
   750
                 )
cg@3337
   751
                (ActionButtonSpec
cg@3337
   752
                   label: 'Launch Selected App'
cg@3337
   753
                   name: 'Button4'
cg@3337
   754
                   translateLabel: true
cg@3337
   755
                   model: doLaunchApplication
cg@3337
   756
                   enableChannel: hasApplicationSelectedHolder
cg@3337
   757
                   useDefaultExtent: true
cg@3337
   758
                 )
cg@3337
   759
                )
cg@3337
   760
              
cg@3337
   761
             )
cg@3337
   762
           )
cg@3337
   763
          )
cg@3337
   764
        
cg@3337
   765
       )
cg@3337
   766
     )
cg@2636
   767
!
cg@2636
   768
cg@2656
   769
page4_startupClassSelectionSpec
cg@2636
   770
    "This resource specification was automatically generated
cg@2636
   771
     by the UIPainter of ST/X."
cg@2636
   772
cg@2636
   773
    "Do not manually edit this!! If it is corrupted,
cg@2636
   774
     the UIPainter may not be able to read the specification."
cg@2636
   775
cg@2636
   776
    "
cg@2656
   777
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page4_startupClassSelectionSpec
cg@2656
   778
     Tools::ProjectBuilderAssistantApplication new openInterface:#page4_startupClassSelectionSpec
cg@2636
   779
    "
cg@2636
   780
cg@2636
   781
    <resource: #canvas>
cg@2636
   782
cg@2636
   783
    ^ 
cg@3337
   784
    #(FullSpec
cg@3337
   785
       name: #'page4_startupClassSelectionSpec'
cg@3337
   786
       window: 
cg@3337
   787
      (WindowSpec
cg@3337
   788
         label: 'Startup Class Selection'
cg@3337
   789
         name: 'Startup Class Selection'
cg@3337
   790
         min: (Point 0 0)
cg@3337
   791
         bounds: (Rectangle 0 0 521 408)
cg@3337
   792
       )
cg@3337
   793
       component: 
cg@3337
   794
      (SpecCollection
cg@3337
   795
         collection: (
cg@3337
   796
          (FramedBoxSpec
cg@3337
   797
             label: 'New Startup Class'
cg@3337
   798
             name: 'FramedBox3'
cg@3337
   799
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0)
cg@3337
   800
             labelPosition: topLeft
cg@3337
   801
             translateLabel: true
cg@3337
   802
             component: 
cg@3337
   803
            (SpecCollection
cg@3337
   804
               collection: (
cg@3337
   805
                (InputFieldSpec
cg@3337
   806
                   name: 'EntryField1'
cg@3337
   807
                   layout: (LayoutFrame 1 0 6 0 -113 1 34 0)
cg@3337
   808
                   activeHelpKey: nameOfStartupClass
cg@3337
   809
                   model: newStartupClassName
cg@3337
   810
                   acceptOnReturn: true
cg@3337
   811
                   acceptOnTab: true
cg@3337
   812
                   acceptOnLostFocus: true
cg@3337
   813
                   acceptOnPointerLeave: true
cg@3337
   814
                   emptyFieldReplacementText: 'MyStandAloneStartup'
cg@2656
   815
                 )
cg@3337
   816
                (ActionButtonSpec
cg@3337
   817
                   label: 'Create'
cg@3337
   818
                   name: 'Button1'
cg@3337
   819
                   layout: (LayoutFrame -100 1 6 0 1 1 34 0)
cg@3337
   820
                   activeHelpKey: createNewStartupClass
cg@3337
   821
                   translateLabel: true
cg@3337
   822
                   model: createNewStartupClass
cg@3337
   823
                 )
cg@3337
   824
                )
cg@3337
   825
              
cg@3337
   826
             )
cg@3337
   827
           )
cg@3337
   828
          (FramedBoxSpec
cg@3337
   829
             label: 'Existing Startup Classes'
cg@3337
   830
             name: 'FramedBox4'
cg@3337
   831
             layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1)
cg@3337
   832
             labelPosition: topLeft
cg@3337
   833
             translateLabel: true
cg@3337
   834
             component: 
cg@3337
   835
            (SpecCollection
cg@3337
   836
               collection: (
cg@3337
   837
                (VariableHorizontalPanelSpec
cg@3337
   838
                   name: 'VariableHorizontalPanel2'
cg@3337
   839
                   layout: (LayoutFrame 0 0 4 0 0 1 -26 1)
cg@3337
   840
                   component: 
cg@3337
   841
                  (SpecCollection
cg@3337
   842
                     collection: (
cg@3337
   843
                      (SequenceViewSpec
cg@3337
   844
                         name: 'List2'
cg@3337
   845
                         model: selectedStartupClassIndexHolder
cg@3337
   846
                         hasHorizontalScrollBar: true
cg@3337
   847
                         hasVerticalScrollBar: true
cg@3337
   848
                         useIndex: true
cg@3337
   849
                         sequenceList: listOfStartupClassesInProject
cg@2656
   850
                       )
cg@3337
   851
                      (TextEditorSpec
cg@3337
   852
                         name: 'TextEditor2'
cg@3337
   853
                         model: selectedStartupClassesComment
cg@3337
   854
                         hasHorizontalScrollBar: true
cg@3337
   855
                         hasVerticalScrollBar: true
cg@3337
   856
                         isReadOnly: true
cg@3337
   857
                         hasKeyboardFocusInitially: false
cg@3337
   858
                         viewClassName: 'TextView'
cg@3337
   859
                       )
cg@3337
   860
                      )
cg@3337
   861
                    
cg@3337
   862
                   )
cg@3337
   863
                   handles: (Any 0.35000000000000003 1.0)
cg@2656
   864
                 )
cg@3337
   865
                (CheckBoxSpec
cg@3337
   866
                   label: 'Hide other Startup Classes'
cg@3337
   867
                   name: 'CheckBox1'
cg@3337
   868
                   layout: (LayoutFrame -1 0 -20 1 0 1 2 1)
cg@3337
   869
                   activeHelpKey: hideOtherStartupClasses
cg@3337
   870
                   model: hideOtherStartupClasses
cg@3337
   871
                   translateLabel: true
cg@2656
   872
                 )
cg@3337
   873
                )
cg@3337
   874
              
cg@3337
   875
             )
cg@2656
   876
           )
cg@3337
   877
          (HorizontalPanelViewSpec
cg@3337
   878
             name: 'HorizontalPanel1'
cg@3337
   879
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3337
   880
             horizontalLayout: leftSpace
cg@3337
   881
             verticalLayout: center
cg@3337
   882
             horizontalSpace: 3
cg@3337
   883
             verticalSpace: 3
cg@3337
   884
             component: 
cg@3337
   885
            (SpecCollection
cg@3337
   886
               collection: (
cg@3337
   887
                (ActionButtonSpec
cg@3337
   888
                   label: 'Browse Selected StartupClass'
cg@3337
   889
                   name: 'Button3'
cg@3337
   890
                   translateLabel: true
cg@3337
   891
                   model: doBrowseStartupClass
cg@3337
   892
                   enableChannel: hasStartupClassSelectedHolder
cg@3337
   893
                   useDefaultExtent: true
cg@3337
   894
                 )
cg@3337
   895
                )
cg@3337
   896
              
cg@3337
   897
             )
cg@3337
   898
           )
cg@3337
   899
          )
cg@3337
   900
        
cg@3337
   901
       )
cg@3337
   902
     )
cg@2656
   903
!
cg@2656
   904
cg@2656
   905
page5_specifyIncludedClasses
cg@2656
   906
    "This resource specification was automatically generated
cg@2656
   907
     by the UIPainter of ST/X."
cg@2656
   908
cg@2656
   909
    "Do not manually edit this!! If it is corrupted,
cg@2656
   910
     the UIPainter may not be able to read the specification."
cg@2656
   911
cg@2656
   912
    "
cg@2656
   913
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page5_specifyIncludedClasses
cg@2656
   914
     Tools::ProjectBuilderAssistantApplication new openInterface:#page5_specifyIncludedClasses
cg@2656
   915
    "
cg@2656
   916
cg@2656
   917
    <resource: #canvas>
cg@2656
   918
cg@2656
   919
    ^ 
cg@3337
   920
    #(FullSpec
cg@3337
   921
       name: #'page5_specifyIncludedClasses'
cg@3337
   922
       window: 
cg@3337
   923
      (WindowSpec
cg@3337
   924
         label: 'Project Selection'
cg@3337
   925
         name: 'Project Selection'
cg@3337
   926
         min: (Point 0 0)
cg@3337
   927
         bounds: (Rectangle 0 0 521 400)
cg@3337
   928
       )
cg@3337
   929
       component: 
cg@3337
   930
      (SpecCollection
cg@3337
   931
         collection: (
cg@3337
   932
          (FramedBoxSpec
cg@3337
   933
             label: 'Project Contents'
cg@3337
   934
             name: 'FramedBox3'
cg@3337
   935
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1)
cg@3337
   936
             labelPosition: topLeft
cg@3337
   937
             translateLabel: true
cg@3337
   938
             component: 
cg@3337
   939
            (SpecCollection
cg@3337
   940
               collection: (
cg@3337
   941
                (SequenceViewSpec
cg@3337
   942
                   name: 'List1'
cg@3337
   943
                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@3337
   944
                   initiallyDisabled: true
cg@3337
   945
                   hasHorizontalScrollBar: true
cg@3337
   946
                   hasVerticalScrollBar: true
cg@3337
   947
                   useIndex: false
cg@3337
   948
                   sequenceList: listOfClassesInProject
cg@2636
   949
                 )
cg@3337
   950
                )
cg@3337
   951
              
cg@3337
   952
             )
cg@3337
   953
           )
cg@3337
   954
          (HorizontalPanelViewSpec
cg@3337
   955
             name: 'HorizontalPanel1'
cg@3337
   956
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3337
   957
             horizontalLayout: center
cg@3337
   958
             verticalLayout: center
cg@3337
   959
             horizontalSpace: 3
cg@3337
   960
             verticalSpace: 3
cg@3337
   961
             component: 
cg@3337
   962
            (SpecCollection
cg@3337
   963
               collection: (
cg@3337
   964
                (ActionButtonSpec
cg@3337
   965
                   label: 'Browse Project Definition'
cg@3337
   966
                   name: 'Button3'
cg@3337
   967
                   translateLabel: true
cg@3337
   968
                   model: doBrowseProjectDefinitionClass
cg@3337
   969
                   useDefaultExtent: true
cg@2648
   970
                 )
cg@3337
   971
                (ActionButtonSpec
cg@3337
   972
                   label: 'Update Contents (Scan)'
cg@3337
   973
                   name: 'Button4'
cg@3337
   974
                   translateLabel: true
cg@3337
   975
                   model: doGenerateProjectContentsDefinition
cg@3337
   976
                   useDefaultExtent: true
cg@3337
   977
                 )
cg@3337
   978
                )
cg@3337
   979
              
cg@3337
   980
             )
cg@2636
   981
           )
cg@3337
   982
          )
cg@3337
   983
        
cg@3337
   984
       )
cg@3337
   985
     )
cg@2636
   986
!
cg@2636
   987
cg@2872
   988
page5b_specifyPrerequisitePackages
cg@2872
   989
    "This resource specification was automatically generated
cg@2872
   990
     by the UIPainter of ST/X."
cg@2872
   991
cg@2872
   992
    "Do not manually edit this!! If it is corrupted,
cg@2872
   993
     the UIPainter may not be able to read the specification."
cg@2872
   994
cg@2872
   995
    "
cg@2872
   996
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page5b_specifyPrerequisitePackages
cg@2872
   997
     Tools::ProjectBuilderAssistantApplication new openInterface:#page5b_specifyPrerequisitePackages
cg@2872
   998
    "
cg@2872
   999
cg@2872
  1000
    <resource: #canvas>
cg@2872
  1001
cg@2872
  1002
    ^ 
cg@3337
  1003
    #(FullSpec
cg@3337
  1004
       name: #'page5b_specifyPrerequisitePackages'
cg@3337
  1005
       window: 
cg@3337
  1006
      (WindowSpec
cg@3337
  1007
         label: 'Project Selection'
cg@3337
  1008
         name: 'Project Selection'
cg@3337
  1009
         min: (Point 0 0)
cg@3337
  1010
         bounds: (Rectangle 0 0 521 400)
cg@3337
  1011
       )
cg@3337
  1012
       component: 
cg@3337
  1013
      (SpecCollection
cg@3337
  1014
         collection: (
cg@3337
  1015
          (FramedBoxSpec
cg@3337
  1016
             label: 'Prerequisite Packages'
cg@3337
  1017
             name: 'FramedBox3'
cg@3337
  1018
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1)
cg@3337
  1019
             labelPosition: topLeft
cg@3337
  1020
             translateLabel: true
cg@3337
  1021
             component: 
cg@3337
  1022
            (SpecCollection
cg@3337
  1023
               collection: (
cg@3337
  1024
                (SequenceViewSpec
cg@3337
  1025
                   name: 'List1'
cg@3337
  1026
                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@3337
  1027
                   initiallyDisabled: true
cg@3337
  1028
                   hasHorizontalScrollBar: true
cg@3337
  1029
                   hasVerticalScrollBar: true
cg@3337
  1030
                   useIndex: false
cg@3337
  1031
                   sequenceList: listOfPrerequisitesInProject
cg@2872
  1032
                 )
cg@3337
  1033
                )
cg@3337
  1034
              
cg@3337
  1035
             )
cg@3337
  1036
           )
cg@3337
  1037
          (HorizontalPanelViewSpec
cg@3337
  1038
             name: 'HorizontalPanel1'
cg@3337
  1039
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3337
  1040
             horizontalLayout: center
cg@3337
  1041
             verticalLayout: center
cg@3337
  1042
             horizontalSpace: 3
cg@3337
  1043
             verticalSpace: 3
cg@3337
  1044
             component: 
cg@3337
  1045
            (SpecCollection
cg@3337
  1046
               collection: (
cg@3337
  1047
                (ActionButtonSpec
cg@3337
  1048
                   label: 'Browse Project Definition'
cg@3337
  1049
                   name: 'Button3'
cg@3337
  1050
                   translateLabel: true
cg@3337
  1051
                   model: doBrowseProjectDefinitionClassForPrereqs
cg@3337
  1052
                   useDefaultExtent: true
cg@2872
  1053
                 )
cg@3337
  1054
                (ActionButtonSpec
cg@3337
  1055
                   label: 'Update Prerequisites (Scan)'
cg@3337
  1056
                   name: 'Button4'
cg@3337
  1057
                   translateLabel: true
cg@3337
  1058
                   model: doGenerateProjectPrerequisitesDefinition
cg@3337
  1059
                   useDefaultExtent: true
cg@3337
  1060
                 )
cg@3337
  1061
                )
cg@3337
  1062
              
cg@3337
  1063
             )
cg@2872
  1064
           )
cg@3337
  1065
          )
cg@3337
  1066
        
cg@3337
  1067
       )
cg@3337
  1068
     )
cg@2872
  1069
!
cg@2872
  1070
cg@2724
  1071
page6a_specifyProjectAttributes
cg@2636
  1072
    "This resource specification was automatically generated
cg@2636
  1073
     by the UIPainter of ST/X."
cg@2636
  1074
cg@2636
  1075
    "Do not manually edit this!! If it is corrupted,
cg@2636
  1076
     the UIPainter may not be able to read the specification."
cg@2636
  1077
cg@2636
  1078
    "
cg@2724
  1079
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page6a_specifyProjectAttributes
cg@2724
  1080
     Tools::ProjectBuilderAssistantApplication new openInterface:#page6a_specifyProjectAttributes
cg@2636
  1081
    "
cg@2636
  1082
cg@2636
  1083
    <resource: #canvas>
cg@2636
  1084
cg@2636
  1085
    ^ 
cg@3337
  1086
    #(FullSpec
cg@3337
  1087
       name: #'page6a_specifyProjectAttributes'
cg@3337
  1088
       window: 
cg@3337
  1089
      (WindowSpec
cg@3337
  1090
         label: 'Project Selection'
cg@3337
  1091
         name: 'Project Selection'
cg@3337
  1092
         min: (Point 0 0)
cg@3337
  1093
         bounds: (Rectangle 0 0 521 239)
cg@3337
  1094
       )
cg@3337
  1095
       component: 
cg@3337
  1096
      (SpecCollection
cg@3337
  1097
         collection: (
cg@3337
  1098
          (FramedBoxSpec
cg@3337
  1099
             label: 'Product Information'
cg@3337
  1100
             name: 'FramedBox3'
cg@3337
  1101
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 116 0)
cg@3337
  1102
             labelPosition: topLeft
cg@3337
  1103
             translateLabel: true
cg@3337
  1104
             component: 
cg@3337
  1105
            (SpecCollection
cg@3337
  1106
               collection: (
cg@3337
  1107
                (LabelSpec
cg@3337
  1108
                   label: 'Product Name:'
cg@3337
  1109
                   name: 'Label1'
cg@3337
  1110
                   layout: (LayoutFrame 0 0 10 0 148 0 40 0)
cg@3339
  1111
                   activeHelpKey: productName
cg@3337
  1112
                   translateLabel: true
cg@3339
  1113
                   adjust: left
cg@2724
  1114
                 )
cg@3337
  1115
                (InputFieldSpec
cg@3337
  1116
                   name: 'EntryField4'
cg@3337
  1117
                   layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0)
cg@3339
  1118
                   activeHelpKey: productName
cg@3337
  1119
                   model: productNameHolder
cg@3337
  1120
                   acceptOnLostFocus: true
cg@3337
  1121
                   acceptOnPointerLeave: true
cg@3337
  1122
                   viewClassName: ''
cg@3337
  1123
                 )
cg@3337
  1124
                (LabelSpec
cg@3337
  1125
                   label: 'Company Name:'
cg@3337
  1126
                   name: 'Label2'
cg@3337
  1127
                   layout: (LayoutFrame 0 0 45 0 148 0 75 0)
cg@3339
  1128
                   activeHelpKey: companyName
cg@3337
  1129
                   translateLabel: true
cg@3339
  1130
                   adjust: left
cg@3337
  1131
                 )
cg@3337
  1132
                (InputFieldSpec
cg@3337
  1133
                   name: 'EntryField3'
cg@3337
  1134
                   layout: (LayoutFrame 150 0.0 45 0 0 1.0 75 0)
cg@3339
  1135
                   activeHelpKey: companyName
cg@3337
  1136
                   model: companyNameHolder
cg@3337
  1137
                   acceptOnLostFocus: true
cg@3337
  1138
                   acceptOnPointerLeave: true
cg@3337
  1139
                   viewClassName: ''
cg@3337
  1140
                 )
cg@3337
  1141
                )
cg@3337
  1142
              
cg@3337
  1143
             )
cg@2724
  1144
           )
cg@3339
  1145
          (FramedBoxSpec
cg@3339
  1146
             label: 'Executable'
cg@3339
  1147
             name: 'FramedBox4'
cg@3339
  1148
             layout: (LayoutFrame 0 0.0 124 0 4 1.0 200 0)
cg@3340
  1149
             visibilityChannel: executableNameVisible
cg@3339
  1150
             labelPosition: topLeft
cg@3339
  1151
             translateLabel: true
cg@3339
  1152
             component: 
cg@3339
  1153
            (SpecCollection
cg@3339
  1154
               collection: (
cg@3339
  1155
                (LabelSpec
cg@3339
  1156
                   label: 'Name:'
cg@3339
  1157
                   name: 'Label3'
cg@3339
  1158
                   layout: (LayoutFrame 0 0 10 0 148 0 40 0)
cg@3339
  1159
                   activeHelpKey: programName
cg@3339
  1160
                   translateLabel: true
cg@3339
  1161
                   adjust: left
cg@3339
  1162
                 )
cg@3339
  1163
                (InputFieldSpec
cg@3339
  1164
                   name: 'EntryField5'
cg@3339
  1165
                   layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0)
cg@3339
  1166
                   activeHelpKey: programName
cg@3339
  1167
                   model: executableNameHolder
cg@3339
  1168
                   isReadOnly: true
cg@3339
  1169
                   acceptOnLostFocus: true
cg@3339
  1170
                   acceptOnPointerLeave: true
cg@3339
  1171
                   viewClassName: ''
cg@3339
  1172
                 )
cg@3339
  1173
                )
cg@3339
  1174
              
cg@3339
  1175
             )
cg@3339
  1176
           )
cg@3337
  1177
          )
cg@3337
  1178
        
cg@3337
  1179
       )
cg@3337
  1180
     )
cg@2724
  1181
!
cg@2724
  1182
cg@2724
  1183
page6b_specifyBuildDirectorySpec
cg@2724
  1184
    "This resource specification was automatically generated
cg@2724
  1185
     by the UIPainter of ST/X."
cg@2724
  1186
cg@2724
  1187
    "Do not manually edit this!! If it is corrupted,
cg@2724
  1188
     the UIPainter may not be able to read the specification."
cg@2724
  1189
cg@2724
  1190
    "
cg@2724
  1191
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page6b_specifyBuildDirectorySpec
cg@2724
  1192
     Tools::ProjectBuilderAssistantApplication new openInterface:#page6b_specifyBuildDirectorySpec
cg@2724
  1193
    "
cg@2724
  1194
cg@2724
  1195
    <resource: #canvas>
cg@2724
  1196
cg@2724
  1197
    ^ 
cg@3337
  1198
    #(FullSpec
cg@3337
  1199
       name: #'page6b_specifyBuildDirectorySpec'
cg@3337
  1200
       window: 
cg@3337
  1201
      (WindowSpec
cg@3337
  1202
         label: 'Project Selection'
cg@3337
  1203
         name: 'Project Selection'
cg@3337
  1204
         min: (Point 0 0)
cg@3337
  1205
         bounds: (Rectangle 0 0 521 361)
cg@3337
  1206
       )
cg@3337
  1207
       component: 
cg@3337
  1208
      (SpecCollection
cg@3337
  1209
         collection: (
cg@3337
  1210
          (FramedBoxSpec
cg@3337
  1211
             label: 'Build Directory'
cg@3337
  1212
             name: 'FramedBox3'
cg@3339
  1213
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 115 0)
cg@3337
  1214
             labelPosition: topLeft
cg@3337
  1215
             translateLabel: true
cg@3337
  1216
             component: 
cg@3337
  1217
            (SpecCollection
cg@3337
  1218
               collection: (
cg@3337
  1219
                (FilenameInputFieldSpec
cg@3337
  1220
                   name: 'FilenameEntryField1'
cg@3337
  1221
                   layout: (LayoutFrame 0 0.0 10 0 0 1.0 40 0)
cg@3337
  1222
                   model: buildDirectoryHolder
cg@3337
  1223
                   acceptOnPointerLeave: true
cg@3337
  1224
                   viewClassName: FilenameWidgetWithHistory
cg@2636
  1225
                 )
cg@3339
  1226
                (ActionButtonSpec
cg@3339
  1227
                   label: 'Clear'
cg@3339
  1228
                   name: 'Button1'
cg@3339
  1229
                   layout: (LayoutFrame -127 1 50 0 -2 1 72 0)
cg@3339
  1230
                   translateLabel: true
cg@3339
  1231
                   model: clearBuildDirectory
cg@3339
  1232
                 )
cg@3337
  1233
                )
cg@3337
  1234
              
cg@3337
  1235
             )
cg@3337
  1236
           )
cg@3337
  1237
          (FramedBoxSpec
cg@3337
  1238
             label: 'Compiler / Toolchain'
cg@3337
  1239
             name: 'FramedBox4'
cg@3339
  1240
             layout: (LayoutFrame 0 0.0 116 0 4 1.0 190 0)
cg@3337
  1241
             labelPosition: topLeft
cg@3337
  1242
             translateLabel: true
cg@3337
  1243
             component: 
cg@3337
  1244
            (SpecCollection
cg@3337
  1245
               collection: (
cg@3337
  1246
                (ComboListSpec
cg@3337
  1247
                   name: 'ComboList1'
cg@3337
  1248
                   layout: (LayoutFrame 0 0 10 0 137 0 40 0)
cg@3337
  1249
                   model: usedCompilerHolder
cg@3337
  1250
                   comboList: listOfPossibleCompilers
cg@3337
  1251
                   useIndex: false
cg@2681
  1252
                 )
cg@3337
  1253
                (LabelSpec
cg@3337
  1254
                   label: 'Compiler Suite'
cg@3337
  1255
                   name: 'Label2'
cg@3337
  1256
                   layout: (LayoutFrame 163 0 10 0 0 1 40 0)
cg@3337
  1257
                   translateLabel: true
cg@3337
  1258
                   labelChannel: nameOfUsedCompilerSuiteHolder
cg@3337
  1259
                   adjust: left
cg@3337
  1260
                 )
cg@3337
  1261
                )
cg@3337
  1262
              
cg@3337
  1263
             )
cg@2636
  1264
           )
cg@3337
  1265
          (TextEditorSpec
cg@3337
  1266
             name: 'TextEditor1'
cg@3339
  1267
             layout: (LayoutFrame 2 0.0 190 0 -2 1.0 303 0)
cg@3337
  1268
             level: -1
cg@3337
  1269
             visibilityChannel: compilerWarnMessageVisibleHolder
cg@3337
  1270
             model: compilerWarnMessageHolder
cg@3337
  1271
             hasHorizontalScrollBar: true
cg@3337
  1272
             hasVerticalScrollBar: true
cg@3337
  1273
             miniScrollerHorizontal: true
cg@3337
  1274
             backgroundColor: (Color 100.0 50.0 50.0)
cg@3337
  1275
             hasKeyboardFocusInitially: false
cg@3337
  1276
             postBuildCallback: postBuildWarnMessageView:
cg@3337
  1277
           )
cg@3337
  1278
          )
cg@3337
  1279
        
cg@3337
  1280
       )
cg@3337
  1281
     )
cg@2636
  1282
!
cg@2636
  1283
cg@2656
  1284
page7_buildSpec
cg@2636
  1285
    "This resource specification was automatically generated
cg@2636
  1286
     by the UIPainter of ST/X."
cg@2636
  1287
cg@2636
  1288
    "Do not manually edit this!! If it is corrupted,
cg@2636
  1289
     the UIPainter may not be able to read the specification."
cg@2636
  1290
cg@2636
  1291
    "
cg@2656
  1292
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page7_buildSpec
cg@2656
  1293
     Tools::ProjectBuilderAssistantApplication new openInterface:#page7_buildSpec
cg@2636
  1294
    "
cg@2636
  1295
cg@2636
  1296
    <resource: #canvas>
cg@2636
  1297
cg@2636
  1298
    ^ 
cg@3126
  1299
    #(FullSpec
cg@3126
  1300
       name: #'page7_buildSpec'
cg@3126
  1301
       window: 
cg@3126
  1302
      (WindowSpec
cg@3126
  1303
         label: 'Project Selection'
cg@3126
  1304
         name: 'Project Selection'
cg@3126
  1305
         min: (Point 0 0)
cg@3126
  1306
         bounds: (Rectangle 0 0 679 492)
cg@3126
  1307
       )
cg@3126
  1308
       component: 
cg@3126
  1309
      (SpecCollection
cg@3126
  1310
         collection: (
cg@3126
  1311
          (FramedBoxSpec
cg@3126
  1312
             label: 'Make Output'
cg@3126
  1313
             name: 'FramedBox3'
cg@3337
  1314
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1)
cg@3126
  1315
             labelPosition: topLeft
cg@3126
  1316
             translateLabel: true
cg@3126
  1317
             component: 
cg@3126
  1318
            (SpecCollection
cg@3126
  1319
               collection: (
cg@3126
  1320
                (TextEditorSpec
cg@3126
  1321
                   name: 'MakeOutputWindow'
cg@3126
  1322
                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@3126
  1323
                   activeHelpKey: makeOutput
cg@3126
  1324
                   model: makeOutputHolder
cg@3126
  1325
                   hasHorizontalScrollBar: true
cg@3126
  1326
                   hasVerticalScrollBar: true
cg@3126
  1327
                   hasKeyboardFocusInitially: false
cg@3337
  1328
                   postBuildCallback: postBuildMakeOutputWindow:
cg@3126
  1329
                   viewClassName: 'TextCollector'
cg@2636
  1330
                 )
cg@3126
  1331
                )
cg@3126
  1332
              
cg@3126
  1333
             )
cg@3126
  1334
           )
cg@3126
  1335
          (HorizontalPanelViewSpec
cg@3126
  1336
             name: 'HorizontalPanel1'
cg@3337
  1337
             layout: (LayoutFrame 0 0 -106 1 0 1 -72 1)
cg@3126
  1338
             horizontalLayout: leftSpace
cg@3126
  1339
             verticalLayout: center
cg@3126
  1340
             horizontalSpace: 3
cg@3126
  1341
             verticalSpace: 3
cg@3126
  1342
             component: 
cg@3126
  1343
            (SpecCollection
cg@3126
  1344
               collection: (
cg@3126
  1345
                (ActionButtonSpec
cg@3126
  1346
                   label: 'Make All'
cg@3126
  1347
                   name: 'Button3'
cg@3126
  1348
                   activeHelpKey: makeAll
cg@3126
  1349
                   translateLabel: true
cg@3126
  1350
                   model: doStartMakeAll
cg@3126
  1351
                   enableChannel: startMakeButtonEnabled
cg@3126
  1352
                   useDefaultExtent: true
cg@2917
  1353
                 )
cg@3126
  1354
                (ActionButtonSpec
cg@3126
  1355
                   label: 'Make App'
cg@3126
  1356
                   name: 'Button17'
cg@3126
  1357
                   activeHelpKey: makeAll
cg@3126
  1358
                   visibilityChannel: osIsOSX
cg@3126
  1359
                   translateLabel: true
cg@3126
  1360
                   model: doStartMakeApp
cg@3126
  1361
                   enableChannel: startMakeButtonEnabled
cg@3126
  1362
                   useDefaultExtent: true
cg@2648
  1363
                 )
cg@3126
  1364
                (ActionButtonSpec
cg@3126
  1365
                   label: 'Make EXE only'
cg@3126
  1366
                   name: 'Button5'
cg@3126
  1367
                   activeHelpKey: makeExe
cg@3126
  1368
                   translateLabel: true
cg@3126
  1369
                   model: doStartMakeExe
cg@3126
  1370
                   enableChannel: startMakeButtonEnabled
cg@3126
  1371
                   useDefaultExtent: true
cg@2960
  1372
                 )
cg@3126
  1373
                (ActionButtonSpec
cg@3126
  1374
                   label: 'Quick Make EXE'
cg@3126
  1375
                   name: 'Button16'
cg@3126
  1376
                   activeHelpKey: makeExeQuick
cg@3126
  1377
                   translateLabel: true
cg@3126
  1378
                   model: doStartMakeExeQuick
cg@3126
  1379
                   enableChannel: startMakeButtonEnabled
cg@3126
  1380
                   useDefaultExtent: true
cg@3126
  1381
                 )
cg@3126
  1382
                (ViewSpec
cg@3126
  1383
                   name: 'Box1'
cg@3126
  1384
                   extent: (Point 20 10)
cg@3126
  1385
                 )
cg@3126
  1386
                (ActionButtonSpec
cg@3126
  1387
                   label: 'Stop Make'
cg@3126
  1388
                   name: 'Button4'
cg@3126
  1389
                   activeHelpKey: stopMake
cg@3126
  1390
                   visibilityChannel: stopMakeButtonVisible
cg@3126
  1391
                   translateLabel: true
cg@3126
  1392
                   model: doStopMake
cg@3126
  1393
                   useDefaultExtent: true
cg@3126
  1394
                 )
cg@3126
  1395
                )
cg@3126
  1396
              
cg@3126
  1397
             )
cg@2636
  1398
           )
cg@3126
  1399
          (HorizontalPanelViewSpec
cg@3126
  1400
             name: 'HorizontalPanel2'
cg@3337
  1401
             layout: (LayoutFrame 0 0 -70 1 0 1 -36 1)
cg@3126
  1402
             horizontalLayout: leftSpace
cg@3126
  1403
             verticalLayout: center
cg@3126
  1404
             horizontalSpace: 3
cg@3126
  1405
             verticalSpace: 3
cg@3126
  1406
             component: 
cg@3126
  1407
            (SpecCollection
cg@3126
  1408
               collection: (
cg@3337
  1409
                (LabelSpec
cg@3337
  1410
                   label: 'Build Directory'
cg@3337
  1411
                   name: 'Label1'
cg@3337
  1412
                   translateLabel: true
cg@3337
  1413
                   useDefaultExtent: true
cg@3337
  1414
                 )
cg@3126
  1415
                (ActionButtonSpec
cg@3337
  1416
                   label: 'Finder'
cg@3126
  1417
                   name: 'Button13'
cg@3126
  1418
                   activeHelpKey: openFinder
cg@3126
  1419
                   visibilityChannel: osIsOSX
cg@3126
  1420
                   translateLabel: true
cg@3126
  1421
                   model: doOpenFinder
cg@3126
  1422
                   useDefaultExtent: true
cg@3126
  1423
                 )
cg@3126
  1424
                (ActionButtonSpec
cg@3337
  1425
                   label: 'Explorer'
cg@3126
  1426
                   name: 'Button14'
cg@3126
  1427
                   activeHelpKey: openExplorer
cg@3126
  1428
                   visibilityChannel: osIsWindows
cg@3126
  1429
                   translateLabel: true
cg@3126
  1430
                   model: doOpenExplorer
cg@3126
  1431
                   useDefaultExtent: true
cg@3126
  1432
                 )
cg@3126
  1433
                (ActionButtonSpec
cg@3337
  1434
                   label: 'Browser'
cg@3126
  1435
                   name: 'Button11'
cg@3126
  1436
                   activeHelpKey: openFileBrowser
cg@3126
  1437
                   translateLabel: true
cg@3126
  1438
                   model: doBrowseBuildDirectory
cg@3126
  1439
                   useDefaultExtent: true
cg@3126
  1440
                 )
cg@3126
  1441
                (ViewSpec
cg@3126
  1442
                   name: 'Box2'
cg@3126
  1443
                   extent: (Point 20 10)
cg@3126
  1444
                 )
cg@3126
  1445
                (ActionButtonSpec
cg@3337
  1446
                   label: 'Clear'
cg@3126
  1447
                   name: 'Button12'
cg@3126
  1448
                   activeHelpKey: clearBuildDirectory
cg@3126
  1449
                   translateLabel: true
cg@3126
  1450
                   model: doClearBuildDirectory
cg@3126
  1451
                   useDefaultExtent: true
cg@3126
  1452
                 )
cg@3126
  1453
                )
cg@3126
  1454
              
cg@3126
  1455
             )
cg@3126
  1456
           )
cg@3126
  1457
          (HorizontalPanelViewSpec
cg@3126
  1458
             name: 'HorizontalPanel3'
cg@3337
  1459
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
cg@3126
  1460
             horizontalLayout: leftSpace
cg@3126
  1461
             verticalLayout: center
cg@3126
  1462
             horizontalSpace: 3
cg@3126
  1463
             verticalSpace: 3
cg@3126
  1464
             component: 
cg@3126
  1465
            (SpecCollection
cg@3126
  1466
               collection: (
cg@3126
  1467
                (ActionButtonSpec
cg@3126
  1468
                   label: 'Terminal in Build Directory'
cg@3126
  1469
                   name: 'Button15'
cg@3126
  1470
                   activeHelpKey: openTerminal
cg@3126
  1471
                   translateLabel: true
cg@3126
  1472
                   model: doOpenTerminal
cg@3126
  1473
                   useDefaultExtent: true
cg@3126
  1474
                 )
cg@3126
  1475
                )
cg@3126
  1476
              
cg@3126
  1477
             )
cg@3126
  1478
           )
cg@3126
  1479
          )
cg@3126
  1480
        
cg@3126
  1481
       )
cg@3126
  1482
     )
cg@2636
  1483
!
cg@2636
  1484
cg@3068
  1485
page7a_checkinSpec
cg@3068
  1486
    "This resource specification was automatically generated
cg@3068
  1487
     by the UIPainter of ST/X."
cg@3068
  1488
cg@3068
  1489
    "Do not manually edit this!! If it is corrupted,
cg@3068
  1490
     the UIPainter may not be able to read the specification."
cg@3068
  1491
cg@3068
  1492
    "
cg@3068
  1493
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page7a_checkinSpec
cg@3068
  1494
     Tools::ProjectBuilderAssistantApplication new openInterface:#page7a_checkinSpec
cg@3068
  1495
    "
cg@3068
  1496
cg@3068
  1497
    <resource: #canvas>
cg@3068
  1498
cg@3068
  1499
    ^ 
cg@3068
  1500
    #(FullSpec
cg@3068
  1501
       name: #'page7a_checkinSpec'
cg@3068
  1502
       window: 
cg@3068
  1503
      (WindowSpec
cg@3068
  1504
         label: 'Check Into Repository'
cg@3068
  1505
         name: 'Check Into Repository'
cg@3068
  1506
         min: (Point 0 0)
cg@3068
  1507
         bounds: (Rectangle 0 0 679 492)
cg@3068
  1508
       )
cg@3068
  1509
       component: 
cg@3068
  1510
      (SpecCollection
cg@3068
  1511
         collection: (
cg@3068
  1512
          (HorizontalPanelViewSpec
cg@3068
  1513
             name: 'HorizontalPanel2'
cg@3337
  1514
             layout: (LayoutFrame 10 0 10 0 0 1 44 0)
cg@3068
  1515
             horizontalLayout: leftSpace
cg@3068
  1516
             verticalLayout: center
cg@3068
  1517
             horizontalSpace: 3
cg@3068
  1518
             verticalSpace: 3
cg@3068
  1519
             component: 
cg@3068
  1520
            (SpecCollection
cg@3068
  1521
               collection: (
cg@3068
  1522
                (ActionButtonSpec
cg@3068
  1523
                   label: 'Checkin...'
cg@3126
  1524
                   name: 'CheckinButton'
cg@3068
  1525
                   activeHelpKey: openFinder
cg@3068
  1526
                   visibilityChannel: osIsOSX
cg@3068
  1527
                   translateLabel: true
cg@3126
  1528
                   resizeForLabel: true
cg@3068
  1529
                   model: doCheckin
cg@3068
  1530
                   useDefaultExtent: true
cg@3068
  1531
                 )
cg@3068
  1532
                )
cg@3068
  1533
              
cg@3068
  1534
             )
cg@3068
  1535
           )
cg@3068
  1536
          )
cg@3068
  1537
        
cg@3068
  1538
       )
cg@3068
  1539
     )
cg@3068
  1540
!
cg@3068
  1541
cg@3068
  1542
page7b_buildSpec
cg@3068
  1543
    "This resource specification was automatically generated
cg@3068
  1544
     by the UIPainter of ST/X."
cg@3068
  1545
cg@3068
  1546
    "Do not manually edit this!! If it is corrupted,
cg@3068
  1547
     the UIPainter may not be able to read the specification."
cg@3068
  1548
cg@3068
  1549
    "
cg@3126
  1550
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page7b_buildSpec
cg@3126
  1551
     Tools::ProjectBuilderAssistantApplication new openInterface:#page7b_buildSpec
cg@3068
  1552
    "
cg@3068
  1553
cg@3068
  1554
    <resource: #canvas>
cg@3068
  1555
cg@3068
  1556
    ^ 
cg@3126
  1557
    #(FullSpec
cg@3126
  1558
       name: #'page7b_buildSpec'
cg@3126
  1559
       window: 
cg@3126
  1560
      (WindowSpec
cg@3126
  1561
         label: 'Project Selection'
cg@3126
  1562
         name: 'Project Selection'
cg@3126
  1563
         min: (Point 0 0)
cg@3126
  1564
         bounds: (Rectangle 0 0 679 492)
cg@3126
  1565
       )
cg@3126
  1566
       component: 
cg@3126
  1567
      (SpecCollection
cg@3126
  1568
         collection: (
cg@3126
  1569
          (FramedBoxSpec
cg@3126
  1570
             label: 'Make Output'
cg@3126
  1571
             name: 'FramedBox3'
cg@3337
  1572
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1)
cg@3126
  1573
             labelPosition: topLeft
cg@3126
  1574
             translateLabel: true
cg@3126
  1575
             component: 
cg@3126
  1576
            (SpecCollection
cg@3126
  1577
               collection: (
cg@3126
  1578
                (TextEditorSpec
cg@3126
  1579
                   name: 'MakeOutputWindow'
cg@3126
  1580
                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@3126
  1581
                   activeHelpKey: makeOutput
cg@3126
  1582
                   model: makeOutputHolder
cg@3126
  1583
                   hasHorizontalScrollBar: true
cg@3126
  1584
                   hasVerticalScrollBar: true
cg@3126
  1585
                   hasKeyboardFocusInitially: false
cg@3337
  1586
                   postBuildCallback: postBuildMakeOutputWindow:
cg@3126
  1587
                   viewClassName: 'TextCollector'
cg@3068
  1588
                 )
cg@3126
  1589
                )
cg@3126
  1590
              
cg@3126
  1591
             )
cg@3126
  1592
           )
cg@3126
  1593
          (HorizontalPanelViewSpec
cg@3126
  1594
             name: 'HorizontalPanel1'
cg@3337
  1595
             layout: (LayoutFrame 0 0 -106 1 -2 1 -72 1)
cg@3126
  1596
             horizontalLayout: leftSpace
cg@3126
  1597
             verticalLayout: center
cg@3126
  1598
             horizontalSpace: 3
cg@3126
  1599
             verticalSpace: 3
cg@3126
  1600
             component: 
cg@3126
  1601
            (SpecCollection
cg@3126
  1602
               collection: (
cg@3126
  1603
                (ActionButtonSpec
cg@3126
  1604
                   label: 'Make All'
cg@3126
  1605
                   name: 'Button3'
cg@3126
  1606
                   activeHelpKey: makeAll
cg@3126
  1607
                   translateLabel: true
cg@3126
  1608
                   model: doStartMakeAll
cg@3126
  1609
                   enableChannel: startMakeButtonEnabled
cg@3126
  1610
                   useDefaultExtent: true
cg@3068
  1611
                 )
cg@3126
  1612
                (ActionButtonSpec
cg@3126
  1613
                   label: 'Make APP only'
cg@3126
  1614
                   name: 'Button17'
cg@3126
  1615
                   activeHelpKey: makeApp
cg@3126
  1616
                   visibilityChannel: osIsOSX
cg@3126
  1617
                   translateLabel: true
cg@3126
  1618
                   model: doStartMakeApp
cg@3126
  1619
                   enableChannel: startMakeButtonEnabled
cg@3126
  1620
                   useDefaultExtent: true
cg@3068
  1621
                 )
cg@3126
  1622
                (ActionButtonSpec
cg@3126
  1623
                   label: 'Make EXE only'
cg@3126
  1624
                   name: 'Button5'
cg@3126
  1625
                   activeHelpKey: makeExe
cg@3126
  1626
                   translateLabel: true
cg@3126
  1627
                   model: doStartMakeExe
cg@3126
  1628
                   enableChannel: startMakeButtonEnabled
cg@3126
  1629
                   useDefaultExtent: true
cg@3068
  1630
                 )
cg@3126
  1631
                (ActionButtonSpec
cg@3126
  1632
                   label: 'Quick Make EXE'
cg@3126
  1633
                   name: 'Button16'
cg@3126
  1634
                   activeHelpKey: makeExeQuick
cg@3126
  1635
                   translateLabel: true
cg@3126
  1636
                   model: doStartMakeExeQuick
cg@3126
  1637
                   enableChannel: startMakeButtonEnabled
cg@3126
  1638
                   useDefaultExtent: true
cg@3126
  1639
                 )
cg@3126
  1640
                (ViewSpec
cg@3126
  1641
                   name: 'Box1'
cg@3126
  1642
                   extent: (Point 20 10)
cg@3126
  1643
                 )
cg@3126
  1644
                (ActionButtonSpec
cg@3126
  1645
                   label: 'Stop Make'
cg@3126
  1646
                   name: 'Button4'
cg@3126
  1647
                   activeHelpKey: stopMake
cg@3126
  1648
                   visibilityChannel: stopMakeButtonVisible
cg@3126
  1649
                   translateLabel: true
cg@3126
  1650
                   model: doStopMake
cg@3126
  1651
                   useDefaultExtent: true
cg@3126
  1652
                 )
cg@3126
  1653
                )
cg@3126
  1654
              
cg@3126
  1655
             )
cg@3068
  1656
           )
cg@3126
  1657
          (HorizontalPanelViewSpec
cg@3126
  1658
             name: 'HorizontalPanel2'
cg@3337
  1659
             layout: (LayoutFrame 0 0 -70 1 -2 1 -36 1)
cg@3126
  1660
             horizontalLayout: leftSpace
cg@3126
  1661
             verticalLayout: center
cg@3126
  1662
             horizontalSpace: 3
cg@3126
  1663
             verticalSpace: 3
cg@3126
  1664
             component: 
cg@3126
  1665
            (SpecCollection
cg@3126
  1666
               collection: (
cg@3337
  1667
                (LabelSpec
cg@3337
  1668
                   label: 'Build Directory:'
cg@3337
  1669
                   name: 'Label1'
cg@3337
  1670
                   translateLabel: true
cg@3337
  1671
                   useDefaultExtent: true
cg@3337
  1672
                 )
cg@3126
  1673
                (ActionButtonSpec
cg@3337
  1674
                   label: 'Finder'
cg@3126
  1675
                   name: 'Button13'
cg@3126
  1676
                   activeHelpKey: openFinder
cg@3126
  1677
                   visibilityChannel: osIsOSX
cg@3126
  1678
                   translateLabel: true
cg@3126
  1679
                   model: doOpenFinder
cg@3126
  1680
                   useDefaultExtent: true
cg@3126
  1681
                 )
cg@3126
  1682
                (ActionButtonSpec
cg@3337
  1683
                   label: 'Explorer'
cg@3126
  1684
                   name: 'Button14'
cg@3126
  1685
                   activeHelpKey: openExplorer
cg@3126
  1686
                   visibilityChannel: osIsWindows
cg@3126
  1687
                   translateLabel: true
cg@3126
  1688
                   model: doOpenExplorer
cg@3126
  1689
                   useDefaultExtent: true
cg@3126
  1690
                 )
cg@3126
  1691
                (ActionButtonSpec
cg@3337
  1692
                   label: 'Browser'
cg@3126
  1693
                   name: 'Button11'
cg@3126
  1694
                   activeHelpKey: openFileBrowser
cg@3126
  1695
                   translateLabel: true
cg@3126
  1696
                   model: doBrowseBuildDirectory
cg@3126
  1697
                   useDefaultExtent: true
cg@3126
  1698
                 )
cg@3126
  1699
                (ViewSpec
cg@3126
  1700
                   name: 'Box2'
cg@3126
  1701
                   extent: (Point 20 10)
cg@3126
  1702
                 )
cg@3126
  1703
                (ActionButtonSpec
cg@3337
  1704
                   label: 'Clear'
cg@3126
  1705
                   name: 'Button12'
cg@3126
  1706
                   activeHelpKey: clearBuildDirectory
cg@3126
  1707
                   translateLabel: true
cg@3126
  1708
                   model: doClearBuildDirectory
cg@3126
  1709
                   useDefaultExtent: true
cg@3126
  1710
                 )
cg@3126
  1711
                )
cg@3126
  1712
              
cg@3126
  1713
             )
cg@3126
  1714
           )
cg@3126
  1715
          (HorizontalPanelViewSpec
cg@3126
  1716
             name: 'HorizontalPanel3'
cg@3337
  1717
             layout: (LayoutFrame 0 0 -34 1 -2 1 0 1)
cg@3126
  1718
             horizontalLayout: leftSpace
cg@3126
  1719
             verticalLayout: center
cg@3126
  1720
             horizontalSpace: 3
cg@3126
  1721
             verticalSpace: 3
cg@3126
  1722
             component: 
cg@3126
  1723
            (SpecCollection
cg@3126
  1724
               collection: (
cg@3126
  1725
                (ActionButtonSpec
cg@3126
  1726
                   label: 'Terminal in Build Directory'
cg@3126
  1727
                   name: 'Button15'
cg@3126
  1728
                   activeHelpKey: openTerminal
cg@3126
  1729
                   translateLabel: true
cg@3126
  1730
                   model: doOpenTerminal
cg@3126
  1731
                   useDefaultExtent: true
cg@3126
  1732
                 )
cg@3126
  1733
                )
cg@3126
  1734
              
cg@3126
  1735
             )
cg@3126
  1736
           )
cg@3126
  1737
          )
cg@3126
  1738
        
cg@3126
  1739
       )
cg@3126
  1740
     )
cg@3068
  1741
!
cg@3068
  1742
cg@2676
  1743
page8_deploySpec
cg@2676
  1744
    "This resource specification was automatically generated
cg@2676
  1745
     by the UIPainter of ST/X."
cg@2676
  1746
cg@2676
  1747
    "Do not manually edit this!! If it is corrupted,
cg@2676
  1748
     the UIPainter may not be able to read the specification."
cg@2676
  1749
cg@2676
  1750
    "
cg@2676
  1751
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page8_deploySpec
cg@2676
  1752
     Tools::ProjectBuilderAssistantApplication new openInterface:#page8_deploySpec
cg@2676
  1753
    "
cg@2676
  1754
cg@2676
  1755
    <resource: #canvas>
cg@2676
  1756
cg@2676
  1757
    ^ 
cg@3126
  1758
    #(FullSpec
cg@3126
  1759
       name: #'page8_deploySpec'
cg@3126
  1760
       window: 
cg@3126
  1761
      (WindowSpec
cg@3126
  1762
         label: 'Project Selection'
cg@3126
  1763
         name: 'Project Selection'
cg@3126
  1764
         min: (Point 0 0)
cg@3337
  1765
         bounds: (Rectangle 0 0 520 478)
cg@3126
  1766
       )
cg@3126
  1767
       component: 
cg@3126
  1768
      (SpecCollection
cg@3126
  1769
         collection: (
cg@3126
  1770
          (FramedBoxSpec
cg@3126
  1771
             label: 'Files for Deployment'
cg@3126
  1772
             name: 'FramedBox3'
cg@3126
  1773
             layout: (LayoutFrame 0 0.0 5 0 4 1.0 0 1)
cg@3126
  1774
             labelPosition: topLeft
cg@3126
  1775
             translateLabel: true
cg@3126
  1776
             component: 
cg@3126
  1777
            (SpecCollection
cg@3126
  1778
               collection: (
cg@3126
  1779
                (SubCanvasSpec
cg@3335
  1780
                   name: 'FileBrowserSubCanvas'
cg@3337
  1781
                   layout: (LayoutFrame 0 0 0 0 0 1 -34 1)
cg@3126
  1782
                   hasHorizontalScrollBar: false
cg@3126
  1783
                   hasVerticalScrollBar: false
cg@3126
  1784
                   clientHolder: fileBrowserInstance
cg@3126
  1785
                   createNewApplication: true
cg@3126
  1786
                   createNewBuilder: true
cg@3126
  1787
                 )
cg@3126
  1788
                (HorizontalPanelViewSpec
cg@3126
  1789
                   name: 'HorizontalPanel1'
cg@3337
  1790
                   layout: (LayoutFrame 0 0 -34 1 -2 1 0 1)
cg@3126
  1791
                   horizontalLayout: centerMax
cg@3126
  1792
                   verticalLayout: center
cg@3126
  1793
                   horizontalSpace: 3
cg@3126
  1794
                   verticalSpace: 3
cg@3126
  1795
                   component: 
cg@3126
  1796
                  (SpecCollection
cg@3126
  1797
                     collection: (
cg@3126
  1798
                      (ActionButtonSpec
cg@3337
  1799
                         label: 'Windows Explorer'
cg@3126
  1800
                         name: 'Button1'
cg@3126
  1801
                         visibilityChannel: osIsWindows
cg@3126
  1802
                         translateLabel: true
cg@3126
  1803
                         resizeForLabel: true
cg@3126
  1804
                         model: doOpenExplorer
cg@3337
  1805
                         useDefaultExtent: true
cg@2649
  1806
                       )
cg@3126
  1807
                      (ActionButtonSpec
cg@3337
  1808
                         label: ' Finder'
cg@3126
  1809
                         name: 'Button3'
cg@3126
  1810
                         visibilityChannel: osIsOSX
cg@3126
  1811
                         translateLabel: true
cg@3126
  1812
                         resizeForLabel: true
cg@3126
  1813
                         model: doOpenFinder
cg@3337
  1814
                         useDefaultExtent: true
cg@3126
  1815
                       )
cg@3126
  1816
                      (ActionButtonSpec
cg@3337
  1817
                         label: 'Terminal'
cg@3126
  1818
                         name: 'Button2'
cg@3126
  1819
                         translateLabel: true
cg@3126
  1820
                         resizeForLabel: true
cg@3126
  1821
                         model: doOpenTerminal
cg@3337
  1822
                         useDefaultExtent: true
cg@3126
  1823
                       )
cg@3126
  1824
                      )
cg@3126
  1825
                    
cg@3126
  1826
                   )
cg@2636
  1827
                 )
cg@3126
  1828
                )
cg@3126
  1829
              
cg@3126
  1830
             )
cg@2636
  1831
           )
cg@3126
  1832
          )
cg@3126
  1833
        
cg@3126
  1834
       )
cg@3126
  1835
     )
cg@2676
  1836
! !
cg@2676
  1837
fm@2697
  1838
!ProjectBuilderAssistantApplication class methodsFor:'misc specs'!
fm@2697
  1839
fm@2697
  1840
newProjectsNameListSpec
fm@2697
  1841
    "This resource specification was automatically generated
fm@2697
  1842
     by the UIPainter of ST/X."
fm@2697
  1843
fm@2697
  1844
    "Do not manually edit this!! If it is corrupted,
fm@2697
  1845
     the UIPainter may not be able to read the specification."
fm@2697
  1846
fm@2697
  1847
    "
fm@2697
  1848
     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#newProjectsNameListSpec
fm@2697
  1849
     Tools::ProjectBuilderAssistantApplication new openInterface:#newProjectsNameListSpec
fm@2697
  1850
    "
fm@2697
  1851
fm@2697
  1852
    <resource: #canvas>
fm@2697
  1853
fm@2697
  1854
    ^ 
fm@2697
  1855
     #(FullSpec
fm@2697
  1856
        name: newProjectsNameListSpec
fm@2697
  1857
        window: 
fm@2697
  1858
       (WindowSpec
fm@2697
  1859
          label: 'NewApplication'
fm@2697
  1860
          name: 'NewApplication'
fm@2697
  1861
          min: (Point 0 0)
fm@2697
  1862
          bounds: (Rectangle 0 0 131 207)
cg@2990
  1863
          usePreferredExtent: true
fm@2697
  1864
        )
fm@2697
  1865
        component: 
fm@2697
  1866
       (SpecCollection
fm@2697
  1867
          collection: (
fm@2697
  1868
           (SequenceViewSpec
fm@2697
  1869
              name: 'ReferencePoint2'
fm@2697
  1870
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
fm@2705
  1871
              activeHelpKey: listOfNewProjectsName
fm@2697
  1872
              model: newProjectsName
fm@2697
  1873
              hasHorizontalScrollBar: true
fm@2697
  1874
              hasVerticalScrollBar: true
fm@2697
  1875
              miniScrollerHorizontal: true
fm@2697
  1876
              miniScrollerVertical: false
fm@2697
  1877
              useIndex: false
fm@2697
  1878
              sequenceList: listOfNewProjectsName
fm@2705
  1879
              doubleClickChannel: newProjectsNameListDoubleClickChannel
cg@2990
  1880
              usePreferredHeight: true
cg@2990
  1881
              useDynamicPreferredHeight: true
fm@2697
  1882
            )
fm@2697
  1883
           )
fm@2697
  1884
         
fm@2697
  1885
        )
fm@2697
  1886
      )
fm@2697
  1887
! !
fm@2697
  1888
cg@2897
  1889
!ProjectBuilderAssistantApplication class methodsFor:'startup'!
cg@2897
  1890
cg@3337
  1891
openOn:aProjectDefinitionOrStartupClass
cg@3337
  1892
    ^ self new openOn:aProjectDefinitionOrStartupClass
cg@2897
  1893
cg@2897
  1894
    "Created: / 20-07-2012 / 12:33:25 / cg"
cg@2897
  1895
!
cg@2897
  1896
cg@2897
  1897
openOnPackage:aPackageId
cg@2897
  1898
    ^ self new openOnPackage:aPackageId
cg@2897
  1899
cg@2897
  1900
    "Created: / 20-07-2012 / 13:22:50 / cg"
cg@2897
  1901
! !
cg@2897
  1902
cg@2676
  1903
!ProjectBuilderAssistantApplication methodsFor:'actions'!
cg@2676
  1904
cg@2676
  1905
buildDirectoryChanged
cg@2676
  1906
    self updateButtonEnableState.
cg@2636
  1907
!
cg@2636
  1908
cg@3339
  1909
clearBuildDirectory
cg@3339
  1910
    self halt.
cg@3339
  1911
!
cg@3339
  1912
cg@2676
  1913
createNewApplication
cg@2676
  1914
    <resource: #uiCallback>
cg@2636
  1915
cg@2676
  1916
    |newAppName newAppClass|
cg@2676
  1917
cg@2676
  1918
    newAppName := self newApplicationsName value.
cg@2676
  1919
    newAppName isEmptyOrNil ifTrue:[
cg@2676
  1920
        Dialog warn:'Please enter the name of the Application-Class first.'.
cg@2676
  1921
        ^ self
cg@2676
  1922
    ].
cg@3004
  1923
    newAppName isUppercaseFirst ifFalse:[
cg@3004
  1924
        (Dialog confirm:(resources 
cg@3004
  1925
                    stringWithCRs:'Class names must start with an uppercase character.\\Change to "%1"?'
cg@3004
  1926
                    with:newAppName asUppercaseFirst))
cg@3004
  1927
        ifFalse:[
cg@3004
  1928
            ^ self
cg@3004
  1929
        ].
cg@3004
  1930
        newAppName := newAppName asUppercaseFirst.
cg@3004
  1931
        self newApplicationsName value:newAppName.
cg@3004
  1932
    ].
cg@2676
  1933
cg@2676
  1934
    self withWaitCursorDo:[
cg@2676
  1935
        Class packageQuerySignal answer:(selectedProjectDefinition package)
cg@2676
  1936
        do:[
cg@2659
  1937
            newAppClass := ApplicationModel
cg@2659
  1938
                            subclass:newAppName asSymbol
cg@2659
  1939
                            instanceVariableNames:''
cg@2659
  1940
                            classVariableNames:''
cg@2659
  1941
                            poolDictionaries:''
cg@2659
  1942
                            category:'Applications'.
cg@2832
  1943
            SmalltalkCodeGeneratorTool createApplicationCodeFor:newAppClass.
cg@2659
  1944
        ].
cg@2724
  1945
        self updateListOfApplicationsInProject.
cg@2724
  1946
        self selectedApplicationIndexHolder value:(listOfApplicationsInProject value indexOf:newAppClass).
cg@2636
  1947
    ].
cg@2832
  1948
cg@2832
  1949
    "Modified: / 31-01-2011 / 18:29:50 / cg"
cg@2636
  1950
!
cg@2636
  1951
cg@2676
  1952
createNewProject
cg@2676
  1953
    <resource: #uiCallback>
cg@2676
  1954
cg@2676
  1955
    |newProjectID projectDefinitionType projectDefinitionClass projectClasses|
cg@2676
  1956
cg@2676
  1957
    newProjectID := self newProjectsName value.
cg@2676
  1958
    newProjectID isEmptyOrNil ifTrue:[
cg@2686
  1959
        Dialog warn:(resources string:'Please enter a packageID first.').
cg@2676
  1960
        ^ self
cg@2676
  1961
    ].
cg@2676
  1962
    newProjectID asPackageId isModuleId ifTrue:[
cg@2686
  1963
        Dialog warn:(resources stringWithCRs:
cg@2686
  1964
'Please enter a corrent packageID.
cg@2686
  1965
cg@2686
  1966
All packages must be named like "%1:%2"
cg@2686
  1967
(%2 can be a path like "dir/dir/...").' with:(resources string:'module')allItalic
cg@2686
  1968
                                        with:(resources string:'directory')allItalic).
cg@2676
  1969
        ^ self
cg@2676
  1970
    ].
cg@2676
  1971
cg@2709
  1972
    self withWaitCursorDo:[
cg@2900
  1973
        projectDefinitionType := self projectType. "/ ProjectDefinition perform:(self projectTypeHolder value).
cg@2676
  1974
cg@2709
  1975
        projectDefinitionClass := ProjectDefinition
cg@2709
  1976
                                    definitionClassForPackage:newProjectID
cg@2709
  1977
                                    projectType: projectDefinitionType
cg@2709
  1978
                                    createIfAbsent:true.
cg@2676
  1979
cg@2709
  1980
        projectDefinitionClass compileDescriptionMethods.
cg@2709
  1981
        self updateListOfMatchingProjects.
cg@2709
  1982
        self updateListOfNewProjectsName.
cg@2676
  1983
cg@2709
  1984
        self selectedProjectIndexHolder value:( self listOfMatchingProjects value indexOf:projectDefinitionClass).
cg@2676
  1985
cg@2851
  1986
        projectClasses := projectDefinitionClass allClasses.
cg@2676
  1987
cg@2676
  1988
"/    projectDefinitionClass isGUIApplication ifTrue:[
cg@2676
  1989
"/        "/ see if it has an AppModel class
cg@2659
  1990
"/        (projectClasses contains:[:cls | cls isVisualStartable]) ifFalse:[
cg@2659
  1991
"/            (Dialog confirm:'Create an Application Class ?') ifTrue:[
cg@2659
  1992
"/                self halt.
cg@2659
  1993
"/            ].
cg@2659
  1994
"/        ].
cg@2659
  1995
"/    ].
cg@2636
  1996
cg@2636
  1997
"/    projectDefinitionClass isLibrary ifFalse:[
cg@2636
  1998
"/        "/ see if it has a Startup class
cg@2636
  1999
"/        (projectClasses contains:[:cls | cls isStartable]) ifFalse:[
cg@2636
  2000
"/        ].
cg@2636
  2001
"/    ].
cg@2709
  2002
cg@2709
  2003
    ].
cg@2851
  2004
cg@2900
  2005
    "Modified: / 06-08-2012 / 16:55:54 / cg"
cg@2636
  2006
!
cg@2636
  2007
cg@2676
  2008
createNewStartupClass
cg@2676
  2009
    <resource: #uiCallback>
cg@2676
  2010
fm@2696
  2011
    |newClassName newStartupClass startupApplication|
cg@2676
  2012
cg@2676
  2013
    newClassName := self newStartupClassName value.
cg@2676
  2014
    newClassName isEmptyOrNil ifTrue:[
cg@2676
  2015
        Dialog warn:'Please enter the name of the Startup-Class first.'.
cg@2676
  2016
        ^ self
cg@2676
  2017
    ].
cg@3004
  2018
    newClassName isUppercaseFirst ifFalse:[
cg@3004
  2019
        (Dialog confirm:(resources 
cg@3004
  2020
                    stringWithCRs:'Class names must start with an uppercase character.\\Change to "%1"?'
cg@3004
  2021
                    with:newClassName asUppercaseFirst))
cg@3004
  2022
        ifFalse:[
cg@3004
  2023
            ^ self
cg@3004
  2024
        ].
cg@3004
  2025
        newClassName := newClassName asUppercaseFirst.
cg@3004
  2026
        self newStartupClassName value:newClassName.
cg@3004
  2027
    ].
cg@2676
  2028
cg@2719
  2029
    self withWaitCursorDo:[ 
cg@2719
  2030
        |pkg|
cg@2719
  2031
cg@2719
  2032
        pkg := selectedProjectDefinition notNil 
cg@2719
  2033
                    ifTrue:[selectedProjectDefinition package]
cg@2719
  2034
                    ifFalse:[newProjectsName value].
cg@2719
  2035
        Class packageQuerySignal answer:pkg
cg@2676
  2036
        do:[
cg@3337
  2037
            |startupClass|
cg@3337
  2038
            
cg@3337
  2039
            startupClass := self projectTypeIsNonGuiApplication
cg@3337
  2040
                                ifTrue:[ StandaloneStartupHeadless ]
cg@3337
  2041
                                ifFalse:[ StandaloneStartup ]. 
cg@3337
  2042
            newStartupClass := startupClass
cg@2659
  2043
                            subclass:newClassName asSymbol
cg@2659
  2044
                            instanceVariableNames:''
cg@2659
  2045
                            classVariableNames:''
cg@2659
  2046
                            poolDictionaries:''
fm@2696
  2047
                            category:'Applications'.   
fm@2696
  2048
fm@2696
  2049
            self projectTypeIsGuiApplication ifTrue: [startupApplication := selectedApplication].
cg@2832
  2050
            SmalltalkCodeGeneratorTool createStartupCodeFor:newStartupClass forStartOf:startupApplication.
cg@2659
  2051
        ].
cg@2724
  2052
        self updateListOfStartupClassesInProject.
cg@2724
  2053
        self selectedStartupClassIndexHolder value:(listOfStartupClassesInProject value indexOf:newStartupClass).
cg@2659
  2054
    ].
cg@2832
  2055
cg@2832
  2056
    "Modified: / 31-01-2011 / 18:29:47 / cg"
cg@2659
  2057
!
cg@2659
  2058
cg@2676
  2059
doAddClassToProject
cg@2676
  2060
    <resource: #uiCallback>
cg@2636
  2061
cg@2636
  2062
    Transcript showCR:self class name, ': action for doAddClassToProject ...'.
cg@2962
  2063
    self halt:'unimplemented'.
cg@2636
  2064
!
cg@2636
  2065
cg@2676
  2066
doBrowseApplication
cg@2676
  2067
    <resource: #uiCallback>
cg@2636
  2068
cg@2636
  2069
    |appClass|
cg@2636
  2070
cg@2659
  2071
    self hasApplicationSelected ifTrue:[
cg@2659
  2072
        appClass := self listOfApplicationsInProject value at:(self selectedApplicationIndexHolder value).
cg@2659
  2073
        UserPreferences systemBrowserClass 
cg@2668
  2074
            openInClass:appClass class selector:#windowSpec.
cg@2659
  2075
    ].
cg@2636
  2076
!
cg@2636
  2077
cg@2906
  2078
doBrowseBuildDirectory
cg@2906
  2079
    <resource: #uiCallback>
cg@2906
  2080
cg@2959
  2081
    projectBuilder isNil ifTrue:[ self getProjectBuilder ].
cg@2959
  2082
    projectBuilder buildDirectory isNil ifTrue:[
cg@2959
  2083
        Dialog information:'No build directory yet'.
cg@2959
  2084
        ^  self
cg@2959
  2085
    ].
cg@3156
  2086
    UserPreferences fileBrowserClass
cg@2906
  2087
        openIn:projectBuilder packageBuildDirectory asFilename
cg@2906
  2088
"/    projectBuilder packageBuildDirectory asFilename openExplorer
cg@2906
  2089
cg@2906
  2090
    "Created: / 20-08-2012 / 17:05:54 / cg"
cg@2906
  2091
!
cg@2906
  2092
cg@2676
  2093
doBrowseProject
cg@2676
  2094
    <resource: #uiCallback>
cg@2676
  2095
cg@2676
  2096
    UserPreferences systemBrowserClass openOnPackage:selectedProjectDefinition package.
cg@2636
  2097
!
cg@2636
  2098
cg@2676
  2099
doBrowseProjectDefinitionClass
cg@2676
  2100
    <resource: #uiCallback>
cg@2676
  2101
cg@2676
  2102
    |defClass|
cg@2676
  2103
cg@2676
  2104
    self hasProjectSelected ifTrue:[
cg@2676
  2105
        defClass := self selectedProjectDefinition.
cg@2676
  2106
        UserPreferences systemBrowserClass 
cg@2659
  2107
            openInClass:defClass class selector:#classNamesAndAttributes.
cg@2659
  2108
    ].
cg@2659
  2109
!
cg@2659
  2110
cg@2959
  2111
doBrowseProjectDefinitionClassForPrereqs
cg@2959
  2112
    <resource: #uiCallback>
cg@2959
  2113
cg@2959
  2114
    |defClass|
cg@2959
  2115
cg@2959
  2116
    self hasProjectSelected ifTrue:[
cg@2959
  2117
        defClass := self selectedProjectDefinition.
cg@2959
  2118
        UserPreferences systemBrowserClass 
cg@3342
  2119
            openInClass:defClass class selector:#referencedPreRequisites "/ #mandatoryPreRequisites.
cg@2959
  2120
    ].
cg@2959
  2121
!
cg@2959
  2122
cg@2676
  2123
doBrowseStartupClass
cg@2676
  2124
    <resource: #uiCallback>
cg@2676
  2125
cg@2676
  2126
    |startupClass|
cg@2676
  2127
cg@2676
  2128
    self hasStartupClassSelected ifTrue:[
cg@2676
  2129
        startupClass := self listOfStartupClassesInProject value at:(self selectedStartupClassIndexHolder value).
cg@2676
  2130
        UserPreferences systemBrowserClass 
cg@2676
  2131
            openInClass:startupClass class selector:#main:.
cg@2659
  2132
    ].
cg@2659
  2133
!
cg@2659
  2134
cg@3068
  2135
doCheckin
cg@3068
  2136
    <resource: #uiCallback>
cg@3068
  2137
cg@3068
  2138
    |package utilities|
cg@3068
  2139
cg@3068
  2140
    package := selectedProjectDefinition package.
cg@3068
  2141
    utilities := (AbstractSourceCodeManager managerForPackage:package) utilities.
cg@3068
  2142
cg@3068
  2143
    AbortAllOperationRequest catch:[
cg@3068
  2144
        self withWaitCursorDo:[
cg@3068
  2145
            utilities
cg@3068
  2146
                checkinPackage:package
cg@3068
  2147
                classes:true
cg@3068
  2148
                extensions:true
cg@3068
  2149
                buildSupport:true
cg@3068
  2150
                askForMethodsInOtherPackages:true
cg@3068
  2151
        ]
cg@3068
  2152
    ]
cg@3068
  2153
!
cg@3068
  2154
cg@2917
  2155
doClearBuildDirectory
cg@2917
  2156
    <resource: #uiCallback>
cg@2917
  2157
cg@2928
  2158
    projectBuilder isNil ifTrue:[ self getProjectBuilder ].
cg@2928
  2159
    projectBuilder buildDirectory notNil ifTrue:[   
cg@2929
  2160
        self withWaitCursorDo:[
cg@2929
  2161
            projectBuilder packageBuildDirectory asFilename recursiveRemove
cg@2929
  2162
        ]
cg@2928
  2163
    ].
cg@2917
  2164
cg@2917
  2165
    "Created: / 05-09-2012 / 10:35:54 / cg"
cg@2917
  2166
!
cg@2917
  2167
cg@2676
  2168
doGenerateProjectContentsDefinition
cg@2676
  2169
    self generatePackageContentsMethods
cg@2676
  2170
!
cg@2676
  2171
cg@2872
  2172
doGenerateProjectPrerequisitesDefinition
cg@2872
  2173
    self generatePackageContentsMethods
cg@2872
  2174
cg@2872
  2175
    "Created: / 19-01-2012 / 15:44:23 / cg"
cg@2872
  2176
!
cg@2872
  2177
cg@2676
  2178
doLaunchApplication
cg@2676
  2179
    <resource: #uiCallback>
cg@2676
  2180
cg@2676
  2181
    |appClass|
cg@2676
  2182
cg@2676
  2183
    self hasApplicationSelected ifTrue:[
cg@2676
  2184
        appClass := self listOfApplicationsInProject value at:(self selectedApplicationIndexHolder value).
cg@2676
  2185
        appClass open.
cg@2659
  2186
    ].
cg@2659
  2187
!
cg@2659
  2188
cg@2676
  2189
doOpenExplorer
cg@2959
  2190
    projectBuilder isNil ifTrue:[ self getProjectBuilder ].
cg@2959
  2191
    projectBuilder buildDirectory isNil ifTrue:[
cg@2959
  2192
        Dialog information:'No build directory yet'.
cg@2959
  2193
        ^  self
cg@2959
  2194
    ].
cg@2899
  2195
    projectBuilder packageBuildDirectory asFilename openExplorer
cg@2899
  2196
cg@2899
  2197
    "Modified: / 21-07-2012 / 12:29:21 / cg"
cg@2676
  2198
!
cg@2676
  2199
cg@2959
  2200
doOpenFinder
cg@2959
  2201
    projectBuilder isNil ifTrue:[ self getProjectBuilder ].
cg@2959
  2202
    projectBuilder buildDirectory isNil ifTrue:[
cg@2959
  2203
        Dialog information:'No build directory yet'.
cg@2959
  2204
        ^  self
cg@2959
  2205
    ].
cg@2959
  2206
    projectBuilder packageBuildDirectory asFilename openFinder
cg@2959
  2207
cg@2959
  2208
    "Modified: / 21-07-2012 / 12:29:21 / cg"
cg@2674
  2209
!
cg@2674
  2210
cg@2960
  2211
doOpenTerminal
cg@2960
  2212
    projectBuilder isNil ifTrue:[ self getProjectBuilder ].
cg@2960
  2213
    projectBuilder buildDirectory isNil ifTrue:[
cg@2960
  2214
        Dialog information:'No build directory yet'.
cg@2960
  2215
        ^  self
cg@2960
  2216
    ].
cg@2960
  2217
    projectBuilder packageBuildDirectory asFilename openTerminal
cg@2960
  2218
!
cg@2960
  2219
cg@2959
  2220
doStartMake:whichTarget
cg@2674
  2221
    <resource: #uiCallback>
cg@2674
  2222
cg@2674
  2223
    self stopMakeButtonVisible value:true.
cg@2674
  2224
    self startMakeButtonEnabled value:false.
cg@2674
  2225
cg@2724
  2226
    self infoHolder value:'Building (make) - please wait...'.
cg@2674
  2227
    makeOutputWindow clear.
cg@2674
  2228
cg@2674
  2229
    makeProcess := 
cg@2674
  2230
            [
cg@2674
  2231
                [
cg@2968
  2232
                    self runBuildProcess:whichTarget
cg@2636
  2233
                ] ensure:[
cg@2636
  2234
                    self stopMakeButtonVisible value:false.
cg@2636
  2235
                    self startMakeButtonEnabled value:true.
cg@2646
  2236
                    makeProcess := nil.
cg@2648
  2237
                    self updateButtonEnableState.
cg@2724
  2238
                    self infoHolder value:''.
cg@2636
  2239
                ].
cg@2636
  2240
            ] newProcess.
cg@2636
  2241
cg@2636
  2242
    makeProcess priority:4.
cg@2636
  2243
    makeProcess priorityRange:(4 to:8).
cg@2636
  2244
    makeProcess resume.
cg@2636
  2245
!
cg@2636
  2246
cg@2959
  2247
doStartMakeAll
cg@2959
  2248
    <resource: #uiCallback>
cg@2959
  2249
cg@2959
  2250
    self doStartMake:'all'
cg@2959
  2251
!
cg@2959
  2252
cg@3126
  2253
doStartMakeApp
cg@3126
  2254
    <resource: #uiCallback>
cg@3126
  2255
cg@3126
  2256
    self doStartMake:'app'
cg@3126
  2257
!
cg@3126
  2258
cg@2959
  2259
doStartMakeExe
cg@2959
  2260
    <resource: #uiCallback>
cg@2959
  2261
cg@2959
  2262
    self doStartMake:'exe'
cg@2959
  2263
!
cg@2959
  2264
cg@2973
  2265
doStartMakeExeQuick
cg@2973
  2266
    <resource: #uiCallback>
cg@2973
  2267
cg@2973
  2268
    self doStartMake:'exeQuick'
cg@2973
  2269
!
cg@2973
  2270
cg@2676
  2271
doStopMake
cg@2676
  2272
    <resource: #uiCallback>
cg@2646
  2273
cg@2676
  2274
    |p|
cg@2676
  2275
cg@2676
  2276
    (p := makeProcess) notNil ifTrue:[
cg@2676
  2277
        makeProcess := nil.
cg@2929
  2278
        self withWaitCursorDo:[
cg@2929
  2279
            p terminate.
cg@2929
  2280
            p waitUntilTerminated.
cg@2929
  2281
        ].
cg@2676
  2282
        makeOutputWindow endEntry.
cg@2676
  2283
        makeOutputWindow cr.
cg@2676
  2284
        makeOutputWindow nextPutLine:('Make Cancelled' colorizeAllWith:Color white on:Color red).
cg@2676
  2285
        makeOutputWindow endEntry.
cg@2676
  2286
    ].
cg@2929
  2287
cg@2929
  2288
    "Modified: / 26-09-2012 / 21:01:37 / cg"
cg@2646
  2289
!
cg@2646
  2290
cg@2913
  2291
fetchSelectedProject
cg@2913
  2292
    |selectedProjectIndex|
cg@2913
  2293
cg@2913
  2294
    selectedProjectIndex := self selectedProjectIndexHolder value.
cg@2913
  2295
    (selectedProjectIndex ? 0) == 0 ifTrue:[
cg@2913
  2296
        selectedProjectDefinition := nil.
cg@2913
  2297
    ] ifFalse:[
cg@2913
  2298
        selectedProjectDefinition := self listOfMatchingProjects value at:(selectedProjectIndex).
cg@2913
  2299
    ].
cg@2913
  2300
    self hasProjectSelectedHolder value:(selectedProjectDefinition notNil).
cg@2913
  2301
cg@2913
  2302
    "Created: / 04-09-2012 / 09:52:32 / cg"
cg@2913
  2303
!
cg@2913
  2304
cg@2928
  2305
getProjectBuilder
cg@2928
  2306
    projectBuilder := ProjectBuilder new.
cg@2928
  2307
    projectBuilder package:(selectedProjectDefinition package).
cg@2928
  2308
    projectBuilder usedCompilerForBuild:(usedCompilerHolder value).
cg@2928
  2309
    ^ projectBuilder
cg@2928
  2310
cg@2928
  2311
    "Created: / 26-09-2012 / 20:57:32 / cg"
cg@2928
  2312
!
cg@2928
  2313
cg@2676
  2314
projectTypeChanged
cg@2676
  2315
    <resource: #uiCallback>
cg@2676
  2316
cg@2676
  2317
    self updateListOfMatchingProjects
cg@2636
  2318
!
cg@2636
  2319
cg@2674
  2320
runBuildProcess:what
cg@2636
  2321
    <resource: #uiCallback>
cg@2636
  2322
cg@2646
  2323
    self assert:makeOutputWindow notNil.
cg@2646
  2324
    self assert:makeOutputWindow model == self makeOutputHolder.
cg@2646
  2325
cg@2646
  2326
    ActivityNotification handle:[:ex |
cg@2646
  2327
        ex messageText notNil ifTrue:[
cg@2646
  2328
            makeOutputWindow endEntry.
cg@2646
  2329
            makeOutputWindow cr.
cg@2659
  2330
            makeOutputWindow nextPutLine:(ex messageText colorizeAllWith:Color white on:Color blue).
cg@2646
  2331
            makeOutputWindow endEntry.
cg@2687
  2332
        ].
cg@2646
  2333
        ex proceed.
cg@2646
  2334
    ] do:[
cg@2928
  2335
        self getProjectBuilder.
cg@2973
  2336
        projectBuilder makeExeOnly:((what = 'exe') or:[what = 'exeQuick']).
cg@3126
  2337
        projectBuilder makeAppOnly:(what = 'app').
cg@2973
  2338
        projectBuilder makeQuick:(what = 'exeQuick').
cg@2674
  2339
cg@2674
  2340
        Error handle:[:ex |
cg@3309
  2341
            ex creator = MessageNotUnderstood ifTrue:[ex reject].
cg@3309
  2342
cg@2674
  2343
            makeOutputWindow endEntry.
cg@2674
  2344
            makeOutputWindow cr.
sr@2682
  2345
            makeOutputWindow nextPutLine:(ex description colorizeAllWith:Color white on:Color red).
cg@2674
  2346
            makeOutputWindow endEntry.
cg@2959
  2347
            Debugging == true ifTrue:[ ex reject ].
sr@2682
  2348
            ex proceed.
cg@2674
  2349
        ] do:[
cg@2674
  2350
            projectBuilder buildWithColorizedOutputTo:makeOutputWindow.
cg@2674
  2351
        ].
cg@2646
  2352
    ].
cg@2874
  2353
cg@2959
  2354
    "
cg@2959
  2355
     Debugging := true.   
cg@2959
  2356
     Debugging := false.   
cg@2959
  2357
    "
cg@2959
  2358
cg@3309
  2359
    "Modified: / 07-06-2016 / 11:00:01 / cg"
cg@2636
  2360
!
cg@2636
  2361
cg@2676
  2362
selectedApplicationChanged
cg@2676
  2363
    |idx|
cg@2671
  2364
cg@2676
  2365
    ((idx := self selectedApplicationIndexHolder value) isNil
cg@2676
  2366
    or:[idx == 0]) ifTrue:[
cg@2676
  2367
        selectedApplication := nil.
cg@2676
  2368
    ] ifFalse:[
cg@2676
  2369
        selectedApplication := self listOfApplicationsInProject value at:idx.
cg@2636
  2370
    ].
cg@2676
  2371
    self hasApplicationSelectedHolder value:(selectedApplication notNil).
cg@2659
  2372
cg@2676
  2373
"/    selectedApplication notNil ifTrue:[
cg@2676
  2374
"/        "/ generate startupClass code
cg@2676
  2375
"/        CodeGeneratorTool
cg@2656
  2376
"/            compile:(selectedProjectDefinition startupClassName_codeFor:(selectedApplication name))
cg@2656
  2377
"/            forClass:selectedProjectDefinition theMetaclass
cg@2656
  2378
"/            inCategory:'description - startup'.
cg@2656
  2379
"/    ].
cg@2636
  2380
    self updateApplicationComment.
cg@2636
  2381
    self updateButtonEnableState.
cg@2636
  2382
!
cg@2636
  2383
cg@2676
  2384
selectedProjectChanged
cg@2913
  2385
    self fetchSelectedProject.
cg@2676
  2386
cg@2676
  2387
    self updateComment.
cg@2676
  2388
    self updateListOfApplicationsInProject.
cg@2636
  2389
    self updateButtonEnableState.
cg@2913
  2390
cg@2913
  2391
    "Modified: / 04-09-2012 / 09:52:43 / cg"
cg@2656
  2392
!
cg@2656
  2393
cg@2676
  2394
selectedStartupClassChanged
cg@2676
  2395
    self selectedStartupClassIndexHolder value isNil ifTrue:[
cg@2676
  2396
        selectedStartupClass := nil.
cg@2676
  2397
    ] ifFalse:[
cg@2676
  2398
        selectedStartupClass := self listOfStartupClassesInProject value at:(self selectedStartupClassIndexHolder value).
cg@2656
  2399
    ].
cg@2659
  2400
    self hasStartupClassSelectedHolder value:(selectedStartupClass notNil).
cg@2659
  2401
cg@2656
  2402
    selectedStartupClass notNil ifTrue:[
cg@2656
  2403
        "/ generate startupClass code
cg@3008
  2404
        Class packageQuerySignal
cg@3008
  2405
            answer:selectedProjectDefinition package
cg@3008
  2406
            do:[
cg@3008
  2407
                SmalltalkCodeGeneratorTool
cg@3008
  2408
                    compile:(selectedProjectDefinition startupClassName_codeFor:(selectedStartupClass name))
cg@3008
  2409
                    forClass:selectedProjectDefinition theMetaclass
cg@3008
  2410
                    inCategory:'description - startup'.
cg@3008
  2411
            ]
cg@2656
  2412
    ].
cg@2656
  2413
    self updateButtonEnableState.
cg@2832
  2414
cg@2832
  2415
    "Modified: / 31-01-2011 / 18:29:42 / cg"
cg@2676
  2416
! !
cg@2636
  2417
cg@2676
  2418
!ProjectBuilderAssistantApplication methodsFor:'aspects'!
cg@2636
  2419
cg@2676
  2420
buildDirectoryHolder
cg@2676
  2421
    <resource: #uiAspect>
cg@2636
  2422
cg@2636
  2423
    |buildDirectory|
cg@2636
  2424
cg@2636
  2425
    buildDirectoryHolder isNil ifTrue:[
cg@2636
  2426
        buildDirectoryHolder := nil asValue.
cg@2636
  2427
        buildDirectoryHolder onChangeSend:#buildDirectoryChanged to:self.
cg@2636
  2428
    ].
cg@2636
  2429
    buildDirectoryHolder value isEmptyOrNil ifTrue:[
cg@2686
  2430
        buildDirectory := ProjectBuilder previousBuildDirectory.
cg@2636
  2431
        buildDirectory isNil ifTrue:[
cg@2636
  2432
            buildDirectory := UserPreferences current buildDirectory.
cg@2636
  2433
            buildDirectory isNil ifTrue:[
cg@2636
  2434
                buildDirectory := Filename tempDirectory construct:'stx_build'.
cg@2636
  2435
            ].
cg@2636
  2436
        ].
cg@2636
  2437
        buildDirectoryHolder value: buildDirectory.
cg@2636
  2438
    ].
cg@2636
  2439
    ^ buildDirectoryHolder.
cg@2636
  2440
!
cg@2636
  2441
cg@2724
  2442
companyNameHolder
cg@2724
  2443
    <resource: #uiAspect>
cg@2724
  2444
cg@2724
  2445
    companyNameHolder isNil ifTrue:[
cg@2724
  2446
        companyNameHolder := 'MyCompany' asValue.
cg@2724
  2447
    ].
cg@2724
  2448
    ^ companyNameHolder.
cg@2724
  2449
!
cg@2724
  2450
cg@2724
  2451
compilerWarnMessageHolder
cg@2724
  2452
    <resource: #uiAspect>
cg@2724
  2453
cg@2724
  2454
    compilerWarnMessageHolder isNil ifTrue:[
cg@2724
  2455
        compilerWarnMessageHolder := '' asValue.
cg@2724
  2456
    ].
cg@2724
  2457
    ^ compilerWarnMessageHolder.
cg@2724
  2458
!
cg@2724
  2459
cg@2724
  2460
compilerWarnMessageVisibleHolder
cg@2724
  2461
    <resource: #uiAspect>
cg@2724
  2462
cg@2724
  2463
    compilerWarnMessageVisibleHolder isNil ifTrue:[
cg@2724
  2464
        compilerWarnMessageVisibleHolder := false asValue.
cg@2724
  2465
    ].
cg@2724
  2466
    ^ compilerWarnMessageVisibleHolder.
cg@2724
  2467
!
cg@2724
  2468
cg@3339
  2469
execuableNameVisible
cg@3339
  2470
    ^ self projectTypeIsNonGuiApplication
cg@3339
  2471
!
cg@3339
  2472
cg@3339
  2473
executableNameHolder
cg@3339
  2474
    |holder|
cg@3339
  2475
cg@3339
  2476
    (holder := builder bindingAt:#executableNameHolder) isNil ifTrue:[
cg@3339
  2477
        builder aspectAt:#executableNameHolder put:(holder := nil asValue).
cg@3339
  2478
    ].
cg@3339
  2479
    ^ holder.
cg@3339
  2480
!
cg@3339
  2481
cg@2676
  2482
hasApplicationSelectedHolder
cg@2676
  2483
    <resource: #uiAspect>
cg@2676
  2484
cg@2676
  2485
    hasApplicationSelectedHolder isNil ifTrue:[
cg@2659
  2486
        hasApplicationSelectedHolder := nil asValue.
cg@2659
  2487
    ].
cg@2659
  2488
    ^ hasApplicationSelectedHolder.
cg@2636
  2489
!
cg@2636
  2490
cg@2676
  2491
hasProjectSelectedHolder
cg@2676
  2492
    <resource: #uiAspect>
cg@2676
  2493
cg@2676
  2494
    hasProjectSelectedHolder isNil ifTrue:[
cg@2659
  2495
        hasProjectSelectedHolder := nil asValue.
cg@2659
  2496
    ].
cg@2659
  2497
    ^ hasProjectSelectedHolder.
cg@2648
  2498
!
cg@2648
  2499
cg@2676
  2500
hasStartupClassSelectedHolder
cg@2676
  2501
    <resource: #uiAspect>
cg@2676
  2502
cg@2676
  2503
    hasStartupClassSelectedHolder isNil ifTrue:[
cg@2659
  2504
        hasStartupClassSelectedHolder := nil asValue.
cg@2659
  2505
    ].
cg@2659
  2506
    ^ hasStartupClassSelectedHolder.
cg@2636
  2507
!
cg@2636
  2508
cg@2676
  2509
hideOtherApplicationClasses
cg@2676
  2510
    <resource: #uiAspect>
cg@2676
  2511
cg@2676
  2512
    hideOtherApplicationClasses isNil ifTrue:[
cg@2671
  2513
        hideOtherApplicationClasses := true asValue.
cg@2671
  2514
        hideOtherApplicationClasses onChangeSend:#updateListOfApplicationsInProject to:self.
cg@2671
  2515
    ].
cg@2671
  2516
    ^ hideOtherApplicationClasses.
cg@2671
  2517
!
cg@2671
  2518
cg@2676
  2519
hideOtherStartupClasses
cg@2676
  2520
    <resource: #uiAspect>
cg@2676
  2521
cg@2676
  2522
    hideOtherStartupClasses isNil ifTrue:[
cg@2676
  2523
        hideOtherStartupClasses := true asValue.
cg@2676
  2524
        hideOtherStartupClasses onChangeSend:#updateListOfStartupClassesInProject to:self.
cg@2671
  2525
    ].
cg@2676
  2526
    ^ hideOtherStartupClasses.
cg@2671
  2527
!
cg@2671
  2528
cg@2676
  2529
hideSTXProjects
cg@2676
  2530
    <resource: #uiAspect>
cg@2676
  2531
cg@2676
  2532
    hideSTXProjects isNil ifTrue:[
cg@2676
  2533
        hideSTXProjects := true asValue.
cg@2676
  2534
        hideSTXProjects onChangeSend:#updateListOfMatchingProjects to:self.
cg@2676
  2535
    ].
cg@2676
  2536
    ^ hideSTXProjects.
cg@2676
  2537
!
cg@2676
  2538
cg@2676
  2539
listOfApplicationsInProject
cg@2676
  2540
    <resource: #uiAspect>
cg@2676
  2541
cg@2676
  2542
    listOfApplicationsInProject isNil ifTrue:[
cg@2636
  2543
        listOfApplicationsInProject := ValueHolder new.
cg@2636
  2544
    ].
cg@2636
  2545
    ^ listOfApplicationsInProject.
cg@2636
  2546
!
cg@2636
  2547
cg@2676
  2548
listOfClassesInProject
cg@2676
  2549
    <resource: #uiAspect>
cg@2676
  2550
cg@2676
  2551
    listOfClassesInProject isNil ifTrue:[
cg@2636
  2552
        listOfClassesInProject := ValueHolder new.
cg@2636
  2553
    ].
cg@2636
  2554
    ^ listOfClassesInProject.
cg@2636
  2555
!
cg@2636
  2556
cg@2686
  2557
listOfMatchingPackageIds
cg@2686
  2558
    <resource: #uiAspect>
cg@2686
  2559
cg@2686
  2560
    listOfMatchingPackageIds isNil ifTrue:[
cg@2686
  2561
        listOfMatchingPackageIds := ValueHolder new.
cg@2686
  2562
    ].
cg@2686
  2563
    ^ listOfMatchingPackageIds.
cg@2686
  2564
!
cg@2686
  2565
cg@2676
  2566
listOfMatchingProjects
cg@2676
  2567
    <resource: #uiAspect>
cg@2636
  2568
cg@2636
  2569
    listOfMatchingProjects isNil ifTrue:[
cg@2636
  2570
        listOfMatchingProjects := ValueHolder new.
cg@2636
  2571
    ].
cg@2636
  2572
    ^ listOfMatchingProjects.
cg@2636
  2573
!
cg@2636
  2574
fm@2697
  2575
listOfNewProjectsName
fm@2697
  2576
fm@2697
  2577
    <resource: #uiAspect>
fm@2697
  2578
fm@2697
  2579
    listOfNewProjectsName isNil ifTrue:[
fm@2697
  2580
        listOfNewProjectsName := ValueHolder new.
fm@2697
  2581
    ].
fm@2697
  2582
    ^ listOfNewProjectsName.
fm@2697
  2583
!
fm@2697
  2584
cg@2681
  2585
listOfPossibleCompilers
cg@2874
  2586
    ^ Tools::ProjectBuilder listOfPossibleCompilers
cg@2874
  2587
cg@2919
  2588
    "Modified: / 05-09-2012 / 19:10:24 / cg"
cg@2681
  2589
!
cg@2681
  2590
cg@2872
  2591
listOfPrerequisitesInProject
cg@2872
  2592
    <resource: #uiAspect>
cg@2872
  2593
cg@2872
  2594
    listOfPrerequisitesInProject isNil ifTrue:[
cg@2872
  2595
        listOfPrerequisitesInProject := ValueHolder new.
cg@2872
  2596
    ].
cg@2872
  2597
    ^ listOfPrerequisitesInProject.
cg@2872
  2598
cg@2872
  2599
    "Created: / 19-01-2012 / 15:39:34 / cg"
cg@2872
  2600
!
cg@2872
  2601
cg@2676
  2602
listOfStartupClassesInProject
cg@2676
  2603
    <resource: #uiAspect>
cg@2676
  2604
cg@2676
  2605
    listOfStartupClassesInProject isNil ifTrue:[
cg@2676
  2606
        listOfStartupClassesInProject := ValueHolder new.
cg@2676
  2607
    ].
cg@2676
  2608
    ^ listOfStartupClassesInProject.
cg@2676
  2609
!
cg@2676
  2610
cg@2676
  2611
makeOutputHolder
cg@2676
  2612
    <resource: #uiAspect>
cg@2636
  2613
cg@2636
  2614
    makeOutputHolder isNil ifTrue:[
cg@2646
  2615
        makeOutputHolder := ValueHolder new.
cg@2636
  2616
    ].
cg@2636
  2617
    ^ makeOutputHolder.
cg@2636
  2618
!
cg@2636
  2619
cg@2910
  2620
nameOfUsedCompilerSuiteHolder
cg@2910
  2621
    <resource: #uiAspect>
cg@2910
  2622
cg@2910
  2623
    nameOfUsedCompilerSuiteHolder isNil ifTrue:[
cg@2910
  2624
        nameOfUsedCompilerSuiteHolder := nil asValue.
cg@2910
  2625
    ].
cg@2910
  2626
    ^ nameOfUsedCompilerSuiteHolder.
cg@2910
  2627
cg@2910
  2628
    "Created: / 03-09-2012 / 19:32:27 / cg"
cg@2910
  2629
!
cg@2910
  2630
cg@2676
  2631
newApplicationsName
cg@2676
  2632
    <resource: #uiAspect>
cg@2676
  2633
cg@2676
  2634
    "automatically generated by UIPainter ..."
cg@2676
  2635
cg@2676
  2636
    newApplicationsName isNil ifTrue:[
cg@2676
  2637
        newApplicationsName := ValueHolder new.
cg@2636
  2638
    ].
cg@2636
  2639
    ^ newApplicationsName.