Tools__ProjectDefinitionEditor.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:07:51 +0100
branchjv
changeset 3630 5e718e0a754e
parent 2727 e5f434daebb5
child 3523 25fa267c550a
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@2078
     1
"{ Package: 'stx:libtool2' }"
cg@2078
     2
cg@2078
     3
"{ NameSpace: Tools }"
cg@2078
     4
cg@2078
     5
ResourceSpecEditor subclass:#ProjectDefinitionEditor
cg@2079
     6
	instanceVariableNames:'definitionClass classList extensionsList selectedClassIndexHolder
cg@2078
     7
		classesTableColumns revisionNrHolder companyNameHolder
cg@2078
     8
		fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder
cg@2078
     9
		fileReleaseNrHolder productNameHolder majorVersionNrHolder
cg@2078
    10
		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
cg@2078
    11
		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
cg@2078
    12
		isApplicationDefinitionHolder isNonGUIApplicationHolder
cg@2121
    13
		startSinglethreadedHolder hasConsoleHolder shownHasConsoleHolder
cg@2121
    14
		startupClassNameHolder startupSelectorHolder prerequisitesList
cg@2121
    15
		classListHolder extensionsListHolder prerequisitesListHolder
cg@2121
    16
		documentExtensionsListStringHolder stcOptimizationFlagsHolder
cg@2121
    17
		ccOptimizationFlagsHolder'
cg@2078
    18
	classVariableNames:''
cg@2078
    19
	poolDictionaries:''
cg@2078
    20
	category:'Interface-Tools'
cg@2078
    21
!
cg@2078
    22
cg@2078
    23
Object subclass:#ClassListEntry
cg@2078
    24
	instanceVariableNames:'className autoloaded win32 unix'
cg@2078
    25
	classVariableNames:''
cg@2078
    26
	poolDictionaries:''
cg@2078
    27
	privateIn:ProjectDefinitionEditor
cg@2078
    28
!
cg@2078
    29
cg@2079
    30
Object subclass:#ExtensionsListEntry
cg@2079
    31
	instanceVariableNames:'className selector'
cg@2079
    32
	classVariableNames:''
cg@2079
    33
	poolDictionaries:''
cg@2079
    34
	privateIn:ProjectDefinitionEditor
cg@2079
    35
!
cg@2079
    36
cg@2081
    37
Object subclass:#PrerequisitesListEntry
cg@2081
    38
	instanceVariableNames:'package'
cg@2081
    39
	classVariableNames:''
cg@2081
    40
	poolDictionaries:''
cg@2081
    41
	privateIn:ProjectDefinitionEditor
cg@2081
    42
!
cg@2081
    43
cg@2078
    44
!ProjectDefinitionEditor class methodsFor:'documentation'!
cg@2078
    45
cg@2078
    46
documentation
cg@2078
    47
"
cg@2078
    48
    unfinished app-definition editor
cg@2078
    49
cg@2078
    50
    [author:]
cg@2100
    51
	cg (cg@FUSI)
cg@2078
    52
cg@2078
    53
    [instance variables:]
cg@2078
    54
cg@2078
    55
    [class variables:]
cg@2078
    56
cg@2078
    57
    [see also:]
cg@2078
    58
cg@2078
    59
"
cg@2078
    60
!
cg@2078
    61
cg@2078
    62
examples
cg@2078
    63
"
cg@2078
    64
  Starting the application:
cg@2100
    65
								[exBegin]
cg@2078
    66
    (ProjectDefinitionEditor new
cg@2100
    67
	definitionClass:stx_libbasic) open
cg@2100
    68
								[exEnd]
cg@2078
    69
cg@2100
    70
								[exBegin]
cg@2078
    71
    (ProjectDefinitionEditor new
cg@2100
    72
	definitionClass:bosch_dapasx_application) open
cg@2100
    73
								[exEnd]
cg@2078
    74
"
cg@2078
    75
! !
cg@2078
    76
cg@2121
    77
!ProjectDefinitionEditor class methodsFor:'help specs'!
cg@2121
    78
cg@2121
    79
flyByHelpSpec
cg@2121
    80
    "This resource specification was automatically generated
cg@2121
    81
     by the UIHelpTool of ST/X."
cg@2121
    82
cg@2121
    83
    "Do not manually edit this!! If it is corrupted,
cg@2121
    84
     the UIHelpTool may not be able to read the specification."
cg@2121
    85
cg@2121
    86
    "
cg@2121
    87
     UIHelpTool openOnClass:Tools::ProjectDefinitionEditor    
cg@2121
    88
    "
cg@2121
    89
cg@2121
    90
    <resource: #help>
cg@2121
    91
cg@2121
    92
    ^ super flyByHelpSpec addPairsFrom:#(
cg@2121
    93
cg@2121
    94
#documentExtensions
cg@2121
    95
'";"-separated list of file extensions'
cg@2121
    96
cg@2121
    97
)
cg@2121
    98
cg@2121
    99
    "Created: / 15-10-2006 / 14:34:57 / cg"
cg@2121
   100
!
cg@2121
   101
cg@2121
   102
helpSpec
cg@2121
   103
    "This resource specification was automatically generated
cg@2121
   104
     by the UIHelpTool of ST/X."
cg@2121
   105
cg@2121
   106
    "Do not manually edit this!! If it is corrupted,
cg@2121
   107
     the UIHelpTool may not be able to read the specification."
cg@2121
   108
cg@2121
   109
    "
cg@2121
   110
     UIHelpTool openOnClass:Tools::ProjectDefinitionEditor    
cg@2121
   111
    "
cg@2121
   112
cg@2121
   113
    <resource: #help>
cg@2121
   114
cg@2121
   115
    ^ super helpSpec addPairsFrom:#(
cg@2121
   116
cg@2121
   117
#documentExtensions
cg@2121
   118
'";"-separated list of file extensions'
cg@2121
   119
cg@2121
   120
)
cg@2121
   121
! !
cg@2121
   122
cg@2078
   123
!ProjectDefinitionEditor class methodsFor:'interface specs'!
cg@2078
   124
cg@2078
   125
classesSpec
cg@2078
   126
    "This resource specification was automatically generated
cg@2078
   127
     by the UIPainter of ST/X."
cg@2078
   128
cg@2078
   129
    "Do not manually edit this!! If it is corrupted,
cg@2078
   130
     the UIPainter may not be able to read the specification."
cg@2078
   131
cg@2078
   132
    "
cg@2080
   133
     UIPainter new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classesSpec
cg@2080
   134
     Tools::ProjectDefinitionEditor new openInterface:#classesSpec
cg@2078
   135
    "
cg@2078
   136
cg@2078
   137
    <resource: #canvas>
cg@2078
   138
cg@2100
   139
    ^
cg@2078
   140
     #(FullSpec
cg@2100
   141
	name: classesSpec
cg@2100
   142
	window:
cg@2078
   143
       (WindowSpec
cg@2100
   144
	  label: 'NewApplication'
cg@2100
   145
	  name: 'NewApplication'
cg@2100
   146
	  min: (Point 0 0)
cg@2100
   147
	  bounds: (Rectangle 0 0 300 300)
cg@2100
   148
	)
cg@2100
   149
	component:
cg@2078
   150
       (SpecCollection
cg@2100
   151
	  collection: (
cg@2100
   152
	   (DataSetSpec
cg@2100
   153
	      name: 'ClassesTable'
cg@2100
   154
	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@2100
   155
	      model: selectedClassIndexHolder
cg@2100
   156
	      menu: classListMenu
cg@2100
   157
	      hasHorizontalScrollBar: true
cg@2100
   158
	      hasVerticalScrollBar: true
cg@2100
   159
	      dataList: classListHolder
cg@2100
   160
	      columnHolder: classesTableColumns
cg@2100
   161
	    )
cg@2100
   162
	   )
cg@2100
   163
cg@2100
   164
	)
cg@2078
   165
      )
cg@2081
   166
cg@2081
   167
    "Modified: / 07-09-2006 / 11:35:14 / cg"
cg@2078
   168
!
cg@2078
   169
cg@2078
   170
compilationSpec
cg@2078
   171
    "This resource specification was automatically generated
cg@2078
   172
     by the UIPainter of ST/X."
cg@2078
   173
cg@2078
   174
    "Do not manually edit this!! If it is corrupted,
cg@2078
   175
     the UIPainter may not be able to read the specification."
cg@2078
   176
cg@2078
   177
    "
cg@2080
   178
     UIPainter new openOnClass:Tools::ProjectDefinitionEditor andSelector:#compilationSpec
cg@2080
   179
     Tools::ProjectDefinitionEditor new openInterface:#compilationSpec
cg@2078
   180
    "
cg@2078
   181
cg@2078
   182
    <resource: #canvas>
cg@2078
   183
cg@2121
   184
    ^ 
cg@2078
   185
     #(FullSpec
cg@2121
   186
        name: compilationSpec
cg@2121
   187
        window: 
cg@2078
   188
       (WindowSpec
cg@2121
   189
          label: 'NewApplication'
cg@2121
   190
          name: 'NewApplication'
cg@2121
   191
          min: (Point 0 0)
cg@2121
   192
          bounds: (Rectangle 0 0 433 300)
cg@2121
   193
        )
cg@2121
   194
        component: 
cg@2078
   195
       (SpecCollection
cg@2121
   196
          collection: (
cg@2121
   197
           (FramedBoxSpec
cg@2121
   198
              label: 'Optimization'
cg@2121
   199
              name: 'FramedBox1'
cg@2121
   200
              layout: (LayoutFrame 0 0 0 0 0 1 93 0)
cg@2121
   201
              labelPosition: topLeft
cg@2121
   202
              translateLabel: true
cg@2121
   203
              component: 
cg@2121
   204
             (SpecCollection
cg@2121
   205
                collection: (
cg@2121
   206
                 (LabelSpec
cg@2121
   207
                    label: 'STC Optimization Flags:'
cg@2121
   208
                    name: 'Label1'
cg@2121
   209
                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
cg@2121
   210
                    translateLabel: true
cg@2121
   211
                    adjust: right
cg@2121
   212
                  )
cg@2121
   213
                 (ComboBoxSpec
cg@2121
   214
                    name: 'STCOptimizationFlagsComboBox'
cg@2121
   215
                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
cg@2121
   216
                    model: stcOptimizationFlagsHolder
cg@2121
   217
                    acceptOnPointerLeave: false
cg@2121
   218
                    comboList: stcOptimizationFlagList
cg@2121
   219
                    postBuildCallback: flagHolderBuilt:
cg@2121
   220
                  )
cg@2121
   221
                 (LabelSpec
cg@2121
   222
                    label: 'CC Optimization Flags:'
cg@2121
   223
                    name: 'Label2'
cg@2121
   224
                    layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
cg@2121
   225
                    translateLabel: true
cg@2121
   226
                    adjust: right
cg@2121
   227
                  )
cg@2121
   228
                 (ComboBoxSpec
cg@2121
   229
                    name: 'CCOptimizationFlagsComboBox'
cg@2121
   230
                    layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
cg@2121
   231
                    model: ccOptimizationFlagsHolder
cg@2121
   232
                    acceptOnPointerLeave: false
cg@2121
   233
                    comboList: ccOptimizationFlagList
cg@2121
   234
                    postBuildCallback: flagHolderBuilt:
cg@2121
   235
                  )
cg@2121
   236
                 )
cg@2121
   237
               
cg@2121
   238
              )
cg@2121
   239
            )
cg@2121
   240
           (FramedBoxSpec
cg@2121
   241
              label: 'Includes'
cg@2121
   242
              name: 'FramedBox2'
cg@2121
   243
              layout: (LayoutFrame 0 0 98 0 0 1 160 0)
cg@2121
   244
              labelPosition: topLeft
cg@2121
   245
              translateLabel: true
cg@2121
   246
              component: 
cg@2121
   247
             (SpecCollection
cg@2121
   248
                collection: (
cg@2121
   249
                 (LabelSpec
cg@2121
   250
                    label: 'Additional Includes:'
cg@2121
   251
                    name: 'Label3'
cg@2121
   252
                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
cg@2121
   253
                    translateLabel: true
cg@2121
   254
                    adjust: right
cg@2121
   255
                  )
cg@2121
   256
                 (InputFieldSpec
cg@2121
   257
                    name: 'IncludeFlagsEntryField'
cg@2121
   258
                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
cg@2121
   259
                    model: includeFlagsHolder
cg@2121
   260
                    acceptOnReturn: true
cg@2121
   261
                    acceptOnTab: true
cg@2121
   262
                    acceptOnLostFocus: true
cg@2121
   263
                    acceptOnPointerLeave: false
cg@2121
   264
                  )
cg@2121
   265
                 )
cg@2121
   266
               
cg@2121
   267
              )
cg@2121
   268
            )
cg@2121
   269
           )
cg@2121
   270
         
cg@2121
   271
        )
cg@2078
   272
      )
cg@2078
   273
!
cg@2078
   274
cg@2078
   275
descriptionSpec
cg@2078
   276
    "This resource specification was automatically generated
cg@2078
   277
     by the UIPainter of ST/X."
cg@2078
   278
cg@2078
   279
    "Do not manually edit this!! If it is corrupted,
cg@2078
   280
     the UIPainter may not be able to read the specification."
cg@2078
   281
cg@2078
   282
    "
cg@2078
   283
     UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#descriptionSpec
cg@2078
   284
     ApplicationDefinitionBuilder new openInterface:#descriptionSpec
cg@2078
   285
    "
cg@2078
   286
cg@2078
   287
    <resource: #canvas>
cg@2078
   288
cg@2100
   289
    ^
cg@2078
   290
     #(FullSpec
fm@2727
   291
        name: descriptionSpec
fm@2727
   292
        window:
cg@2078
   293
       (WindowSpec
fm@2727
   294
          label: 'NewApplication'
fm@2727
   295
          name: 'NewApplication'
fm@2727
   296
          min: (Point 0 0)
fm@2727
   297
          bounds: (Rectangle 0 0 433 300)
fm@2727
   298
        )
fm@2727
   299
        component:
cg@2078
   300
       (SpecCollection
fm@2727
   301
          collection: (
fm@2727
   302
           (LabelSpec
fm@2727
   303
              label: 'Company:'
fm@2727
   304
              name: 'CompanyLabel'
fm@2727
   305
              layout: (LayoutFrame 2 0.0 13 0 160 0 35 0)
fm@2727
   306
              translateLabel: true
fm@2727
   307
              adjust: right
fm@2727
   308
            )
fm@2727
   309
           (InputFieldSpec
fm@2727
   310
              name: 'CompanyEntryField'
fm@2727
   311
              layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0)
fm@2727
   312
              model: companyNameHolder
fm@2727
   313
              acceptOnReturn: true
fm@2727
   314
              acceptOnTab: true
fm@2727
   315
              acceptOnLostFocus: true
fm@2727
   316
              acceptOnPointerLeave: false
fm@2727
   317
            )
fm@2727
   318
           (LabelSpec
fm@2727
   319
              label: 'Description:'
fm@2727
   320
              name: 'DescriptionLabel'
fm@2727
   321
              layout: (LayoutFrame 2 0.0 39 0 160 0 61 0)
fm@2727
   322
              translateLabel: true
fm@2727
   323
              adjust: right
fm@2727
   324
            )
fm@2727
   325
           (InputFieldSpec
fm@2727
   326
              name: 'DescriptionEntryField'
fm@2727
   327
              layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0)
fm@2727
   328
              model: descriptionHolder
fm@2727
   329
              acceptOnReturn: true
fm@2727
   330
              acceptOnTab: true
fm@2727
   331
              acceptOnLostFocus: true
fm@2727
   332
              acceptOnPointerLeave: false
fm@2727
   333
            )
fm@2727
   334
           (LabelSpec
fm@2727
   335
              label: 'ProductName:'
fm@2727
   336
              name: 'ProductNameLabel'
fm@2727
   337
              layout: (LayoutFrame 2 0.0 65 0 160 0 87 0)
fm@2727
   338
              translateLabel: true
fm@2727
   339
              adjust: right
fm@2727
   340
            )
fm@2727
   341
           (InputFieldSpec
fm@2727
   342
              name: 'ProductNameEntryField'
fm@2727
   343
              layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0)
fm@2727
   344
              model: productNameHolder
fm@2727
   345
              acceptOnReturn: true
fm@2727
   346
              acceptOnTab: true
fm@2727
   347
              acceptOnLostFocus: true
fm@2727
   348
              acceptOnPointerLeave: false
fm@2727
   349
            )
fm@2727
   350
           (LabelSpec
fm@2727
   351
              label: 'ProductVersion:'
fm@2727
   352
              name: 'ProductVersionLabel'
fm@2727
   353
              layout: (LayoutFrame 2 0.0 91 0 160 0 113 0)
fm@2727
   354
              translateLabel: true
fm@2727
   355
              adjust: right
fm@2727
   356
            )
fm@2727
   357
           (InputFieldSpec
fm@2727
   358
              name: 'MajorVersionNrEntryField'
fm@2727
   359
              layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0)
fm@2727
   360
              model: majorVersionNrHolder
fm@2727
   361
              type: number
fm@2727
   362
              acceptOnReturn: true
fm@2727
   363
              acceptOnTab: true
fm@2727
   364
              acceptOnLostFocus: true
fm@2727
   365
              acceptOnPointerLeave: false
fm@2727
   366
            )
fm@2727
   367
           (InputFieldSpec
fm@2727
   368
              name: 'MinorVersionNrEntryField'
fm@2727
   369
              layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0)
fm@2727
   370
              model: minorVersionNrHolder
fm@2727
   371
              type: numberOrNil
fm@2727
   372
              acceptOnReturn: true
fm@2727
   373
              acceptOnTab: true
fm@2727
   374
              acceptOnLostFocus: true
fm@2727
   375
              acceptOnPointerLeave: false
fm@2727
   376
            )
fm@2727
   377
           (InputFieldSpec
fm@2727
   378
              name: 'RevisionNrEntryField'
fm@2727
   379
              layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0)
fm@2727
   380
              model: revisionNrHolder
fm@2727
   381
              type: number
fm@2727
   382
              acceptOnReturn: true
fm@2727
   383
              acceptOnTab: true
fm@2727
   384
              acceptOnLostFocus: true
fm@2727
   385
              acceptOnPointerLeave: false
fm@2727
   386
            )
fm@2727
   387
           (InputFieldSpec
fm@2727
   388
              name: 'ReleaseNrEntryField'
fm@2727
   389
              layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0)
fm@2727
   390
              model: releaseNrHolder
fm@2727
   391
              type: number
fm@2727
   392
              acceptOnReturn: true
fm@2727
   393
              acceptOnTab: true
fm@2727
   394
              acceptOnLostFocus: true
fm@2727
   395
              acceptOnPointerLeave: false
fm@2727
   396
            )
fm@2727
   397
           (LabelSpec
fm@2727
   398
              label: 'LegalCopyright:'
fm@2727
   399
              name: 'LegalCopyrightLabel'
fm@2727
   400
              layout: (LayoutFrame 2 0.0 119 0 160 0 141 0)
fm@2727
   401
              translateLabel: true
fm@2727
   402
              adjust: right
fm@2727
   403
            )
fm@2727
   404
           (InputFieldSpec
fm@2727
   405
              name: 'LegalCopyrightEntryField'
fm@2727
   406
              layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0)
fm@2727
   407
              model: legalCopyrightHolder
fm@2727
   408
              acceptOnReturn: true
fm@2727
   409
              acceptOnTab: true
fm@2727
   410
              acceptOnLostFocus: true
fm@2727
   411
              acceptOnPointerLeave: false
fm@2727
   412
            )
fm@2727
   413
           (LabelSpec
fm@2727
   414
              label: 'FileDescriptionDescription:'
fm@2727
   415
              name: 'FileDescriptionLabel'
fm@2727
   416
              layout: (LayoutFrame 2 0.0 161 0 160 0 183 0)
fm@2727
   417
              translateLabel: true
fm@2727
   418
              adjust: right
fm@2727
   419
            )
fm@2727
   420
           (InputFieldSpec
fm@2727
   421
              name: 'FileDescriptionEntryField'
fm@2727
   422
              layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0)
fm@2727
   423
              model: fileDescriptionHolder
fm@2727
   424
              acceptOnReturn: true
fm@2727
   425
              acceptOnTab: true
fm@2727
   426
              acceptOnLostFocus: true
fm@2727
   427
              acceptOnPointerLeave: false
fm@2727
   428
            )
fm@2727
   429
           (LabelSpec
fm@2727
   430
              label: 'FileVersion:'
fm@2727
   431
              name: 'FileVersionLabel'
fm@2727
   432
              layout: (LayoutFrame 2 0.0 187 0 160 0 209 0)
fm@2727
   433
              translateLabel: true
fm@2727
   434
              adjust: right
fm@2727
   435
            )
fm@2727
   436
           (InputFieldSpec
fm@2727
   437
              name: 'FileMajorVersionNrEntryField'
fm@2727
   438
              layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0)
fm@2727
   439
              model: fileMajorVersionNrHolder
fm@2727
   440
              type: number
fm@2727
   441
              acceptOnReturn: true
fm@2727
   442
              acceptOnTab: true
fm@2727
   443
              acceptOnLostFocus: true
fm@2727
   444
              acceptOnPointerLeave: false
fm@2727
   445
            )
fm@2727
   446
           (InputFieldSpec
fm@2727
   447
              name: 'FileMinorVersionNrEntryField'
fm@2727
   448
              layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0)
fm@2727
   449
              model: fileMinorVersionNrHolder
fm@2727
   450
              type: number
fm@2727
   451
              acceptOnReturn: true
fm@2727
   452
              acceptOnTab: true
fm@2727
   453
              acceptOnLostFocus: true
fm@2727
   454
              acceptOnPointerLeave: false
fm@2727
   455
            )
fm@2727
   456
           (InputFieldSpec
fm@2727
   457
              name: 'FileRevisionNrEntryField'
fm@2727
   458
              layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0)
fm@2727
   459
              model: fileRevisionNrHolder
fm@2727
   460
              type: number
fm@2727
   461
              acceptOnReturn: true
fm@2727
   462
              acceptOnTab: true
fm@2727
   463
              acceptOnLostFocus: true
fm@2727
   464
              acceptOnPointerLeave: false
fm@2727
   465
            )
fm@2727
   466
           (InputFieldSpec
fm@2727
   467
              name: 'FileReleaseNrEntryField'
fm@2727
   468
              layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0)
fm@2727
   469
              model: fileReleaseNrHolder
fm@2727
   470
              type: number
fm@2727
   471
              acceptOnReturn: true
fm@2727
   472
              acceptOnTab: true
fm@2727
   473
              acceptOnLostFocus: true
fm@2727
   474
              acceptOnPointerLeave: false
fm@2727
   475
            )
fm@2727
   476
           (LabelSpec
fm@2727
   477
              label: 'Icon Filename:'
fm@2727
   478
              name: 'IconFileNameLabel'
fm@2727
   479
              layout: (LayoutFrame 2 0.0 236 0 160 0 258 0)
fm@2727
   480
              visibilityChannel: isApplicationDefinitionHolder
fm@2727
   481
              translateLabel: true
fm@2727
   482
              adjust: right
fm@2727
   483
            )
fm@2727
   484
           (InputFieldSpec
fm@2727
   485
              name: 'IconFileNameEntryField'
fm@2727
   486
              layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0)
fm@2727
   487
              visibilityChannel: isApplicationDefinitionHolder
fm@2727
   488
              model: iconFileNameHolder
fm@2727
   489
              acceptOnReturn: true
fm@2727
   490
              acceptOnTab: true
fm@2727
   491
              acceptOnLostFocus: true
fm@2727
   492
              acceptOnPointerLeave: false
fm@2727
   493
            )
fm@2727
   494
           )
cg@2100
   495
fm@2727
   496
        )
cg@2078
   497
      )
cg@2078
   498
!
cg@2078
   499
cg@2078
   500
extensionsSpec
cg@2078
   501
    "This resource specification was automatically generated
cg@2078
   502
     by the UIPainter of ST/X."
cg@2078
   503
cg@2078
   504
    "Do not manually edit this!! If it is corrupted,
cg@2078
   505
     the UIPainter may not be able to read the specification."
cg@2078
   506
cg@2078
   507
    "
cg@2078
   508
     UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec
cg@2078
   509
     ApplicationDefinitionEditor new openInterface:#extensionsSpec
cg@2078
   510
    "
cg@2078
   511
cg@2078
   512
    <resource: #canvas>
cg@2078
   513
cg@2100
   514
    ^
cg@2078
   515
     #(FullSpec
cg@2100
   516
	name: extensionsSpec
cg@2100
   517
	window:
cg@2078
   518
       (WindowSpec
cg@2100
   519
	  label: 'NewApplication'
cg@2100
   520
	  name: 'NewApplication'
cg@2100
   521
	  min: (Point 0 0)
cg@2100
   522
	  bounds: (Rectangle 0 0 300 300)
cg@2100
   523
	)
cg@2100
   524
	component:
cg@2078
   525
       (SpecCollection
cg@2100
   526
	  collection: (
cg@2100
   527
	   (DataSetSpec
cg@2100
   528
	      name: 'ExtensionsTable'
cg@2100
   529
	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@2100
   530
	      model: selectedExtensionIndexHolder
cg@2100
   531
	      hasHorizontalScrollBar: true
cg@2100
   532
	      hasVerticalScrollBar: true
cg@2100
   533
	      dataList: extensionsListHolder
cg@2100
   534
	      columnHolder: extensionsTableColumns
cg@2100
   535
	    )
cg@2100
   536
	   )
cg@2100
   537
cg@2100
   538
	)
cg@2078
   539
      )
cg@2081
   540
cg@2081
   541
    "Modified: / 07-09-2006 / 11:35:17 / cg"
cg@2078
   542
!
cg@2078
   543
cg@2078
   544
prerequisitesSpec
cg@2078
   545
    "This resource specification was automatically generated
cg@2078
   546
     by the UIPainter of ST/X."
cg@2078
   547
cg@2078
   548
    "Do not manually edit this!! If it is corrupted,
cg@2078
   549
     the UIPainter may not be able to read the specification."
cg@2078
   550
cg@2078
   551
    "
cg@2078
   552
     UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec
cg@2078
   553
     ApplicationDefinitionEditor new openInterface:#extensionsSpec
cg@2078
   554
    "
cg@2078
   555
cg@2078
   556
    <resource: #canvas>
cg@2078
   557
cg@2100
   558
    ^
cg@2078
   559
     #(FullSpec
cg@2100
   560
	name: extensionsSpec
cg@2100
   561
	window:
cg@2078
   562
       (WindowSpec
cg@2100
   563
	  label: 'NewApplication'
cg@2100
   564
	  name: 'NewApplication'
cg@2100
   565
	  min: (Point 0 0)
cg@2100
   566
	  bounds: (Rectangle 0 0 300 300)
cg@2100
   567
	)
cg@2100
   568
	component:
cg@2078
   569
       (SpecCollection
cg@2100
   570
	  collection: (
cg@2100
   571
	   (DataSetSpec
cg@2100
   572
	      name: 'ExtensionsTable'
cg@2100
   573
	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@2100
   574
	      model: selectedPrerequisitesIndexHolder
cg@2100
   575
	      hasHorizontalScrollBar: true
cg@2100
   576
	      hasVerticalScrollBar: true
cg@2100
   577
	      dataList: prerequisitesListHolder
cg@2100
   578
	      columnHolder: prerequisitesTableColumns
cg@2100
   579
	    )
cg@2100
   580
	   )
cg@2100
   581
cg@2100
   582
	)
cg@2078
   583
      )
cg@2078
   584
cg@2078
   585
    "Created: / 05-09-2006 / 13:21:32 / cg"
cg@2081
   586
    "Modified: / 07-09-2006 / 11:35:20 / cg"
cg@2078
   587
!
cg@2078
   588
cg@2078
   589
startupSpec
cg@2078
   590
    "This resource specification was automatically generated
cg@2078
   591
     by the UIPainter of ST/X."
cg@2078
   592
cg@2078
   593
    "Do not manually edit this!! If it is corrupted,
cg@2078
   594
     the UIPainter may not be able to read the specification."
cg@2078
   595
cg@2078
   596
    "
cg@2080
   597
     UIPainter new openOnClass:Tools::ProjectDefinitionEditor andSelector:#startupSpec
cg@2080
   598
     Tools::ProjectDefinitionEditor new openInterface:#startupSpec
cg@2078
   599
    "
cg@2078
   600
cg@2078
   601
    <resource: #canvas>
cg@2078
   602
cg@2078
   603
    ^ 
cg@2078
   604
     #(FullSpec
cg@2078
   605
        name: startupSpec
cg@2078
   606
        window: 
cg@2078
   607
       (WindowSpec
cg@2078
   608
          label: 'NewApplication'
cg@2078
   609
          name: 'NewApplication'
cg@2078
   610
          min: (Point 0 0)
cg@2078
   611
          bounds: (Rectangle 0 0 433 300)
cg@2078
   612
        )
cg@2078
   613
        component: 
cg@2078
   614
       (SpecCollection
cg@2078
   615
          collection: (
cg@2078
   616
           (FramedBoxSpec
cg@2078
   617
              label: 'Startup'
cg@2121
   618
              name: 'StartupFrame'
cg@2080
   619
              layout: (LayoutFrame 0 0 0 0 0 1 93 0)
cg@2078
   620
              labelPosition: topLeft
cg@2078
   621
              translateLabel: true
cg@2078
   622
              component: 
cg@2078
   623
             (SpecCollection
cg@2078
   624
                collection: (
cg@2078
   625
                 (LabelSpec
cg@2078
   626
                    label: 'Startup Class:'
cg@2078
   627
                    name: 'Label1'
cg@2078
   628
                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
cg@2078
   629
                    translateLabel: true
cg@2078
   630
                    adjust: right
cg@2078
   631
                  )
cg@2078
   632
                 (InputFieldSpec
cg@2078
   633
                    name: 'StartupClassEntryField'
cg@2078
   634
                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
cg@2079
   635
                    model: startupClassNameHolder
cg@2078
   636
                    acceptOnReturn: true
cg@2078
   637
                    acceptOnTab: true
cg@2078
   638
                    acceptOnLostFocus: true
cg@2078
   639
                    acceptOnPointerLeave: false
cg@2078
   640
                  )
cg@2078
   641
                 (LabelSpec
cg@2078
   642
                    label: 'Startup Selector:'
cg@2078
   643
                    name: 'Label2'
cg@2078
   644
                    layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
cg@2078
   645
                    translateLabel: true
cg@2078
   646
                    adjust: right
cg@2078
   647
                  )
cg@2078
   648
                 (InputFieldSpec
cg@2078
   649
                    name: 'StartupSelectorEntryField'
cg@2078
   650
                    layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
cg@2078
   651
                    model: startupSelectorHolder
cg@2078
   652
                    acceptOnReturn: true
cg@2078
   653
                    acceptOnTab: true
cg@2078
   654
                    acceptOnLostFocus: true
cg@2078
   655
                    acceptOnPointerLeave: false
cg@2078
   656
                  )
cg@2078
   657
                 )
cg@2078
   658
               
cg@2078
   659
              )
cg@2078
   660
            )
cg@2078
   661
           (FramedBoxSpec
cg@2078
   662
              label: 'Execution'
cg@2121
   663
              name: 'ExecutionFrame'
cg@2121
   664
              layout: (LayoutFrame 0 0 94 0 0 1 176 0)
cg@2078
   665
              labelPosition: topLeft
cg@2078
   666
              translateLabel: true
cg@2078
   667
              component: 
cg@2078
   668
             (SpecCollection
cg@2078
   669
                collection: (
cg@2078
   670
                 (CheckBoxSpec
cg@2078
   671
                    label: 'Non-GUI Application'
cg@2100
   672
                    name: 'Non-GUI CheckBox'
cg@2078
   673
                    layout: (LayoutFrame 0 0.0 7 0 0 0.5 29 0)
cg@2078
   674
                    model: isNonGUIApplicationHolder
cg@2078
   675
                    translateLabel: true
cg@2078
   676
                  )
cg@2078
   677
                 (CheckBoxSpec
cg@2078
   678
                    label: 'Singlethreaded'
cg@2100
   679
                    name: 'SinglethreadedCheckBox'
cg@2078
   680
                    layout: (LayoutFrame 0 0.5 7 0 0 1 29 0)
cg@2078
   681
                    enableChannel: isNonGUIApplicationHolder
cg@2078
   682
                    model: startSinglethreadedHolder
cg@2078
   683
                    translateLabel: true
cg@2078
   684
                  )
cg@2100
   685
                 (CheckBoxSpec
cg@2100
   686
                    label: 'Has Console'
cg@2100
   687
                    name: 'HasConsoleCheckBox1'
cg@2100
   688
                    layout: (LayoutFrame 0 0.5 34 0 0 1 56 0)
cg@2100
   689
                    enableChannel: isGUIApplicationHolder
cg@2121
   690
                    model: shownHasConsoleHolder
cg@2100
   691
                    translateLabel: true
cg@2100
   692
                  )
cg@2078
   693
                 )
cg@2078
   694
               
cg@2078
   695
              )
cg@2078
   696
            )
cg@2121
   697
           (FramedBoxSpec
cg@2121
   698
              label: 'File Extensions'
cg@2121
   699
              name: 'FileExtensionsFrame'
cg@2121
   700
              layout: (LayoutFrame 0 0 177 0 0 1 237 0)
cg@2121
   701
              labelPosition: topLeft
cg@2121
   702
              translateLabel: true
cg@2121
   703
              component: 
cg@2121
   704
             (SpecCollection
cg@2121
   705
                collection: (
cg@2121
   706
                 (LabelSpec
cg@2121
   707
                    label: 'Document Extensions:'
cg@2121
   708
                    name: 'Label3'
cg@2121
   709
                    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
cg@2121
   710
                    activeHelpKey: documentExtensions
cg@2121
   711
                    translateLabel: true
cg@2121
   712
                    adjust: right
cg@2121
   713
                  )
cg@2121
   714
                 (InputFieldSpec
cg@2121
   715
                    activeHelpKey: documentExtensions
cg@2121
   716
                    name: 'EntryField1'
cg@2121
   717
                    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
cg@2121
   718
                    model: documentExtensionsListStringHolder
cg@2121
   719
                    type: string
cg@2121
   720
                    acceptOnReturn: true
cg@2121
   721
                    acceptOnTab: true
cg@2121
   722
                    acceptOnLostFocus: true
cg@2121
   723
                    acceptOnPointerLeave: false
cg@2121
   724
                  )
cg@2121
   725
                 )
cg@2121
   726
               
cg@2121
   727
              )
cg@2121
   728
            )
cg@2078
   729
           )
cg@2078
   730
         
cg@2078
   731
        )
cg@2078
   732
      )
cg@2121
   733
cg@2121
   734
    "Modified: / 15-10-2006 / 14:35:12 / cg"
cg@2078
   735
!
cg@2078
   736
cg@2078
   737
windowSpec
cg@2078
   738
    "This resource specification was automatically generated
cg@2078
   739
     by the UIPainter of ST/X."
cg@2078
   740
cg@2078
   741
    "Do not manually edit this!! If it is corrupted,
cg@2078
   742
     the UIPainter may not be able to read the specification."
cg@2078
   743
cg@2078
   744
    "
cg@2078
   745
     UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#windowSpec
cg@2078
   746
     ApplicationDefinitionBuilder new openInterface:#windowSpec
cg@2078
   747
     ApplicationDefinitionBuilder open
cg@2078
   748
    "
cg@2078
   749
cg@2078
   750
    <resource: #canvas>
cg@2078
   751
cg@2100
   752
    ^
cg@2078
   753
     #(FullSpec
cg@2100
   754
	name: windowSpec
cg@2100
   755
	window:
cg@2078
   756
       (WindowSpec
cg@2100
   757
	  label: 'ApplicationDefinitionBuilder'
cg@2100
   758
	  name: 'ApplicationDefinitionBuilder'
cg@2100
   759
	  min: (Point 10 10)
cg@2100
   760
	  max: (Point 1024 768)
cg@2100
   761
	  bounds: (Rectangle 0 0 596 339)
cg@2100
   762
	  menu: mainMenu
cg@2100
   763
	)
cg@2100
   764
	component:
cg@2078
   765
       (SpecCollection
cg@2100
   766
	  collection: (
cg@2100
   767
	   (NoteBookViewSpec
cg@2100
   768
	      name: 'NoteBook1'
cg@2100
   769
	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
cg@2100
   770
	      model: selectedTabIndexHolder
cg@2100
   771
	      menu: tabList
cg@2100
   772
	      useIndex: true
cg@2100
   773
	    )
cg@2100
   774
	   )
cg@2100
   775
cg@2100
   776
	)
cg@2078
   777
      )
cg@2078
   778
cg@2078
   779
    "Modified: / 03-09-2006 / 10:57:33 / cg"
cg@2078
   780
! !
cg@2078
   781
cg@2078
   782
!ProjectDefinitionEditor class methodsFor:'list specs'!
cg@2078
   783
cg@2079
   784
tabList
cg@2079
   785
^ self  tabListForApplication.
cg@2079
   786
cg@2079
   787
    "Created: / 06-09-2006 / 13:38:03 / cg"
cg@2079
   788
!
cg@2079
   789
cg@2078
   790
tabListForApplication
cg@2078
   791
    "This resource specification was automatically generated
cg@2078
   792
     by the TabListEditor of ST/X."
cg@2078
   793
cg@2078
   794
    "Do not manually edit this!! If it is corrupted,
cg@2078
   795
     the TabListEditor may not be able to read the specification."
cg@2078
   796
cg@2078
   797
    "
cg@2078
   798
     TabListEditor new openOnClass: self andSelector:#tabList
cg@2078
   799
    "
cg@2078
   800
cg@2078
   801
    <resource: #tabList>
cg@2078
   802
cg@2078
   803
    ^     #(
cg@2078
   804
       (TabItem
cg@2100
   805
	  label: 'Description'
cg@2100
   806
	  minorKey: descriptionSpec
cg@2100
   807
	)
cg@2079
   808
       (TabItem
cg@2100
   809
	  label: 'Classes'
cg@2100
   810
	  createNewBuilder: false
cg@2100
   811
	  translateLabel: true
cg@2100
   812
	  minorKey: classesSpec
cg@2100
   813
	)
cg@2078
   814
       (TabItem
cg@2100
   815
	  label: 'Extensions'
cg@2100
   816
	  minorKey: extensionsSpec
cg@2100
   817
	)
cg@2078
   818
       (TabItem
cg@2100
   819
	  label: 'Prerequisites'
cg@2100
   820
	  minorKey: prerequisitesSpec
cg@2100
   821
	)
cg@2078
   822
       (TabItem
cg@2100
   823
	  label: 'Compilation'
cg@2100
   824
	  minorKey: compilationSpec
cg@2100
   825
	)
cg@2078
   826
       (TabItem
cg@2100
   827
	  label: 'Startup'
cg@2100
   828
	  minorKey: startupSpec
cg@2100
   829
	)
cg@2078
   830
       )
cg@2100
   831
cg@2078
   832
      collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
cg@2078
   833
cg@2078
   834
    "Created: / 05-09-2006 / 16:24:48 / cg"
cg@2079
   835
    "Modified: / 06-09-2006 / 18:44:34 / cg"
cg@2078
   836
!
cg@2078
   837
cg@2078
   838
tabListForLibrary
cg@2078
   839
    "This resource specification was automatically generated
cg@2078
   840
     by the TabListEditor of ST/X."
cg@2078
   841
cg@2078
   842
    "Do not manually edit this!! If it is corrupted,
cg@2078
   843
     the TabListEditor may not be able to read the specification."
cg@2078
   844
cg@2078
   845
    "
cg@2078
   846
     TabListEditor new openOnClass: self andSelector:#tabList
cg@2078
   847
    "
cg@2078
   848
cg@2078
   849
    <resource: #tabList>
cg@2078
   850
cg@2078
   851
    ^     #(
cg@2078
   852
       (TabItem
cg@2100
   853
	  label: 'Description'
cg@2100
   854
	  minorKey: descriptionSpec
cg@2100
   855
	)
cg@2079
   856
       (TabItem
cg@2100
   857
	  label: 'Classes'
cg@2100
   858
	  createNewBuilder: false
cg@2100
   859
	  translateLabel: true
cg@2100
   860
	  minorKey: classesSpec
cg@2100
   861
	)
cg@2078
   862
       (TabItem
cg@2100
   863
	  label: 'Extensions'
cg@2100
   864
	  minorKey: extensionsSpec
cg@2100
   865
	)
cg@2078
   866
       (TabItem
cg@2100
   867
	  label: 'Prerequisites'
cg@2100
   868
	  minorKey: prerequisitesSpec
cg@2100
   869
	)
cg@2078
   870
       (TabItem
cg@2100
   871
	  label: 'Compilation'
cg@2100
   872
	  minorKey: compilationSpec
cg@2100
   873
	)
cg@2078
   874
       )
cg@2100
   875
cg@2078
   876
      collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
cg@2078
   877
cg@2078
   878
    "Created: / 05-09-2006 / 16:24:52 / cg"
cg@2079
   879
    "Modified: / 06-09-2006 / 18:44:38 / cg"
cg@2078
   880
! !
cg@2078
   881
cg@2078
   882
!ProjectDefinitionEditor class methodsFor:'menu specs'!
cg@2078
   883
cg@2078
   884
classListMenu
cg@2078
   885
    "This resource specification was automatically generated
cg@2078
   886
     by the MenuEditor of ST/X."
cg@2078
   887
cg@2078
   888
    "Do not manually edit this!! If it is corrupted,
cg@2078
   889
     the MenuEditor may not be able to read the specification."
cg@2078
   890
cg@2078
   891
    "
cg@2082
   892
     MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classListMenu
cg@2082
   893
     (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor classListMenu)) startUp
cg@2078
   894
    "
cg@2078
   895
cg@2078
   896
    <resource: #menu>
cg@2078
   897
cg@2100
   898
    ^
cg@2078
   899
     #(Menu
cg@2100
   900
	(
cg@2100
   901
	 (MenuItem
cg@2100
   902
	    enabled: hasDefinitionClassHolder
cg@2100
   903
	    label: 'Generate'
cg@2100
   904
	    itemValue: menuGenerateClassList
cg@2100
   905
	    translateLabel: true
cg@2100
   906
	  )
cg@2100
   907
	 (MenuItem
cg@2100
   908
	    label: '-'
cg@2100
   909
	  )
cg@2100
   910
	 (MenuItem
cg@2100
   911
	    enabled: hasDefinitionClassHolder
cg@2100
   912
	    label: 'Add...'
cg@2100
   913
	    itemValue: menuAddClass
cg@2100
   914
	    translateLabel: true
cg@2100
   915
	  )
cg@2100
   916
	 (MenuItem
cg@2100
   917
	    enabled: hasDefinitionClassHolder
cg@2100
   918
	    label: 'Remove...'
cg@2100
   919
	    itemValue: menuRemoveClass
cg@2100
   920
	    translateLabel: true
cg@2100
   921
	  )
cg@2100
   922
	 )
cg@2100
   923
	nil
cg@2100
   924
	nil
cg@2078
   925
      )
cg@2078
   926
!
cg@2078
   927
cg@2078
   928
extensionsListMenu
cg@2078
   929
    "This resource specification was automatically generated
cg@2078
   930
     by the MenuEditor of ST/X."
cg@2078
   931
cg@2078
   932
    "Do not manually edit this!! If it is corrupted,
cg@2078
   933
     the MenuEditor may not be able to read the specification."
cg@2078
   934
cg@2078
   935
    "
cg@2082
   936
     MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#extensionsListMenu
cg@2082
   937
     (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor extensionsListMenu)) startUp
cg@2078
   938
    "
cg@2078
   939
cg@2078
   940
    <resource: #menu>
cg@2078
   941
cg@2100
   942
    ^
cg@2078
   943
     #(Menu
cg@2100
   944
	(
cg@2100
   945
	 (MenuItem
cg@2100
   946
	    enabled: hasDefinitionClassHolder
cg@2100
   947
	    label: 'Generate'
cg@2100
   948
	    itemValue: menuGenerateExtensionsList
cg@2100
   949
	    translateLabel: true
cg@2100
   950
	  )
cg@2100
   951
	 (MenuItem
cg@2100
   952
	    label: '-'
cg@2100
   953
	  )
cg@2100
   954
	 (MenuItem
cg@2100
   955
	    enabled: hasDefinitionClassHolder
cg@2100
   956
	    label: 'Add...'
cg@2100
   957
	    itemValue: menuAddExtension
cg@2100
   958
	    translateLabel: true
cg@2100
   959
	  )
cg@2100
   960
	 (MenuItem
cg@2100
   961
	    enabled: hasDefinitionClassHolder
cg@2100
   962
	    label: 'Remove...'
cg@2100
   963
	    itemValue: menuRemoveExtension
cg@2100
   964
	    translateLabel: true
cg@2100
   965
	  )
cg@2100
   966
	 )
cg@2100
   967
	nil
cg@2100
   968
	nil
cg@2078
   969
      )
cg@2078
   970
!
cg@2078
   971
cg@2078
   972
mainMenu
cg@2078
   973
    "This resource specification was automatically generated
cg@2078
   974
     by the MenuEditor of ST/X."
cg@2078
   975
cg@2078
   976
    "Do not manually edit this!! If it is corrupted,
cg@2078
   977
     the MenuEditor may not be able to read the specification."
cg@2078
   978
cg@2078
   979
    "
cg@2082
   980
     MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#mainMenu
cg@2082
   981
     (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor mainMenu)) startUp
cg@2078
   982
    "
cg@2078
   983
cg@2078
   984
    <resource: #menu>
cg@2078
   985
cg@2128
   986
    ^ 
cg@2078
   987
     #(Menu
cg@2121
   988
        (
cg@2121
   989
         (MenuItem
cg@2121
   990
            label: 'File'
cg@2121
   991
            translateLabel: true
cg@2128
   992
            submenu: 
cg@2121
   993
           (Menu
cg@2121
   994
              (
cg@2121
   995
               (MenuItem
cg@2121
   996
                  label: 'New Library'
cg@2121
   997
                  itemValue: menuNewLibraryDefinition
cg@2121
   998
                  translateLabel: true
cg@2121
   999
                )
cg@2121
  1000
               (MenuItem
cg@2121
  1001
                  label: 'New Application'
cg@2121
  1002
                  itemValue: menuNewApplicationDefinition
cg@2121
  1003
                  translateLabel: true
cg@2121
  1004
                )
cg@2121
  1005
               (MenuItem
cg@2121
  1006
                  label: '-'
cg@2121
  1007
                )
cg@2121
  1008
               (MenuItem
cg@2121
  1009
                  label: 'Open...'
cg@2121
  1010
                  itemValue: menuOpen
cg@2121
  1011
                  translateLabel: true
cg@2121
  1012
                )
cg@2121
  1013
               (MenuItem
cg@2121
  1014
                  label: '-'
cg@2121
  1015
                )
cg@2121
  1016
               (MenuItem
cg@2121
  1017
                  enabled: hasDefinitionClassHolder
cg@2121
  1018
                  label: 'Save'
cg@2121
  1019
                  itemValue: menuSave
cg@2121
  1020
                  translateLabel: true
cg@2121
  1021
                )
cg@2121
  1022
               (MenuItem
cg@2121
  1023
                  enabled: hasDefinitionClassHolder
cg@2121
  1024
                  label: 'Save As...'
cg@2121
  1025
                  itemValue: menuSaveAs
cg@2121
  1026
                  translateLabel: true
cg@2121
  1027
                )
cg@2121
  1028
               (MenuItem
cg@2121
  1029
                  label: '-'
cg@2121
  1030
                )
cg@2121
  1031
               (MenuItem
cg@2121
  1032
                  label: 'Exit'
cg@2121
  1033
                  itemValue: closeRequest
cg@2121
  1034
                  translateLabel: true
cg@2121
  1035
                )
cg@2121
  1036
               )
cg@2121
  1037
              nil
cg@2121
  1038
              nil
cg@2121
  1039
            )
cg@2121
  1040
          )
cg@2121
  1041
         (MenuItem
cg@2121
  1042
            label: 'Definition'
cg@2121
  1043
            translateLabel: true
cg@2128
  1044
            submenu: 
cg@2121
  1045
           (Menu
cg@2121
  1046
              (
cg@2121
  1047
               (MenuItem
cg@2121
  1048
                  enabled: hasDefinitionClassHolder
cg@2121
  1049
                  label: 'Generate Definitions'
cg@2121
  1050
                  itemValue: menuGenerateProjectDefinitions
cg@2121
  1051
                  translateLabel: true
cg@2121
  1052
                )
cg@2121
  1053
               )
cg@2121
  1054
              nil
cg@2121
  1055
              nil
cg@2121
  1056
            )
cg@2121
  1057
          )
cg@2121
  1058
         (MenuItem
cg@2121
  1059
            label: 'Classes'
cg@2121
  1060
            translateLabel: true
cg@2121
  1061
            isVisible: classesMenuVisibleHolder
cg@2121
  1062
            submenuChannel: classListMenu
cg@2121
  1063
            keepLinkedMenu: true
cg@2121
  1064
          )
cg@2121
  1065
         (MenuItem
cg@2121
  1066
            label: 'Extensions'
cg@2121
  1067
            translateLabel: true
cg@2121
  1068
            isVisible: extensionsMenuVisibleHolder
cg@2121
  1069
            submenuChannel: extensionsListMenu
cg@2121
  1070
            keepLinkedMenu: true
cg@2121
  1071
          )
cg@2121
  1072
         (MenuItem
cg@2121
  1073
            label: 'Prerequisites'
cg@2121
  1074
            translateLabel: true
cg@2121
  1075
            isVisible: prerequisitesMenuVisibleHolder
cg@2121
  1076
            submenuChannel: prerequisitesListMenu
cg@2121
  1077
            keepLinkedMenu: true
cg@2121
  1078
          )
cg@2121
  1079
         (MenuItem
cg@2666
  1080
            label: 'MENU_Help'
cg@2121
  1081
            translateLabel: true
cg@2128
  1082
            startGroup: conditionalRight
cg@2128
  1083
            submenu: 
cg@2121
  1084
           (Menu
cg@2121
  1085
              (
cg@2121
  1086
               (MenuItem
cg@2121
  1087
                  label: 'Documentation'
cg@2121
  1088
                  itemValue: openDocumentation
cg@2121
  1089
                  translateLabel: true
cg@2121
  1090
                )
cg@2121
  1091
               (MenuItem
cg@2121
  1092
                  label: '-'
cg@2121
  1093
                )
cg@2121
  1094
               (MenuItem
cg@2121
  1095
                  label: 'About this Application...'
cg@2121
  1096
                  itemValue: openAboutThisApplication
cg@2121
  1097
                  translateLabel: true
cg@2121
  1098
                )
cg@2121
  1099
               )
cg@2121
  1100
              nil
cg@2121
  1101
              nil
cg@2121
  1102
            )
cg@2121
  1103
          )
cg@2121
  1104
         )
cg@2121
  1105
        nil
cg@2121
  1106
        nil
cg@2078
  1107
      )
cg@2078
  1108
!
cg@2078
  1109
cg@2078
  1110
prerequisitesListMenu
cg@2078
  1111
    "This resource specification was automatically generated
cg@2078
  1112
     by the MenuEditor of ST/X."
cg@2078
  1113
cg@2078
  1114
    "Do not manually edit this!! If it is corrupted,
cg@2078
  1115
     the MenuEditor may not be able to read the specification."
cg@2078
  1116
cg@2078
  1117
    "
cg@2082
  1118
     MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#prerequisitesListMenu
cg@2082
  1119
     (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor prerequisitesListMenu)) startUp
cg@2078
  1120
    "
cg@2078
  1121
cg@2078
  1122
    <resource: #menu>
cg@2078
  1123
cg@2100
  1124
    ^
cg@2078
  1125
     #(Menu
cg@2100
  1126
	(
cg@2100
  1127
	 (MenuItem
cg@2100
  1128
	    enabled: hasDefinitionClassHolder
cg@2100
  1129
	    label: 'Generate'
cg@2100
  1130
	    itemValue: menuGeneratePrerequisitesList
cg@2100
  1131
	    translateLabel: true
cg@2100
  1132
	  )
cg@2100
  1133
	 (MenuItem
cg@2100
  1134
	    label: '-'
cg@2100
  1135
	  )
cg@2100
  1136
	 (MenuItem
cg@2100
  1137
	    enabled: hasDefinitionClassHolder
cg@2100
  1138
	    label: 'Add...'
cg@2100
  1139
	    itemValue: menuAddPrerequisite
cg@2100
  1140
	    translateLabel: true
cg@2100
  1141
	  )
cg@2100
  1142
	 (MenuItem
cg@2100
  1143
	    enabled: hasDefinitionClassHolder
cg@2100
  1144
	    label: 'Remove...'
cg@2100
  1145
	    itemValue: menuRemovePrerequisite
cg@2100
  1146
	    translateLabel: true
cg@2100
  1147
	  )
cg@2100
  1148
	 )
cg@2100
  1149
	nil
cg@2100
  1150
	nil
cg@2078
  1151
      )
cg@2078
  1152
! !
cg@2078
  1153
cg@2078
  1154
!ProjectDefinitionEditor class methodsFor:'tableColumns specs'!
cg@2078
  1155
cg@2078
  1156
classesTableColumns
cg@2078
  1157
    "This resource specification was automatically generated
cg@2078
  1158
     by the DataSetBuilder of ST/X."
cg@2078
  1159
cg@2078
  1160
    "Do not manually edit this!! If it is corrupted,
cg@2078
  1161
     the DataSetBuilder may not be able to read the specification."
cg@2078
  1162
cg@2078
  1163
    "
cg@2079
  1164
     DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classesTableColumns
cg@2078
  1165
    "
cg@2078
  1166
cg@2078
  1167
    <resource: #tableColumns>
cg@2078
  1168
cg@2078
  1169
    ^#(
cg@2078
  1170
      (DataSetColumnSpec
cg@2111
  1171
         label: 'Class'
cg@2111
  1172
         labelAlignment: left
cg@2111
  1173
         labelButtonType: Button
cg@2111
  1174
         model: className
cg@2111
  1175
         canSelect: false
cg@2078
  1176
       )
cg@2078
  1177
      (DataSetColumnSpec
cg@2111
  1178
         label: 'Auto'
cg@2111
  1179
         labelButtonType: Button
cg@2146
  1180
         editorType: CheckToggle
cg@2111
  1181
         rendererType: CheckToggle
cg@2111
  1182
         model: autoloaded
cg@2078
  1183
       )
cg@2078
  1184
      (DataSetColumnSpec
cg@2111
  1185
         label: 'Win32'
cg@2111
  1186
         labelButtonType: Button
cg@2146
  1187
         editorType: CheckToggle
cg@2111
  1188
         rendererType: CheckToggle
cg@2111
  1189
         model: win32
cg@2078
  1190
       )
cg@2078
  1191
      (DataSetColumnSpec
cg@2111
  1192
         label: 'Unix'
cg@2111
  1193
         labelButtonType: Button
cg@2146
  1194
         editorType: CheckToggle
cg@2111
  1195
         rendererType: CheckToggle
cg@2111
  1196
         model: unix
cg@2078
  1197
       )
cg@2078
  1198
      )
cg@2111
  1199
    
cg@2078
  1200
!
cg@2078
  1201
cg@2078
  1202
extensionsTableColumns
cg@2078
  1203
    "This resource specification was automatically generated
cg@2078
  1204
     by the DataSetBuilder of ST/X."
cg@2078
  1205
cg@2078
  1206
    "Do not manually edit this!! If it is corrupted,
cg@2078
  1207
     the DataSetBuilder may not be able to read the specification."
cg@2078
  1208
cg@2078
  1209
    "
cg@2079
  1210
     DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#extensionsTableColumns
cg@2078
  1211
    "
cg@2078
  1212
cg@2078
  1213
    <resource: #tableColumns>
cg@2078
  1214
cg@2078
  1215
    ^#(
cg@2078
  1216
      (DataSetColumnSpec
cg@2100
  1217
	 label: 'Class'
cg@2100
  1218
	 labelAlignment: left
cg@2100
  1219
	 labelButtonType: Button
cg@2100
  1220
	 model: className
cg@2100
  1221
	 canSelect: false
cg@2078
  1222
       )
cg@2078
  1223
      (DataSetColumnSpec
cg@2100
  1224
	 label: 'Selector'
cg@2100
  1225
	 labelAlignment: left
cg@2100
  1226
	 labelButtonType: Button
cg@2100
  1227
	 model: selector
cg@2100
  1228
	 canSelect: false
cg@2078
  1229
       )
cg@2078
  1230
      )
cg@2100
  1231
cg@2078
  1232
!
cg@2078
  1233
cg@2078
  1234
prerequisitesTableColumns
cg@2078
  1235
    "This resource specification was automatically generated
cg@2078
  1236
     by the DataSetBuilder of ST/X."
cg@2078
  1237
cg@2078
  1238
    "Do not manually edit this!! If it is corrupted,
cg@2078
  1239
     the DataSetBuilder may not be able to read the specification."
cg@2078
  1240
cg@2078
  1241
    "
cg@2080
  1242
     DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#prerequisitesTableColumns
cg@2078
  1243
    "
cg@2078
  1244
cg@2078
  1245
    <resource: #tableColumns>
cg@2078
  1246
cg@2078
  1247
    ^#(
cg@2078
  1248
      (DataSetColumnSpec
cg@2100
  1249
	 label: 'Package'
cg@2100
  1250
	 labelAlignment: left
cg@2100
  1251
	 labelButtonType: Button
cg@2100
  1252
	 model: package
cg@2078
  1253
       )
cg@2078
  1254
      )
cg@2100
  1255
cg@2078
  1256
! !
cg@2078
  1257
cg@2078
  1258
!ProjectDefinitionEditor methodsFor:'accessing'!
cg@2078
  1259
cg@2078
  1260
definitionClass
cg@2078
  1261
    ^ definitionClass
cg@2078
  1262
cg@2078
  1263
    "Created: / 04-09-2006 / 16:30:09 / cg"
cg@2078
  1264
!
cg@2078
  1265
cg@2078
  1266
definitionClass:aClass
cg@2078
  1267
    definitionClass := aClass.
cg@2082
  1268
    self refetchDefinitionValues.
cg@2078
  1269
cg@2078
  1270
    "Created: / 04-09-2006 / 16:30:18 / cg"
cg@2082
  1271
    "Modified: / 07-09-2006 / 12:26:57 / cg"
cg@2080
  1272
!
cg@2080
  1273
cg@2080
  1274
specClass:aClass
cg@2080
  1275
    super specClass:aClass.
cg@2080
  1276
    self definitionClass:aClass theNonMetaclass.
cg@2080
  1277
cg@2080
  1278
    "Created: / 06-09-2006 / 19:24:10 / cg"
cg@2078
  1279
! !
cg@2078
  1280
cg@2078
  1281
!ProjectDefinitionEditor methodsFor:'aspects'!
cg@2078
  1282
cg@2121
  1283
ccOptimizationFlagList
cg@2121
  1284
    ^ #(
cg@2121
  1285
        '-O'
cg@2121
  1286
        '-g'
cg@2121
  1287
    )
cg@2121
  1288
cg@2121
  1289
    "Created: / 15-10-2006 / 15:14:39 / cg"
cg@2121
  1290
!
cg@2121
  1291
cg@2121
  1292
ccOptimizationFlagsHolder
cg@2121
  1293
    ccOptimizationFlagsHolder isNil ifTrue:[
cg@2121
  1294
        ccOptimizationFlagsHolder := ValueHolder new.
cg@2121
  1295
    ].
cg@2121
  1296
    ^ ccOptimizationFlagsHolder
cg@2121
  1297
cg@2121
  1298
    "Created: / 15-10-2006 / 15:13:14 / cg"
cg@2121
  1299
!
cg@2121
  1300
cg@2081
  1301
classListHolder
cg@2081
  1302
    classListHolder isNil ifTrue:[
cg@2100
  1303
	classListHolder := #() asValue.
cg@2078
  1304
    ].
cg@2081
  1305
    ^ classListHolder.
cg@2078
  1306
cg@2081
  1307
    "Created: / 07-09-2006 / 11:34:35 / cg"
cg@2078
  1308
!
cg@2078
  1309
cg@2078
  1310
classesTableColumns
cg@2078
  1311
    classesTableColumns isNil ifTrue:[
cg@2100
  1312
	classesTableColumns := self class classesTableColumns asValue.
cg@2078
  1313
    ].
cg@2078
  1314
    ^ classesTableColumns.
cg@2078
  1315
cg@2078
  1316
    "Modified: / 04-09-2006 / 17:58:09 / cg"
cg@2078
  1317
!
cg@2078
  1318
cg@2078
  1319
companyNameHolder
cg@2078
  1320
    companyNameHolder isNil ifTrue:[
cg@2100
  1321
	companyNameHolder := ValueHolder new.
cg@2078
  1322
    ].
cg@2078
  1323
    ^ companyNameHolder.
cg@2078
  1324
cg@2078
  1325
    "Created: / 04-09-2006 / 17:58:02 / cg"
cg@2078
  1326
!
cg@2078
  1327
cg@2078
  1328
descriptionHolder
cg@2078
  1329
    descriptionHolder isNil ifTrue:[
cg@2100
  1330
	descriptionHolder := ValueHolder new.
cg@2078
  1331
    ].
cg@2078
  1332
    ^ descriptionHolder.
cg@2078
  1333
cg@2078
  1334
    "Modified: / 04-09-2006 / 17:58:15 / cg"
cg@2078
  1335
!
cg@2078
  1336
cg@2121
  1337
documentExtensionsListStringHolder
cg@2121
  1338
    documentExtensionsListStringHolder isNil ifTrue:[
cg@2121
  1339
        documentExtensionsListStringHolder := '' asValue.
cg@2121
  1340
    ].
cg@2121
  1341
    ^ documentExtensionsListStringHolder.
cg@2121
  1342
cg@2121
  1343
    "Created: / 15-10-2006 / 14:32:29 / cg"
cg@2121
  1344
!
cg@2121
  1345
cg@2081
  1346
extensionsListHolder
cg@2081
  1347
    extensionsListHolder isNil ifTrue:[
cg@2100
  1348
	extensionsListHolder := #() asValue.
cg@2079
  1349
    ].
cg@2081
  1350
    ^ extensionsListHolder.
cg@2079
  1351
cg@2081
  1352
    "Created: / 07-09-2006 / 11:34:50 / cg"
cg@2079
  1353
!
cg@2079
  1354
cg@2078
  1355
fileDescriptionHolder
cg@2078
  1356
    fileDescriptionHolder isNil ifTrue:[
cg@2100
  1357
	fileDescriptionHolder := ValueHolder new.
cg@2078
  1358
    ].
cg@2078
  1359
    ^ fileDescriptionHolder.
cg@2078
  1360
cg@2078
  1361
    "Modified: / 04-09-2006 / 17:58:19 / cg"
cg@2078
  1362
!
cg@2078
  1363
cg@2078
  1364
fileMajorVersionNrHolder
cg@2078
  1365
    "automatically generated by UIPainter ..."
cg@2078
  1366
cg@2078
  1367
    "*** the code below creates a default model when invoked."
cg@2078
  1368
    "*** (which may not be the one you wanted)"
cg@2078
  1369
    "*** Please change as required and accept it in the browser."
cg@2078
  1370
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1371
cg@2078
  1372
    fileMajorVersionNrHolder isNil ifTrue:[
cg@2100
  1373
	fileMajorVersionNrHolder := ValueHolder new.
cg@2078
  1374
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1375
"/       fileMajorVersionNrHolder addDependent:self.
cg@2078
  1376
"/       fileMajorVersionNrHolder onChangeSend:#fileMajorVersionNrHolderChanged to:self.
cg@2078
  1377
    ].
cg@2078
  1378
    ^ fileMajorVersionNrHolder.
cg@2078
  1379
!
cg@2078
  1380
cg@2078
  1381
fileMinorVersionNrHolder
cg@2078
  1382
    "automatically generated by UIPainter ..."
cg@2078
  1383
cg@2078
  1384
    "*** the code below creates a default model when invoked."
cg@2078
  1385
    "*** (which may not be the one you wanted)"
cg@2078
  1386
    "*** Please change as required and accept it in the browser."
cg@2078
  1387
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1388
cg@2078
  1389
    fileMinorVersionNrHolder isNil ifTrue:[
cg@2100
  1390
	fileMinorVersionNrHolder := ValueHolder new.
cg@2078
  1391
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1392
"/       fileMinorVersionNrHolder addDependent:self.
cg@2078
  1393
"/       fileMinorVersionNrHolder onChangeSend:#fileMinorVersionNrHolderChanged to:self.
cg@2078
  1394
    ].
cg@2078
  1395
    ^ fileMinorVersionNrHolder.
cg@2078
  1396
!
cg@2078
  1397
cg@2078
  1398
fileReleaseNrHolder
cg@2078
  1399
    "automatically generated by UIPainter ..."
cg@2078
  1400
cg@2078
  1401
    "*** the code below creates a default model when invoked."
cg@2078
  1402
    "*** (which may not be the one you wanted)"
cg@2078
  1403
    "*** Please change as required and accept it in the browser."
cg@2078
  1404
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1405
cg@2078
  1406
    fileReleaseNrHolder isNil ifTrue:[
cg@2100
  1407
	fileReleaseNrHolder := ValueHolder new.
cg@2078
  1408
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1409
"/       fileReleaseNrHolder addDependent:self.
cg@2078
  1410
"/       fileReleaseNrHolder onChangeSend:#fileReleaseNrHolderChanged to:self.
cg@2078
  1411
    ].
cg@2078
  1412
    ^ fileReleaseNrHolder.
cg@2078
  1413
!
cg@2078
  1414
cg@2078
  1415
fileRevisionNrHolder
cg@2078
  1416
    "automatically generated by UIPainter ..."
cg@2078
  1417
cg@2078
  1418
    "*** the code below creates a default model when invoked."
cg@2078
  1419
    "*** (which may not be the one you wanted)"
cg@2078
  1420
    "*** Please change as required and accept it in the browser."
cg@2078
  1421
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1422
cg@2078
  1423
    fileRevisionNrHolder isNil ifTrue:[
cg@2100
  1424
	fileRevisionNrHolder := ValueHolder new.
cg@2078
  1425
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1426
"/       fileRevisionNrHolder addDependent:self.
cg@2078
  1427
"/       fileRevisionNrHolder onChangeSend:#fileRevisionNrHolderChanged to:self.
cg@2078
  1428
    ].
cg@2078
  1429
    ^ fileRevisionNrHolder.
cg@2078
  1430
!
cg@2078
  1431
cg@2100
  1432
hasConsoleHolder
cg@2100
  1433
    hasConsoleHolder isNil ifTrue:[
cg@2100
  1434
        hasConsoleHolder := false asValue
cg@2100
  1435
    ].
cg@2100
  1436
    ^ hasConsoleHolder.
cg@2100
  1437
cg@2100
  1438
    "Created: / 20-09-2006 / 14:39:18 / cg"
cg@2100
  1439
!
cg@2100
  1440
cg@2078
  1441
iconFileNameHolder
cg@2078
  1442
    iconFileNameHolder isNil ifTrue:[
cg@2100
  1443
	iconFileNameHolder := ValueHolder new.
cg@2078
  1444
    ].
cg@2078
  1445
    ^ iconFileNameHolder.
cg@2078
  1446
cg@2078
  1447
    "Created: / 04-09-2006 / 18:01:22 / cg"
cg@2078
  1448
!
cg@2078
  1449
cg@2078
  1450
isApplicationDefinitionHolder
cg@2078
  1451
    isApplicationDefinitionHolder isNil ifTrue:[
cg@2100
  1452
	isApplicationDefinitionHolder := false asValue
cg@2078
  1453
    ].
cg@2078
  1454
    ^ isApplicationDefinitionHolder.
cg@2078
  1455
cg@2078
  1456
    "Created: / 04-09-2006 / 19:22:47 / cg"
cg@2078
  1457
!
cg@2078
  1458
cg@2100
  1459
isGUIApplicationHolder
cg@2100
  1460
    ^ BlockValue forLogicalNot:self isNonGUIApplicationHolder
cg@2100
  1461
cg@2100
  1462
    "Created: / 20-09-2006 / 14:38:32 / cg"
cg@2100
  1463
!
cg@2100
  1464
cg@2078
  1465
isNonGUIApplicationHolder
cg@2078
  1466
    isNonGUIApplicationHolder isNil ifTrue:[
cg@2121
  1467
        isNonGUIApplicationHolder := false asValue.
cg@2121
  1468
        isNonGUIApplicationHolder addDependent:self.
cg@2078
  1469
    ].
cg@2078
  1470
    ^ isNonGUIApplicationHolder.
cg@2078
  1471
cg@2078
  1472
    "Created: / 05-09-2006 / 13:34:31 / cg"
cg@2121
  1473
    "Modified: / 15-10-2006 / 14:00:03 / cg"
cg@2078
  1474
!
cg@2078
  1475
cg@2078
  1476
legalCopyrightHolder
cg@2078
  1477
    "automatically generated by UIPainter ..."
cg@2078
  1478
cg@2078
  1479
    "*** the code below creates a default model when invoked."
cg@2078
  1480
    "*** (which may not be the one you wanted)"
cg@2078
  1481
    "*** Please change as required and accept it in the browser."
cg@2078
  1482
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1483
cg@2078
  1484
    legalCopyrightHolder isNil ifTrue:[
cg@2100
  1485
	legalCopyrightHolder := ValueHolder new.
cg@2078
  1486
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1487
"/       legalCopyrightHolder addDependent:self.
cg@2078
  1488
"/       legalCopyrightHolder onChangeSend:#legalCopyrightHolderChanged to:self.
cg@2078
  1489
    ].
cg@2078
  1490
    ^ legalCopyrightHolder.
cg@2078
  1491
!
cg@2078
  1492
cg@2078
  1493
majorVersionNrHolder
cg@2078
  1494
    "automatically generated by UIPainter ..."
cg@2078
  1495
cg@2078
  1496
    "*** the code below creates a default model when invoked."
cg@2078
  1497
    "*** (which may not be the one you wanted)"
cg@2078
  1498
    "*** Please change as required and accept it in the browser."
cg@2078
  1499
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1500
cg@2078
  1501
    majorVersionNrHolder isNil ifTrue:[
cg@2100
  1502
	majorVersionNrHolder := ValueHolder new.
cg@2078
  1503
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1504
"/       majorVersionNrHolder addDependent:self.
cg@2078
  1505
"/       majorVersionNrHolder onChangeSend:#majorVersionNrHolderChanged to:self.
cg@2078
  1506
    ].
cg@2078
  1507
    ^ majorVersionNrHolder.
cg@2078
  1508
!
cg@2078
  1509
cg@2078
  1510
minorVersionNrHolder
cg@2078
  1511
    "automatically generated by UIPainter ..."
cg@2078
  1512
cg@2078
  1513
    "*** the code below creates a default model when invoked."
cg@2078
  1514
    "*** (which may not be the one you wanted)"
cg@2078
  1515
    "*** Please change as required and accept it in the browser."
cg@2078
  1516
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1517
cg@2078
  1518
    minorVersionNrHolder isNil ifTrue:[
cg@2100
  1519
	minorVersionNrHolder := ValueHolder new.
cg@2078
  1520
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1521
"/       minorVersionNrHolder addDependent:self.
cg@2078
  1522
"/       minorVersionNrHolder onChangeSend:#minorVersionNrHolderChanged to:self.
cg@2078
  1523
    ].
cg@2078
  1524
    ^ minorVersionNrHolder.
cg@2078
  1525
!
cg@2078
  1526
cg@2081
  1527
prerequisitesListHolder
cg@2081
  1528
    prerequisitesListHolder isNil ifTrue:[
cg@2100
  1529
	prerequisitesListHolder := #() asValue.
cg@2081
  1530
    ].
cg@2081
  1531
    ^ prerequisitesListHolder.
cg@2081
  1532
cg@2081
  1533
    "Created: / 07-09-2006 / 11:35:03 / cg"
cg@2081
  1534
!
cg@2081
  1535
cg@2078
  1536
productNameHolder
cg@2078
  1537
    "automatically generated by UIPainter ..."
cg@2078
  1538
cg@2078
  1539
    "*** the code below creates a default model when invoked."
cg@2078
  1540
    "*** (which may not be the one you wanted)"
cg@2078
  1541
    "*** Please change as required and accept it in the browser."
cg@2078
  1542
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1543
cg@2078
  1544
    productNameHolder isNil ifTrue:[
cg@2100
  1545
	productNameHolder := ValueHolder new.
cg@2078
  1546
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1547
"/       productNameHolder addDependent:self.
cg@2078
  1548
"/       productNameHolder onChangeSend:#productNameHolderChanged to:self.
cg@2078
  1549
    ].
cg@2078
  1550
    ^ productNameHolder.
cg@2078
  1551
!
cg@2078
  1552
cg@2078
  1553
releaseNrHolder
cg@2078
  1554
    "automatically generated by UIPainter ..."
cg@2078
  1555
cg@2078
  1556
    "*** the code below creates a default model when invoked."
cg@2078
  1557
    "*** (which may not be the one you wanted)"
cg@2078
  1558
    "*** Please change as required and accept it in the browser."
cg@2078
  1559
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1560
cg@2078
  1561
    releaseNrHolder isNil ifTrue:[
cg@2100
  1562
	releaseNrHolder := ValueHolder new.
cg@2078
  1563
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1564
"/       releaseNrHolder addDependent:self.
cg@2078
  1565
"/       releaseNrHolder onChangeSend:#releaseNrHolderChanged to:self.
cg@2078
  1566
    ].
cg@2078
  1567
    ^ releaseNrHolder.
cg@2078
  1568
!
cg@2078
  1569
cg@2078
  1570
revisionNrHolder
cg@2078
  1571
    "automatically generated by UIPainter ..."
cg@2078
  1572
cg@2078
  1573
    "*** the code below creates a default model when invoked."
cg@2078
  1574
    "*** (which may not be the one you wanted)"
cg@2078
  1575
    "*** Please change as required and accept it in the browser."
cg@2078
  1576
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1577
cg@2078
  1578
    revisionNrHolder isNil ifTrue:[
cg@2100
  1579
	revisionNrHolder := ValueHolder new.
cg@2078
  1580
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1581
"/       revisionNrHolder addDependent:self.
cg@2078
  1582
"/       revisionNrHolder onChangeSend:#revisionNrHolderChanged to:self.
cg@2078
  1583
    ].
cg@2078
  1584
    ^ revisionNrHolder.
cg@2078
  1585
!
cg@2078
  1586
cg@2078
  1587
selectedClassIndexHolder
cg@2078
  1588
    "automatically generated by UIPainter ..."
cg@2078
  1589
cg@2078
  1590
    "*** the code below creates a default model when invoked."
cg@2078
  1591
    "*** (which may not be the one you wanted)"
cg@2078
  1592
    "*** Please change as required and accept it in the browser."
cg@2078
  1593
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1594
cg@2078
  1595
    selectedClassIndexHolder isNil ifTrue:[
cg@2100
  1596
	selectedClassIndexHolder := ValueHolder new.
cg@2078
  1597
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1598
"/       selectedClassIndexHolder addDependent:self.
cg@2078
  1599
"/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
cg@2078
  1600
    ].
cg@2078
  1601
    ^ selectedClassIndexHolder.
cg@2078
  1602
!
cg@2078
  1603
cg@2121
  1604
shownHasConsoleHolder
cg@2121
  1605
    shownHasConsoleHolder isNil ifTrue:[
cg@2121
  1606
        shownHasConsoleHolder := IndirectValue for:self hasConsoleHolder.
cg@2121
  1607
    ].
cg@2121
  1608
    ^ shownHasConsoleHolder
cg@2121
  1609
cg@2121
  1610
    "Created: / 15-10-2006 / 13:59:01 / cg"
cg@2121
  1611
!
cg@2121
  1612
cg@2121
  1613
shownHasConsoleValue
cg@2121
  1614
    ^ BlockValue 
cg@2121
  1615
        with:[:m1 :m2 | self isGUIApplicationHolder value not
cg@2121
  1616
                        or:[ self hasConsoleHolder value] ]
cg@2121
  1617
        argument:(self hasConsoleHolder)
cg@2121
  1618
        argument:(self isGUIApplicationHolder).
cg@2121
  1619
cg@2121
  1620
    "Created: / 15-10-2006 / 13:54:16 / cg"
cg@2121
  1621
!
cg@2121
  1622
cg@2078
  1623
startSinglethreadedHolder
cg@2078
  1624
    startSinglethreadedHolder isNil ifTrue:[
cg@2100
  1625
	startSinglethreadedHolder := false asValue.
cg@2078
  1626
    ].
cg@2078
  1627
    ^ startSinglethreadedHolder.
cg@2078
  1628
cg@2078
  1629
    "Created: / 05-09-2006 / 13:34:54 / cg"
cg@2078
  1630
!
cg@2078
  1631
cg@2079
  1632
startupClassNameHolder
cg@2079
  1633
    startupClassNameHolder isNil ifTrue:[
cg@2100
  1634
	startupClassNameHolder := '' asValue.
cg@2078
  1635
    ].
cg@2079
  1636
    ^ startupClassNameHolder.
cg@2078
  1637
cg@2079
  1638
    "Created: / 06-09-2006 / 18:41:52 / cg"
cg@2078
  1639
!
cg@2078
  1640
cg@2078
  1641
startupSelectorHolder
cg@2078
  1642
    startupSelectorHolder isNil ifTrue:[
cg@2100
  1643
	startupSelectorHolder := '' asValue.
cg@2078
  1644
    ].
cg@2078
  1645
    ^ startupSelectorHolder.
cg@2078
  1646
cg@2078
  1647
    "Created: / 05-09-2006 / 13:34:20 / cg"
cg@2078
  1648
!
cg@2078
  1649
cg@2121
  1650
stcOptimizationFlagList
cg@2121
  1651
    ^ #(
cg@2121
  1652
        '+optSpace'
cg@2121
  1653
        '+optSpace2'
cg@2121
  1654
        '+optSpace3'
cg@2121
  1655
        '+optInline'
cg@2121
  1656
        '-optInline'
cg@2121
  1657
        '-inlineNew'
cg@2121
  1658
        '-inlineNot'
cg@2121
  1659
    )
cg@2121
  1660
cg@2121
  1661
    "Created: / 15-10-2006 / 15:14:29 / cg"
cg@2121
  1662
!
cg@2121
  1663
cg@2121
  1664
stcOptimizationFlagsHolder
cg@2121
  1665
    stcOptimizationFlagsHolder isNil ifTrue:[
cg@2121
  1666
        stcOptimizationFlagsHolder := ValueHolder new.
cg@2121
  1667
    ].
cg@2121
  1668
    ^ stcOptimizationFlagsHolder
cg@2121
  1669
cg@2121
  1670
    "Modified: / 15-10-2006 / 15:13:10 / cg"
cg@2121
  1671
!
cg@2121
  1672
cg@2078
  1673
tabList
cg@2078
  1674
    "Generated by the TabListEditor"
cg@2078
  1675
cg@2078
  1676
    |list|
cg@2078
  1677
cg@2078
  1678
    (list := builder bindingAt:#tabList) isNil ifTrue:[
cg@2100
  1679
	builder aspectAt:#tabList put:(list := self class tabListForApplication asValue).
cg@2078
  1680
    ].
cg@2078
  1681
    ^ list
cg@2078
  1682
cg@2079
  1683
    "Modified: / 06-09-2006 / 17:58:08 / cg"
cg@2078
  1684
! !
cg@2078
  1685
cg@2078
  1686
!ProjectDefinitionEditor methodsFor:'aspects-menu'!
cg@2078
  1687
cg@2078
  1688
classesMenuVisibleHolder
cg@2078
  1689
    ^ builder booleanValueAspectFor:#'classesMenuVisibleHolder'
cg@2078
  1690
cg@2078
  1691
    "Modified: / 03-09-2006 / 10:57:00 / cg"
cg@2078
  1692
!
cg@2078
  1693
cg@2078
  1694
extensionsMenuVisibleHolder
cg@2078
  1695
    ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder'
cg@2078
  1696
cg@2078
  1697
    "Created: / 05-09-2006 / 13:03:16 / cg"
cg@2078
  1698
!
cg@2078
  1699
cg@2082
  1700
hasDefinitionClass
cg@2082
  1701
    ^ definitionClass notNil
cg@2082
  1702
cg@2082
  1703
    "Created: / 07-09-2006 / 12:29:10 / cg"
cg@2082
  1704
!
cg@2082
  1705
cg@2082
  1706
hasDefinitionClassHolder
cg@2082
  1707
    ^ [ self hasDefinitionClass ]
cg@2082
  1708
cg@2082
  1709
    "Created: / 07-09-2006 / 12:29:22 / cg"
cg@2082
  1710
!
cg@2082
  1711
cg@2078
  1712
prerequisitesMenuVisibleHolder
cg@2078
  1713
    ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder'
cg@2078
  1714
cg@2078
  1715
    "Created: / 05-09-2006 / 13:26:45 / cg"
cg@2078
  1716
!
cg@2078
  1717
cg@2078
  1718
selectedTabIndexHolder
cg@2078
  1719
    |h|
cg@2078
  1720
cg@2078
  1721
    h := builder valueAspectFor:#'selectedTabIndexHolder' initialValue:nil.
cg@2078
  1722
    h addDependent:self.
cg@2078
  1723
    ^ h
cg@2078
  1724
cg@2078
  1725
    "Created: / 03-09-2006 / 10:58:05 / cg"
cg@2078
  1726
! !
cg@2078
  1727
cg@2078
  1728
!ProjectDefinitionEditor methodsFor:'change & update'!
cg@2078
  1729
cg@2078
  1730
fetchClassListEntries
cg@2078
  1731
    |entries|
cg@2078
  1732
cg@2078
  1733
    entries := OrderedCollection new.
cg@2100
  1734
    definitionClass
cg@2146
  1735
        classNamesAndAttributesDo:[:className :attributes |
cg@2146
  1736
            |entry|
cg@2078
  1737
cg@2146
  1738
            entry := ClassListEntry new.
cg@2146
  1739
            entry
cg@2146
  1740
                className:className
cg@2146
  1741
                autoloaded:(attributes includes:#autoload)
cg@2146
  1742
                win32:(attributes includes:#win32)
cg@2146
  1743
                unix:(attributes includes:#unix).
cg@2146
  1744
            entries add:entry.
cg@2146
  1745
        ].
cg@2146
  1746
    entries sort:[:a :b | a className < b className].
cg@2078
  1747
    ^ entries.
cg@2078
  1748
cg@2078
  1749
    "Created: / 05-09-2006 / 12:31:26 / cg"
cg@2146
  1750
    "Modified: / 21-11-2006 / 18:04:35 / cg"
cg@2078
  1751
!
cg@2078
  1752
cg@2079
  1753
fetchExtensionsListEntries
cg@2079
  1754
    |entries|
cg@2079
  1755
cg@2079
  1756
    entries := OrderedCollection new.
cg@2100
  1757
    definitionClass
cg@2100
  1758
	extensionMethodNames pairWiseDo:[:className :selector |
cg@2100
  1759
	    |entry|
cg@2079
  1760
cg@2100
  1761
	    entry := ExtensionsListEntry new.
cg@2100
  1762
	    entry className:className selector:selector.
cg@2100
  1763
	    entries add:entry.
cg@2100
  1764
	].
cg@2079
  1765
cg@2079
  1766
    ^ entries.
cg@2079
  1767
cg@2079
  1768
    "Created: / 06-09-2006 / 18:45:15 / cg"
cg@2079
  1769
!
cg@2079
  1770
cg@2081
  1771
fetchPrerequisitesListEntries
cg@2081
  1772
    |entries|
cg@2081
  1773
cg@2081
  1774
    entries := OrderedCollection new.
cg@2100
  1775
    definitionClass
cg@2100
  1776
	preRequisites do:[:packageName |
cg@2100
  1777
	    |entry|
cg@2081
  1778
cg@2100
  1779
	    entry := PrerequisitesListEntry new.
cg@2100
  1780
	    entry package:packageName.
cg@2100
  1781
	    entries add:entry.
cg@2100
  1782
	].
cg@2081
  1783
cg@2081
  1784
    ^ entries.
cg@2081
  1785
cg@2081
  1786
    "Created: / 06-09-2006 / 18:45:15 / cg"
cg@2082
  1787
    "Modified: / 07-09-2006 / 12:36:21 / cg"
cg@2081
  1788
!
cg@2081
  1789
cg@2078
  1790
fetchValues
cg@2082
  1791
    |definitionClass isApplicationDefinition startupClassName startupSelector|
cg@2078
  1792
cg@2078
  1793
    definitionClass := self definitionClass.
cg@2078
  1794
    definitionClass isNil ifTrue:[^ self ].
cg@2078
  1795
cg@2078
  1796
    isApplicationDefinition := definitionClass isApplicationDefinition.
cg@2078
  1797
cg@2078
  1798
    self isApplicationDefinitionHolder value:isApplicationDefinition.
cg@2111
  1799
    self isNonGUIApplicationHolder value:(isApplicationDefinition and:[definitionClass isGUIApplication not]).
cg@2111
  1800
    self hasConsoleHolder value:(isApplicationDefinition and:[definitionClass isConsoleApplication]).
cg@2111
  1801
    self startSinglethreadedHolder value:(isApplicationDefinition and:[definitionClass isSingleThreadedApplication]).
cg@2100
  1802
cg@2078
  1803
    isApplicationDefinition ifTrue:[
cg@2082
  1804
        startupClassName := definitionClass name.
cg@2082
  1805
        startupSelector := #start.
cg@2082
  1806
cg@2082
  1807
        Error handle:[:ex | ] do:[ startupClassName := definitionClass startupClassName].
cg@2082
  1808
        Error handle:[:ex | ] do:[ startupSelector := definitionClass startupSelector].
cg@2082
  1809
        self startupClassNameHolder value:startupClassName.
cg@2082
  1810
        self startupSelectorHolder value:startupSelector.
cg@2082
  1811
cg@2666
  1812
        self iconFileNameHolder value:(definitionClass applicationIconFileName).
cg@2078
  1813
        self tabList value:(self class tabListForApplication).
cg@2121
  1814
        self documentExtensionsListStringHolder value:(definitionClass documentExtensions asStringWith:';').
cg@2078
  1815
    ] ifFalse:[
cg@2078
  1816
        self tabList value:(self class tabListForLibrary).
cg@2078
  1817
    ].
cg@2078
  1818
cg@2078
  1819
    self companyNameHolder value:(definitionClass companyName).
cg@2078
  1820
    self descriptionHolder value:(definitionClass description).
cg@2078
  1821
    self legalCopyrightHolder value:(definitionClass legalCopyright).
cg@2078
  1822
    self productNameHolder value:(definitionClass productName).
cg@2078
  1823
    self majorVersionNrHolder value:(definitionClass majorVersionNr asInteger).
cg@2078
  1824
    self minorVersionNrHolder value:(definitionClass minorVersionNr asInteger).
cg@2078
  1825
    self revisionNrHolder value:(definitionClass revisionNr asInteger).
cg@2078
  1826
    self releaseNrHolder value:(definitionClass releaseNr asInteger).
cg@2078
  1827
cg@2078
  1828
    self fileDescriptionHolder value:(definitionClass fileDescription).
cg@2078
  1829
    self fileMajorVersionNrHolder value:(definitionClass fileMajorVersionNr asInteger).
cg@2078
  1830
    self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger).
cg@2078
  1831
    self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger).
cg@2078
  1832
    self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger).
cg@2078
  1833
cg@2081
  1834
    self classListHolder value:(self fetchClassListEntries).
cg@2081
  1835
    self extensionsListHolder value:(self fetchExtensionsListEntries).
cg@2081
  1836
    self prerequisitesListHolder value:(self fetchPrerequisitesListEntries).
cg@2078
  1837
cg@2100
  1838
    self window notNil ifTrue:[
cg@2100
  1839
        self window
cg@2100
  1840
            label:(isApplicationDefinition
cg@2100
  1841
                    ifTrue:'Application'
cg@2100
  1842
                    ifFalse:'Library' )
cg@2100
  1843
                        , ' Definition: ',definitionClass name.
cg@2100
  1844
    ].
cg@2078
  1845
cg@2078
  1846
    "Created: / 04-09-2006 / 16:34:39 / cg"
cg@2121
  1847
    "Modified: / 15-10-2006 / 14:32:45 / cg"
cg@2082
  1848
!
cg@2082
  1849
cg@2082
  1850
refetchDefinitionValues
cg@2082
  1851
    self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ).
cg@2082
  1852
    self fetchValues.
cg@2082
  1853
cg@2082
  1854
    "Created: / 07-09-2006 / 12:26:54 / cg"
cg@2078
  1855
!
cg@2078
  1856
cg@2078
  1857
update:something with:parameter from:changedObject
cg@2078
  1858
    changedObject == self selectedTabIndexHolder ifTrue:[
cg@2121
  1859
        self updateMenuVisibility.
cg@2121
  1860
        ^ self.
cg@2121
  1861
    ].
cg@2121
  1862
    changedObject == self isNonGUIApplicationHolder ifTrue:[
cg@2121
  1863
        changedObject value ifTrue:[
cg@2121
  1864
            "/ a NON-GUI application - always has a console
cg@2121
  1865
            self shownHasConsoleHolder valueHolder:true
cg@2121
  1866
        ] ifFalse:[
cg@2121
  1867
            "/ a GUI application - sometimes has a console
cg@2121
  1868
            self shownHasConsoleHolder valueHolder:(self hasConsoleHolder)
cg@2121
  1869
        ].
cg@2121
  1870
        ^ self.
cg@2078
  1871
    ].
cg@2078
  1872
    ^ super update:something with:parameter from:changedObject
cg@2078
  1873
cg@2078
  1874
    "Created: / 03-09-2006 / 10:59:42 / cg"
cg@2121
  1875
    "Modified: / 15-10-2006 / 14:08:23 / cg"
cg@2078
  1876
!
cg@2078
  1877
cg@2078
  1878
updateMenuVisibility
cg@2078
  1879
    self classesMenuVisibleHolder value:(self hasClassesTabSelected).
cg@2078
  1880
    self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected).
cg@2078
  1881
    self prerequisitesMenuVisibleHolder value:(self hasPrerequisitesTabSelected).
cg@2078
  1882
cg@2078
  1883
    "Created: / 03-09-2006 / 11:01:48 / cg"
cg@2078
  1884
    "Modified: / 05-09-2006 / 13:27:10 / cg"
cg@2078
  1885
! !
cg@2078
  1886
cg@2078
  1887
!ProjectDefinitionEditor methodsFor:'initialization & release'!
cg@2078
  1888
cg@2078
  1889
closeRequest
cg@2078
  1890
    (self hasUnsavedChanges) ifTrue:[
cg@2100
  1891
	(self confirm:(resources string:'Close without saving ?')) ifFalse:[
cg@2100
  1892
	    ^ self
cg@2100
  1893
	]
cg@2078
  1894
    ].
cg@2078
  1895
cg@2078
  1896
    ^ super closeRequest
cg@2078
  1897
cg@2078
  1898
    "Modified: / 03-09-2006 / 10:53:14 / cg"
cg@2078
  1899
!
cg@2078
  1900
cg@2121
  1901
flagHolderBuilt:aComboBox
cg@2121
  1902
    aComboBox menuSelectAction:[:txt |
cg@2121
  1903
        self updateFlagsIn:aComboBox from:txt
cg@2121
  1904
    ].
cg@2121
  1905
cg@2121
  1906
    "Created: / 15-10-2006 / 15:11:50 / cg"
cg@2121
  1907
!
cg@2121
  1908
cg@2078
  1909
postBuildWith:aBuilder
cg@2078
  1910
    super postBuildWith:aBuilder.
cg@2078
  1911
    self selectedTabIndexHolder value:1.
cg@2078
  1912
    self updateMenuVisibility.
cg@2078
  1913
    self fetchValues.
cg@2078
  1914
cg@2078
  1915
    "Modified: / 04-09-2006 / 16:28:09 / cg"
cg@2078
  1916
!
cg@2078
  1917
cg@2078
  1918
postOpenWith:aBuilder
cg@2078
  1919
    "This is a hook method generated by the Browser.
cg@2078
  1920
     It will be invoked right after the applications window has been opened.
cg@2078
  1921
     Add any app-specific actions here (starting background processes etc.).
cg@2078
  1922
     See also #postBuildWith:, which is invoked before opening."
cg@2078
  1923
cg@2078
  1924
    "/ add any code here ...
cg@2078
  1925
cg@2078
  1926
    ^ super postOpenWith:aBuilder
cg@2078
  1927
! !
cg@2078
  1928
cg@2078
  1929
!ProjectDefinitionEditor methodsFor:'menu actions'!
cg@2078
  1930
cg@2121
  1931
editNew:definitionClass
cg@2121
  1932
    |className class newPackage|
cg@2121
  1933
cg@2121
  1934
    self hasUnsavedChanges ifTrue:[
cg@2121
  1935
        self halt.
cg@2121
  1936
    ].
cg@2121
  1937
    className := Dialog
cg@2121
  1938
                    requestClassName:'Name of new Definition class'
cg@2121
  1939
                    okLabel:'Create'
cg@2121
  1940
                    initialAnswer:'private_myProject'.
cg@2121
  1941
    className isEmptyOrNil ifTrue:[^ self].
cg@2121
  1942
cg@2121
  1943
    class := Smalltalk classNamed:className.
cg@2121
  1944
    class notNil ifTrue:[
cg@2121
  1945
        (class isLibraryDefinition == (definitionClass == LibraryDefinition)) ifFalse:[
cg@2121
  1946
            Dialog warn:(resources
cg@2121
  1947
                            string:'A class named "%1" already exists as %2.'
cg@2121
  1948
                            with:className allBold
cg@2121
  1949
                            with:(class isLibraryDefinition 
cg@2121
  1950
                                    ifTrue:'Library'
cg@2121
  1951
                                    ifFalse:'Application')).
cg@2121
  1952
            ^ self
cg@2121
  1953
        ].
cg@2121
  1954
        Dialog warn:(resources
cg@2121
  1955
                            string:'A class named "%1" already exists. Editing the existing definition.'
cg@2121
  1956
                            with:className allBold).
cg@2121
  1957
    ] ifFalse:[
cg@2121
  1958
        newPackage := className copy replaceAll:$_ with:$/.
cg@2121
  1959
        newPackage replaceAll:$/ with:$:. 
cg@2121
  1960
        class := definitionClass newNamed:className package:newPackage.
cg@2121
  1961
    ].
cg@2121
  1962
    self definitionClass:class.
cg@2121
  1963
cg@2121
  1964
    "Created: / 15-10-2006 / 14:50:15 / cg"
cg@2121
  1965
!
cg@2121
  1966
cg@2082
  1967
menuGenerateProjectDefinitions
cg@2082
  1968
    |action|
cg@2080
  1969
cg@2082
  1970
    action := [:generator :defClass |
cg@2100
  1971
		    defClass theNonMetaclass
cg@2100
  1972
			forEachMethodsCodeToCompileDo:
cg@2100
  1973
			    [:code :category |
cg@2100
  1974
				generator
cg@2100
  1975
				    compile:code
cg@2100
  1976
				    forClass:defClass theMetaclass
cg@2100
  1977
				    inCategory:category.
cg@2100
  1978
			    ]
cg@2100
  1979
			ignoreOldDefinition:true
cg@2100
  1980
	       ].
cg@2080
  1981
cg@2082
  1982
    masterApplication notNil ifTrue:[
cg@2100
  1983
	masterApplication
cg@2100
  1984
	    generateUndoableChange:'Generate Project Definitions'
cg@2100
  1985
	    overClasses:(Array with:self definitionClass)
cg@2100
  1986
	    via:action.
cg@2082
  1987
    ] ifFalse:[
cg@2100
  1988
	action value:Compiler value:self definitionClass
cg@2082
  1989
    ].
cg@2082
  1990
cg@2082
  1991
    self refetchDefinitionValues
cg@2082
  1992
cg@2082
  1993
    "Created: / 07-09-2006 / 12:26:22 / cg"
cg@2080
  1994
!
cg@2080
  1995
cg@2078
  1996
menuNew
cg@2078
  1997
    "This method was generated by the Browser.
cg@2078
  1998
     It will be invoked when the menu-item 'new' is selected."
cg@2078
  1999
cg@2078
  2000
    "/ change below and add any actions as required here ...
cg@2078
  2001
    self warn:'no action for ''new'' available.'.
cg@2078
  2002
!
cg@2078
  2003
cg@2121
  2004
menuNewApplicationDefinition
cg@2121
  2005
    self editNew:ApplicationDefinition
cg@2121
  2006
cg@2121
  2007
    "Created: / 15-10-2006 / 14:49:53 / cg"
cg@2121
  2008
!
cg@2121
  2009
cg@2121
  2010
menuNewLibraryDefinition
cg@2121
  2011
    self editNew:LibraryDefinition
cg@2121
  2012
cg@2121
  2013
    "Created: / 15-10-2006 / 14:49:46 / cg"
cg@2121
  2014
!
cg@2121
  2015
cg@2078
  2016
menuOpen
cg@2081
  2017
    |projectID class answer|
cg@2078
  2018
cg@2081
  2019
    projectID := Dialog requestProject:'Project' initialAnswer:'' suggestions:nil.
cg@2081
  2020
    class := ProjectDefinition definitionClassForPackage:projectID.
cg@2081
  2021
    class isNil ifTrue:[
cg@2100
  2022
	answer := Dialog
cg@2100
  2023
	    confirmWithCancel:(resources string:'No Projectdefinition class exists for "%1".\\Create ?' with:projectID allBold)
cg@2100
  2024
	    labels:(resources array:#('Cancel' 'Create Library' 'Create Application' ))
cg@2100
  2025
	    values:#(nil LibraryDefinition ApplicationDefinition)
cg@2100
  2026
	    default:2
cg@2100
  2027
	    boxLabel:(resources string:'Create Projectdefinition').
cg@2100
  2028
	answer isNil ifTrue:[^ self].
cg@2081
  2029
    ].
cg@2081
  2030
    answer == #LibraryDefinition ifTrue:[
cg@2100
  2031
	class := LibraryDefinition definitionClassForPackage:projectID createIfAbsent:true
cg@2081
  2032
    ] ifFalse:[
cg@2100
  2033
	class := ApplicationDefinition definitionClassForPackage:projectID createIfAbsent:true
cg@2081
  2034
    ].
cg@2081
  2035
    self definitionClass:class.
cg@2081
  2036
cg@2081
  2037
    "Modified: / 07-09-2006 / 12:19:58 / cg"
cg@2078
  2038
!
cg@2078
  2039
cg@2080
  2040
menuRemoveClass
cg@2080
  2041
    |classListHolder|
cg@2080
  2042
cg@2081
  2043
    classListHolder := self classListHolder.
cg@2080
  2044
    classListHolder value removeIndex:(self selectedClassIndexHolder value).
cg@2080
  2045
    classListHolder changed.
cg@2080
  2046
cg@2080
  2047
    "Created: / 06-09-2006 / 21:31:05 / cg"
cg@2081
  2048
    "Modified: / 07-09-2006 / 11:35:44 / cg"
cg@2080
  2049
!
cg@2080
  2050
cg@2078
  2051
menuSave
cg@2078
  2052
    self menuSaveAs:definitionClass name
cg@2078
  2053
cg@2078
  2054
    "Modified: / 05-09-2006 / 13:48:27 / cg"
cg@2078
  2055
!
cg@2078
  2056
cg@2078
  2057
menuSaveAs
cg@2078
  2058
    |className class newPackage|
cg@2078
  2059
cg@2100
  2060
    className := Dialog
cg@2121
  2061
                    requestClassName:'Name of new Definition class'
cg@2121
  2062
                    okLabel:'Create'
cg@2121
  2063
                    initialAnswer:'private_myProject'.
cg@2078
  2064
    className isEmptyOrNil ifTrue:[^ self].
cg@2078
  2065
    class := Smalltalk classNamed:className.
cg@2078
  2066
    class notNil ifTrue:[
cg@2121
  2067
        Dialog warn:(resources
cg@2121
  2068
                            string:'A class named %1 already exists'
cg@2121
  2069
                            with:className).
cg@2121
  2070
        ^ self.
cg@2078
  2071
    ].
cg@2078
  2072
    newPackage := className copy replaceAll:$_ with:$/.
cg@2121
  2073
    newPackage replaceAll:$/ with:$:. 
cg@2078
  2074
    class := ApplicationDefinition newNamed:className package:newPackage.
cg@2078
  2075
    self menuSaveAs:class.
cg@2078
  2076
cg@2121
  2077
    "Modified: / 15-10-2006 / 14:47:53 / cg"
cg@2078
  2078
!
cg@2078
  2079
cg@2078
  2080
menuSaveAs:aClassName
cg@2078
  2081
    self halt.
cg@2078
  2082
cg@2078
  2083
    "Created: / 05-09-2006 / 13:48:03 / cg"
cg@2078
  2084
!
cg@2078
  2085
cg@2078
  2086
openAboutThisApplication
cg@2078
  2087
    "This method was generated by the Browser.
cg@2078
  2088
     It will be invoked when the menu-item 'help-about' is selected."
cg@2078
  2089
cg@2078
  2090
    "/ could open a customized aboutBox here ...
cg@2078
  2091
    super openAboutThisApplication
cg@2078
  2092
!
cg@2078
  2093
cg@2078
  2094
openDocumentation
cg@2078
  2095
    "This method was generated by the Browser.
cg@2078
  2096
     It will be invoked when the menu-item 'help-documentation' is selected."
cg@2078
  2097
cg@2078
  2098
    "/ change below as required ...
cg@2078
  2099
cg@2078
  2100
    "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
cg@2078
  2101
    HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
cg@2078
  2102
cg@2078
  2103
    "/ add application-specific help files under the 'doc/online/<language>/help/appName'
cg@2078
  2104
    "/ directory, and open a viewer with:
cg@2078
  2105
    "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
cg@2121
  2106
!
cg@2121
  2107
cg@2121
  2108
updateFlagsIn:aComboBox from:flag
cg@2121
  2109
    |s flags base negation|
cg@2121
  2110
cg@2121
  2111
    s := aComboBox editor contents.
cg@2121
  2112
    flags := s asCollectionOfWords.
cg@2121
  2113
    (flags includes:flag) ifFalse:[
cg@2121
  2114
        base := (flag copyFrom:2).
cg@2121
  2115
        negation := (flag startsWith:'+') 
cg@2121
  2116
                        ifTrue:[ ('-',base) ]
cg@2121
  2117
                        ifFalse:[ ('+',base) ].
cg@2121
  2118
        flags remove:negation ifAbsent:[].
cg@2121
  2119
        flags add:flag.
cg@2121
  2120
        aComboBox editor contents:(flags asStringWith:' ').
cg@2121
  2121
    ].
cg@2121
  2122
cg@2121
  2123
    "Created: / 15-10-2006 / 15:35:53 / cg"
cg@2078
  2124
! !
cg@2078
  2125
cg@2078
  2126
!ProjectDefinitionEditor methodsFor:'queries'!
cg@2078
  2127
cg@2078
  2128
hasClassesTabSelected
cg@2080
  2129
    ^ self selectedTabIndex == 2
cg@2078
  2130
cg@2078
  2131
    "Created: / 03-09-2006 / 11:00:39 / cg"
cg@2080
  2132
    "Modified: / 06-09-2006 / 21:20:21 / cg"
cg@2078
  2133
!
cg@2078
  2134
cg@2078
  2135
hasExtensionsTabSelected
cg@2080
  2136
    ^ self selectedTabIndex == 3
cg@2078
  2137
cg@2078
  2138
    "Created: / 05-09-2006 / 13:02:26 / cg"
cg@2080
  2139
    "Modified: / 06-09-2006 / 21:20:25 / cg"
cg@2078
  2140
!
cg@2078
  2141
cg@2078
  2142
hasPrerequisitesTabSelected
cg@2080
  2143
    ^ self selectedTabIndex == 4
cg@2078
  2144
cg@2078
  2145
    "Created: / 05-09-2006 / 13:27:16 / cg"
cg@2080
  2146
    "Modified: / 06-09-2006 / 21:20:33 / cg"
cg@2078
  2147
!
cg@2078
  2148
cg@2078
  2149
hasUnsavedChanges
cg@2078
  2150
     ^ false
cg@2078
  2151
cg@2078
  2152
    "Created: / 03-09-2006 / 10:53:05 / cg"
cg@2078
  2153
!
cg@2078
  2154
cg@2080
  2155
selectedClass
cg@2080
  2156
    |item|
cg@2080
  2157
cg@2081
  2158
    item := self classListHolder value at:(self selectedClassIndexHolder value).
cg@2080
  2159
self halt.
cg@2080
  2160
cg@2080
  2161
    "Created: / 06-09-2006 / 21:32:20 / cg"
cg@2081
  2162
    "Modified: / 07-09-2006 / 11:35:48 / cg"
cg@2080
  2163
!
cg@2080
  2164
cg@2078
  2165
selectedTabIndex
cg@2078
  2166
    ^ self selectedTabIndexHolder value
cg@2078
  2167
cg@2078
  2168
    "Created: / 03-09-2006 / 11:00:48 / cg"
cg@2078
  2169
! !
cg@2078
  2170
cg@2078
  2171
!ProjectDefinitionEditor::ClassListEntry methodsFor:'accessing'!
cg@2078
  2172
cg@2078
  2173
autoloaded
cg@2078
  2174
    ^ autoloaded
cg@2078
  2175
!
cg@2078
  2176
cg@2146
  2177
autoloaded:aBoolean
cg@2146
  2178
    autoloaded := aBoolean.
cg@2146
  2179
cg@2146
  2180
    "Modified: / 21-11-2006 / 18:05:26 / cg"
cg@2078
  2181
!
cg@2078
  2182
cg@2078
  2183
className
cg@2078
  2184
    ^ className
cg@2078
  2185
!
cg@2078
  2186
cg@2078
  2187
className:something
cg@2078
  2188
    className := something.
cg@2078
  2189
!
cg@2078
  2190
cg@2100
  2191
className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg
cg@2078
  2192
    className := classNameArg.
cg@2078
  2193
    autoloaded := autoloadedArg.
cg@2078
  2194
    win32 := win32Arg.
cg@2078
  2195
    unix := unixArg.
cg@2078
  2196
!
cg@2078
  2197
cg@2078
  2198
unix
cg@2078
  2199
    ^ unix
cg@2078
  2200
!
cg@2078
  2201
cg@2146
  2202
unix:aBoolean
cg@2146
  2203
    unix := aBoolean.
cg@2146
  2204
cg@2146
  2205
    "Modified: / 21-11-2006 / 18:05:32 / cg"
cg@2078
  2206
!
cg@2078
  2207
cg@2078
  2208
win32
cg@2078
  2209
    ^ win32
cg@2078
  2210
!
cg@2078
  2211
cg@2146
  2212
win32:aBoolean
cg@2146
  2213
    win32 := aBoolean.
cg@2146
  2214
cg@2146
  2215
    "Modified: / 21-11-2006 / 18:05:35 / cg"
cg@2078
  2216
! !
cg@2078
  2217
cg@2079
  2218
!ProjectDefinitionEditor::ExtensionsListEntry methodsFor:'accessing'!
cg@2079
  2219
cg@2079
  2220
className
cg@2079
  2221
    ^ className
cg@2079
  2222
!
cg@2079
  2223
cg@2100
  2224
className:classNameArg selector:selectorArg
cg@2079
  2225
    className := classNameArg.
cg@2079
  2226
    selector := selectorArg.
cg@2079
  2227
!
cg@2079
  2228
cg@2079
  2229
selector
cg@2079
  2230
    ^ selector
cg@2079
  2231
! !
cg@2079
  2232
cg@2081
  2233
!ProjectDefinitionEditor::PrerequisitesListEntry methodsFor:'accessing'!
cg@2081
  2234
cg@2081
  2235
package
cg@2081
  2236
    ^ package
cg@2081
  2237
cg@2081
  2238
    "Created: / 07-09-2006 / 12:23:17 / cg"
cg@2081
  2239
!
cg@2081
  2240
cg@2081
  2241
package:something
cg@2081
  2242
    package := something.
cg@2081
  2243
cg@2081
  2244
    "Created: / 07-09-2006 / 12:23:19 / cg"
cg@2081
  2245
! !
cg@2081
  2246
cg@2078
  2247
!ProjectDefinitionEditor class methodsFor:'documentation'!
cg@2078
  2248
cg@2078
  2249
version
cg@2078
  2250
    ^ '$Header$'
cg@2666
  2251
!
cg@2666
  2252
cg@2666
  2253
version_CVS
cg@2666
  2254
    ^ '$Header$'
cg@2078
  2255
! !