Tools__ProjectDefinitionEditor.st
author Claus Gittinger <cg@exept.de>
Wed, 29 Jul 2009 20:02:02 +0200
changeset 2570 4e663bc64364
parent 2146 a5ce8e00652f
child 2666 316855d0ca7d
permissions -rw-r--r--
changed #requestPackage
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
cg@2100
   291
	name: descriptionSpec
cg@2100
   292
	window:
cg@2078
   293
       (WindowSpec
cg@2100
   294
	  label: 'NewApplication'
cg@2100
   295
	  name: 'NewApplication'
cg@2100
   296
	  min: (Point 0 0)
cg@2100
   297
	  bounds: (Rectangle 0 0 433 300)
cg@2100
   298
	)
cg@2100
   299
	component:
cg@2078
   300
       (SpecCollection
cg@2100
   301
	  collection: (
cg@2100
   302
	   (LabelSpec
cg@2100
   303
	      label: 'Company:'
cg@2100
   304
	      name: 'CompanyLabel'
cg@2100
   305
	      layout: (LayoutFrame 2 0.0 13 0 160 0 35 0)
cg@2100
   306
	      translateLabel: true
cg@2100
   307
	      adjust: right
cg@2100
   308
	    )
cg@2100
   309
	   (InputFieldSpec
cg@2100
   310
	      name: 'CompanyEntryField'
cg@2100
   311
	      layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0)
cg@2100
   312
	      model: companyNameHolder
cg@2100
   313
	      acceptOnReturn: true
cg@2100
   314
	      acceptOnTab: true
cg@2100
   315
	      acceptOnLostFocus: true
cg@2100
   316
	      acceptOnPointerLeave: false
cg@2100
   317
	    )
cg@2100
   318
	   (LabelSpec
cg@2100
   319
	      label: 'Description:'
cg@2100
   320
	      name: 'DescriptionLabel'
cg@2100
   321
	      layout: (LayoutFrame 2 0.0 39 0 160 0 61 0)
cg@2100
   322
	      translateLabel: true
cg@2100
   323
	      adjust: right
cg@2100
   324
	    )
cg@2100
   325
	   (InputFieldSpec
cg@2100
   326
	      name: 'DescriptionEntryField'
cg@2100
   327
	      layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0)
cg@2100
   328
	      model: descriptionHolder
cg@2100
   329
	      acceptOnReturn: true
cg@2100
   330
	      acceptOnTab: true
cg@2100
   331
	      acceptOnLostFocus: true
cg@2100
   332
	      acceptOnPointerLeave: false
cg@2100
   333
	    )
cg@2100
   334
	   (LabelSpec
cg@2100
   335
	      label: 'ProductName:'
cg@2100
   336
	      name: 'ProductNameLabel'
cg@2100
   337
	      layout: (LayoutFrame 2 0.0 65 0 160 0 87 0)
cg@2100
   338
	      translateLabel: true
cg@2100
   339
	      adjust: right
cg@2100
   340
	    )
cg@2100
   341
	   (InputFieldSpec
cg@2100
   342
	      name: 'ProductNameEntryField'
cg@2100
   343
	      layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0)
cg@2100
   344
	      model: productNameHolder
cg@2100
   345
	      acceptOnReturn: true
cg@2100
   346
	      acceptOnTab: true
cg@2100
   347
	      acceptOnLostFocus: true
cg@2100
   348
	      acceptOnPointerLeave: false
cg@2100
   349
	    )
cg@2100
   350
	   (LabelSpec
cg@2100
   351
	      label: 'ProductVersion:'
cg@2100
   352
	      name: 'ProductVersionLabel'
cg@2100
   353
	      layout: (LayoutFrame 2 0.0 91 0 160 0 113 0)
cg@2100
   354
	      translateLabel: true
cg@2100
   355
	      adjust: right
cg@2100
   356
	    )
cg@2100
   357
	   (InputFieldSpec
cg@2100
   358
	      name: 'MajorVersionNrEntryField'
cg@2100
   359
	      layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0)
cg@2100
   360
	      model: majorVersionNrHolder
cg@2100
   361
	      type: number
cg@2100
   362
	      acceptOnReturn: true
cg@2100
   363
	      acceptOnTab: true
cg@2100
   364
	      acceptOnLostFocus: true
cg@2100
   365
	      acceptOnPointerLeave: false
cg@2100
   366
	    )
cg@2100
   367
	   (InputFieldSpec
cg@2100
   368
	      name: 'MinorVersionNrEntryField'
cg@2100
   369
	      layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0)
cg@2100
   370
	      model: minorVersionNrHolder
cg@2100
   371
	      type: numberOrNil
cg@2100
   372
	      acceptOnReturn: true
cg@2100
   373
	      acceptOnTab: true
cg@2100
   374
	      acceptOnLostFocus: true
cg@2100
   375
	      acceptOnPointerLeave: false
cg@2100
   376
	    )
cg@2100
   377
	   (InputFieldSpec
cg@2100
   378
	      name: 'RevisionNrEntryField'
cg@2100
   379
	      layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0)
cg@2100
   380
	      model: revisionNrHolder
cg@2100
   381
	      type: number
cg@2100
   382
	      acceptOnReturn: true
cg@2100
   383
	      acceptOnTab: true
cg@2100
   384
	      acceptOnLostFocus: true
cg@2100
   385
	      acceptOnPointerLeave: false
cg@2100
   386
	    )
cg@2100
   387
	   (InputFieldSpec
cg@2100
   388
	      name: 'ReleaseNrEntryField'
cg@2100
   389
	      layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0)
cg@2100
   390
	      model: releaseNrHolder
cg@2100
   391
	      type: number
cg@2100
   392
	      acceptOnReturn: true
cg@2100
   393
	      acceptOnTab: true
cg@2100
   394
	      acceptOnLostFocus: true
cg@2100
   395
	      acceptOnPointerLeave: false
cg@2100
   396
	    )
cg@2100
   397
	   (LabelSpec
cg@2100
   398
	      label: 'LegalCopyright:'
cg@2100
   399
	      name: 'LegalCopyrightLabel'
cg@2100
   400
	      layout: (LayoutFrame 2 0.0 119 0 160 0 141 0)
cg@2100
   401
	      translateLabel: true
cg@2100
   402
	      adjust: right
cg@2100
   403
	    )
cg@2100
   404
	   (InputFieldSpec
cg@2100
   405
	      name: 'LegalCopyrightEntryField'
cg@2100
   406
	      layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0)
cg@2100
   407
	      model: legalCopyrightHolder
cg@2100
   408
	      acceptOnReturn: true
cg@2100
   409
	      acceptOnTab: true
cg@2100
   410
	      acceptOnLostFocus: true
cg@2100
   411
	      acceptOnPointerLeave: false
cg@2100
   412
	    )
cg@2100
   413
	   (LabelSpec
cg@2100
   414
	      label: 'FileDescriptionDescription:'
cg@2100
   415
	      name: 'FileDescriptionLabel'
cg@2100
   416
	      layout: (LayoutFrame 2 0.0 161 0 160 0 183 0)
cg@2100
   417
	      translateLabel: true
cg@2100
   418
	      adjust: right
cg@2100
   419
	    )
cg@2100
   420
	   (InputFieldSpec
cg@2100
   421
	      name: 'FileDescriptionEntryField'
cg@2100
   422
	      layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0)
cg@2100
   423
	      model: fileDescriptionHolder
cg@2100
   424
	      acceptOnReturn: true
cg@2100
   425
	      acceptOnTab: true
cg@2100
   426
	      acceptOnLostFocus: true
cg@2100
   427
	      acceptOnPointerLeave: false
cg@2100
   428
	    )
cg@2100
   429
	   (LabelSpec
cg@2100
   430
	      label: 'FileVersion:'
cg@2100
   431
	      name: 'FileVersionLabel'
cg@2100
   432
	      layout: (LayoutFrame 2 0.0 187 0 160 0 209 0)
cg@2100
   433
	      translateLabel: true
cg@2100
   434
	      adjust: right
cg@2100
   435
	    )
cg@2100
   436
	   (InputFieldSpec
cg@2100
   437
	      name: 'FileMajorVersionNrEntryField'
cg@2100
   438
	      layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0)
cg@2100
   439
	      model: fileMajorVersionNrHolder
cg@2100
   440
	      type: number
cg@2100
   441
	      acceptOnReturn: true
cg@2100
   442
	      acceptOnTab: true
cg@2100
   443
	      acceptOnLostFocus: true
cg@2100
   444
	      acceptOnPointerLeave: false
cg@2100
   445
	    )
cg@2100
   446
	   (InputFieldSpec
cg@2100
   447
	      name: 'FileMinorVersionNrEntryField'
cg@2100
   448
	      layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0)
cg@2100
   449
	      model: fileMinorVersionNrHolder
cg@2100
   450
	      type: number
cg@2100
   451
	      acceptOnReturn: true
cg@2100
   452
	      acceptOnTab: true
cg@2100
   453
	      acceptOnLostFocus: true
cg@2100
   454
	      acceptOnPointerLeave: false
cg@2100
   455
	    )
cg@2100
   456
	   (InputFieldSpec
cg@2100
   457
	      name: 'FileRevisionNrEntryField'
cg@2100
   458
	      layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0)
cg@2100
   459
	      model: fileRevisionNrHolder
cg@2100
   460
	      type: number
cg@2100
   461
	      acceptOnReturn: true
cg@2100
   462
	      acceptOnTab: true
cg@2100
   463
	      acceptOnLostFocus: true
cg@2100
   464
	      acceptOnPointerLeave: false
cg@2100
   465
	    )
cg@2100
   466
	   (InputFieldSpec
cg@2100
   467
	      name: 'FileReleaseNrEntryField'
cg@2100
   468
	      layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0)
cg@2100
   469
	      model: fileReleaseNrHolder
cg@2100
   470
	      type: number
cg@2100
   471
	      acceptOnReturn: true
cg@2100
   472
	      acceptOnTab: true
cg@2100
   473
	      acceptOnLostFocus: true
cg@2100
   474
	      acceptOnPointerLeave: false
cg@2100
   475
	    )
cg@2100
   476
	   (LabelSpec
cg@2100
   477
	      label: 'Icon Filename:'
cg@2100
   478
	      name: 'IconFileNameLabel'
cg@2100
   479
	      layout: (LayoutFrame 2 0.0 236 0 160 0 258 0)
cg@2100
   480
	      visibilityChannel: isApplicationDefinitionHolder
cg@2100
   481
	      translateLabel: true
cg@2100
   482
	      adjust: right
cg@2100
   483
	    )
cg@2100
   484
	   (InputFieldSpec
cg@2100
   485
	      name: 'IconFileNameEntryField'
cg@2100
   486
	      layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0)
cg@2100
   487
	      visibilityChannel: isApplicationDefinitionHolder
cg@2100
   488
	      model: iconFilenameHolder
cg@2100
   489
	      acceptOnReturn: true
cg@2100
   490
	      acceptOnTab: true
cg@2100
   491
	      acceptOnLostFocus: true
cg@2100
   492
	      acceptOnPointerLeave: false
cg@2100
   493
	    )
cg@2100
   494
	   )
cg@2100
   495
cg@2100
   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@2121
  1080
            label: '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
iconFilenameHolder
cg@2078
  1451
    "automatically generated by UIPainter ..."
cg@2078
  1452
cg@2078
  1453
    "*** the code below creates a default model when invoked."
cg@2078
  1454
    "*** (which may not be the one you wanted)"
cg@2078
  1455
    "*** Please change as required and accept it in the browser."
cg@2078
  1456
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1457
cg@2078
  1458
    iconFilenameHolder isNil ifTrue:[
cg@2100
  1459
	iconFilenameHolder := ValueHolder new.
cg@2078
  1460
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1461
"/       iconFilenameHolder addDependent:self.
cg@2078
  1462
"/       iconFilenameHolder onChangeSend:#iconFilenameHolderChanged to:self.
cg@2078
  1463
    ].
cg@2078
  1464
    ^ iconFilenameHolder.
cg@2078
  1465
!
cg@2078
  1466
cg@2078
  1467
isApplicationDefinitionHolder
cg@2078
  1468
    isApplicationDefinitionHolder isNil ifTrue:[
cg@2100
  1469
	isApplicationDefinitionHolder := false asValue
cg@2078
  1470
    ].
cg@2078
  1471
    ^ isApplicationDefinitionHolder.
cg@2078
  1472
cg@2078
  1473
    "Created: / 04-09-2006 / 19:22:47 / cg"
cg@2078
  1474
!
cg@2078
  1475
cg@2100
  1476
isGUIApplicationHolder
cg@2100
  1477
    ^ BlockValue forLogicalNot:self isNonGUIApplicationHolder
cg@2100
  1478
cg@2100
  1479
    "Created: / 20-09-2006 / 14:38:32 / cg"
cg@2100
  1480
!
cg@2100
  1481
cg@2078
  1482
isNonGUIApplicationHolder
cg@2078
  1483
    isNonGUIApplicationHolder isNil ifTrue:[
cg@2121
  1484
        isNonGUIApplicationHolder := false asValue.
cg@2121
  1485
        isNonGUIApplicationHolder addDependent:self.
cg@2078
  1486
    ].
cg@2078
  1487
    ^ isNonGUIApplicationHolder.
cg@2078
  1488
cg@2078
  1489
    "Created: / 05-09-2006 / 13:34:31 / cg"
cg@2121
  1490
    "Modified: / 15-10-2006 / 14:00:03 / cg"
cg@2078
  1491
!
cg@2078
  1492
cg@2078
  1493
legalCopyrightHolder
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
    legalCopyrightHolder isNil ifTrue:[
cg@2100
  1502
	legalCopyrightHolder := ValueHolder new.
cg@2078
  1503
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1504
"/       legalCopyrightHolder addDependent:self.
cg@2078
  1505
"/       legalCopyrightHolder onChangeSend:#legalCopyrightHolderChanged to:self.
cg@2078
  1506
    ].
cg@2078
  1507
    ^ legalCopyrightHolder.
cg@2078
  1508
!
cg@2078
  1509
cg@2078
  1510
majorVersionNrHolder
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
    majorVersionNrHolder isNil ifTrue:[
cg@2100
  1519
	majorVersionNrHolder := ValueHolder new.
cg@2078
  1520
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1521
"/       majorVersionNrHolder addDependent:self.
cg@2078
  1522
"/       majorVersionNrHolder onChangeSend:#majorVersionNrHolderChanged to:self.
cg@2078
  1523
    ].
cg@2078
  1524
    ^ majorVersionNrHolder.
cg@2078
  1525
!
cg@2078
  1526
cg@2078
  1527
minorVersionNrHolder
cg@2078
  1528
    "automatically generated by UIPainter ..."
cg@2078
  1529
cg@2078
  1530
    "*** the code below creates a default model when invoked."
cg@2078
  1531
    "*** (which may not be the one you wanted)"
cg@2078
  1532
    "*** Please change as required and accept it in the browser."
cg@2078
  1533
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1534
cg@2078
  1535
    minorVersionNrHolder isNil ifTrue:[
cg@2100
  1536
	minorVersionNrHolder := ValueHolder new.
cg@2078
  1537
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1538
"/       minorVersionNrHolder addDependent:self.
cg@2078
  1539
"/       minorVersionNrHolder onChangeSend:#minorVersionNrHolderChanged to:self.
cg@2078
  1540
    ].
cg@2078
  1541
    ^ minorVersionNrHolder.
cg@2078
  1542
!
cg@2078
  1543
cg@2081
  1544
prerequisitesListHolder
cg@2081
  1545
    prerequisitesListHolder isNil ifTrue:[
cg@2100
  1546
	prerequisitesListHolder := #() asValue.
cg@2081
  1547
    ].
cg@2081
  1548
    ^ prerequisitesListHolder.
cg@2081
  1549
cg@2081
  1550
    "Created: / 07-09-2006 / 11:35:03 / cg"
cg@2081
  1551
!
cg@2081
  1552
cg@2078
  1553
productNameHolder
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
    productNameHolder isNil ifTrue:[
cg@2100
  1562
	productNameHolder := ValueHolder new.
cg@2078
  1563
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1564
"/       productNameHolder addDependent:self.
cg@2078
  1565
"/       productNameHolder onChangeSend:#productNameHolderChanged to:self.
cg@2078
  1566
    ].
cg@2078
  1567
    ^ productNameHolder.
cg@2078
  1568
!
cg@2078
  1569
cg@2078
  1570
releaseNrHolder
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
    releaseNrHolder isNil ifTrue:[
cg@2100
  1579
	releaseNrHolder := ValueHolder new.
cg@2078
  1580
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1581
"/       releaseNrHolder addDependent:self.
cg@2078
  1582
"/       releaseNrHolder onChangeSend:#releaseNrHolderChanged to:self.
cg@2078
  1583
    ].
cg@2078
  1584
    ^ releaseNrHolder.
cg@2078
  1585
!
cg@2078
  1586
cg@2078
  1587
revisionNrHolder
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
    revisionNrHolder isNil ifTrue:[
cg@2100
  1596
	revisionNrHolder := ValueHolder new.
cg@2078
  1597
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1598
"/       revisionNrHolder addDependent:self.
cg@2078
  1599
"/       revisionNrHolder onChangeSend:#revisionNrHolderChanged to:self.
cg@2078
  1600
    ].
cg@2078
  1601
    ^ revisionNrHolder.
cg@2078
  1602
!
cg@2078
  1603
cg@2078
  1604
selectedClassIndexHolder
cg@2078
  1605
    "automatically generated by UIPainter ..."
cg@2078
  1606
cg@2078
  1607
    "*** the code below creates a default model when invoked."
cg@2078
  1608
    "*** (which may not be the one you wanted)"
cg@2078
  1609
    "*** Please change as required and accept it in the browser."
cg@2078
  1610
    "*** (and replace this comment by something more useful ;-)"
cg@2078
  1611
cg@2078
  1612
    selectedClassIndexHolder isNil ifTrue:[
cg@2100
  1613
	selectedClassIndexHolder := ValueHolder new.
cg@2078
  1614
"/ if your app needs to be notified of changes, uncomment one of the lines below:
cg@2078
  1615
"/       selectedClassIndexHolder addDependent:self.
cg@2078
  1616
"/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
cg@2078
  1617
    ].
cg@2078
  1618
    ^ selectedClassIndexHolder.
cg@2078
  1619
!
cg@2078
  1620
cg@2121
  1621
shownHasConsoleHolder
cg@2121
  1622
    shownHasConsoleHolder isNil ifTrue:[
cg@2121
  1623
        shownHasConsoleHolder := IndirectValue for:self hasConsoleHolder.
cg@2121
  1624
    ].
cg@2121
  1625
    ^ shownHasConsoleHolder
cg@2121
  1626
cg@2121
  1627
    "Created: / 15-10-2006 / 13:59:01 / cg"
cg@2121
  1628
!
cg@2121
  1629
cg@2121
  1630
shownHasConsoleValue
cg@2121
  1631
    ^ BlockValue 
cg@2121
  1632
        with:[:m1 :m2 | self isGUIApplicationHolder value not
cg@2121
  1633
                        or:[ self hasConsoleHolder value] ]
cg@2121
  1634
        argument:(self hasConsoleHolder)
cg@2121
  1635
        argument:(self isGUIApplicationHolder).
cg@2121
  1636
cg@2121
  1637
    "Created: / 15-10-2006 / 13:54:16 / cg"
cg@2121
  1638
!
cg@2121
  1639
cg@2078
  1640
startSinglethreadedHolder
cg@2078
  1641
    startSinglethreadedHolder isNil ifTrue:[
cg@2100
  1642
	startSinglethreadedHolder := false asValue.
cg@2078
  1643
    ].
cg@2078
  1644
    ^ startSinglethreadedHolder.
cg@2078
  1645
cg@2078
  1646
    "Created: / 05-09-2006 / 13:34:54 / cg"
cg@2078
  1647
!
cg@2078
  1648
cg@2079
  1649
startupClassNameHolder
cg@2079
  1650
    startupClassNameHolder isNil ifTrue:[
cg@2100
  1651
	startupClassNameHolder := '' asValue.
cg@2078
  1652
    ].
cg@2079
  1653
    ^ startupClassNameHolder.
cg@2078
  1654
cg@2079
  1655
    "Created: / 06-09-2006 / 18:41:52 / cg"
cg@2078
  1656
!
cg@2078
  1657
cg@2078
  1658
startupSelectorHolder
cg@2078
  1659
    startupSelectorHolder isNil ifTrue:[
cg@2100
  1660
	startupSelectorHolder := '' asValue.
cg@2078
  1661
    ].
cg@2078
  1662
    ^ startupSelectorHolder.
cg@2078
  1663
cg@2078
  1664
    "Created: / 05-09-2006 / 13:34:20 / cg"
cg@2078
  1665
!
cg@2078
  1666
cg@2121
  1667
stcOptimizationFlagList
cg@2121
  1668
    ^ #(
cg@2121
  1669
        '+optSpace'
cg@2121
  1670
        '+optSpace2'
cg@2121
  1671
        '+optSpace3'
cg@2121
  1672
        '+optInline'
cg@2121
  1673
        '-optInline'
cg@2121
  1674
        '-inlineNew'
cg@2121
  1675
        '-inlineNot'
cg@2121
  1676
    )
cg@2121
  1677
cg@2121
  1678
    "Created: / 15-10-2006 / 15:14:29 / cg"
cg@2121
  1679
!
cg@2121
  1680
cg@2121
  1681
stcOptimizationFlagsHolder
cg@2121
  1682
    stcOptimizationFlagsHolder isNil ifTrue:[
cg@2121
  1683
        stcOptimizationFlagsHolder := ValueHolder new.
cg@2121
  1684
    ].
cg@2121
  1685
    ^ stcOptimizationFlagsHolder
cg@2121
  1686
cg@2121
  1687
    "Modified: / 15-10-2006 / 15:13:10 / cg"
cg@2121
  1688
!
cg@2121
  1689
cg@2078
  1690
tabList
cg@2078
  1691
    "Generated by the TabListEditor"
cg@2078
  1692
cg@2078
  1693
    |list|
cg@2078
  1694
cg@2078
  1695
    (list := builder bindingAt:#tabList) isNil ifTrue:[
cg@2100
  1696
	builder aspectAt:#tabList put:(list := self class tabListForApplication asValue).
cg@2078
  1697
    ].
cg@2078
  1698
    ^ list
cg@2078
  1699
cg@2079
  1700
    "Modified: / 06-09-2006 / 17:58:08 / cg"
cg@2078
  1701
! !
cg@2078
  1702
cg@2078
  1703
!ProjectDefinitionEditor methodsFor:'aspects-menu'!
cg@2078
  1704
cg@2078
  1705
classesMenuVisibleHolder
cg@2078
  1706
    ^ builder booleanValueAspectFor:#'classesMenuVisibleHolder'
cg@2078
  1707
cg@2078
  1708
    "Modified: / 03-09-2006 / 10:57:00 / cg"
cg@2078
  1709
!
cg@2078
  1710
cg@2078
  1711
extensionsMenuVisibleHolder
cg@2078
  1712
    ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder'
cg@2078
  1713
cg@2078
  1714
    "Created: / 05-09-2006 / 13:03:16 / cg"
cg@2078
  1715
!
cg@2078
  1716
cg@2082
  1717
hasDefinitionClass
cg@2082
  1718
    ^ definitionClass notNil
cg@2082
  1719
cg@2082
  1720
    "Created: / 07-09-2006 / 12:29:10 / cg"
cg@2082
  1721
!
cg@2082
  1722
cg@2082
  1723
hasDefinitionClassHolder
cg@2082
  1724
    ^ [ self hasDefinitionClass ]
cg@2082
  1725
cg@2082
  1726
    "Created: / 07-09-2006 / 12:29:22 / cg"
cg@2082
  1727
!
cg@2082
  1728
cg@2078
  1729
prerequisitesMenuVisibleHolder
cg@2078
  1730
    ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder'
cg@2078
  1731
cg@2078
  1732
    "Created: / 05-09-2006 / 13:26:45 / cg"
cg@2078
  1733
!
cg@2078
  1734
cg@2078
  1735
selectedTabIndexHolder
cg@2078
  1736
    |h|
cg@2078
  1737
cg@2078
  1738
    h := builder valueAspectFor:#'selectedTabIndexHolder' initialValue:nil.
cg@2078
  1739
    h addDependent:self.
cg@2078
  1740
    ^ h
cg@2078
  1741
cg@2078
  1742
    "Created: / 03-09-2006 / 10:58:05 / cg"
cg@2078
  1743
! !
cg@2078
  1744
cg@2078
  1745
!ProjectDefinitionEditor methodsFor:'change & update'!
cg@2078
  1746
cg@2078
  1747
fetchClassListEntries
cg@2078
  1748
    |entries|
cg@2078
  1749
cg@2078
  1750
    entries := OrderedCollection new.
cg@2100
  1751
    definitionClass
cg@2146
  1752
        classNamesAndAttributesDo:[:className :attributes |
cg@2146
  1753
            |entry|
cg@2078
  1754
cg@2146
  1755
            entry := ClassListEntry new.
cg@2146
  1756
            entry
cg@2146
  1757
                className:className
cg@2146
  1758
                autoloaded:(attributes includes:#autoload)
cg@2146
  1759
                win32:(attributes includes:#win32)
cg@2146
  1760
                unix:(attributes includes:#unix).
cg@2146
  1761
            entries add:entry.
cg@2146
  1762
        ].
cg@2146
  1763
    entries sort:[:a :b | a className < b className].
cg@2078
  1764
    ^ entries.
cg@2078
  1765
cg@2078
  1766
    "Created: / 05-09-2006 / 12:31:26 / cg"
cg@2146
  1767
    "Modified: / 21-11-2006 / 18:04:35 / cg"
cg@2078
  1768
!
cg@2078
  1769
cg@2079
  1770
fetchExtensionsListEntries
cg@2079
  1771
    |entries|
cg@2079
  1772
cg@2079
  1773
    entries := OrderedCollection new.
cg@2100
  1774
    definitionClass
cg@2100
  1775
	extensionMethodNames pairWiseDo:[:className :selector |
cg@2100
  1776
	    |entry|
cg@2079
  1777
cg@2100
  1778
	    entry := ExtensionsListEntry new.
cg@2100
  1779
	    entry className:className selector:selector.
cg@2100
  1780
	    entries add:entry.
cg@2100
  1781
	].
cg@2079
  1782
cg@2079
  1783
    ^ entries.
cg@2079
  1784
cg@2079
  1785
    "Created: / 06-09-2006 / 18:45:15 / cg"
cg@2079
  1786
!
cg@2079
  1787
cg@2081
  1788
fetchPrerequisitesListEntries
cg@2081
  1789
    |entries|
cg@2081
  1790
cg@2081
  1791
    entries := OrderedCollection new.
cg@2100
  1792
    definitionClass
cg@2100
  1793
	preRequisites do:[:packageName |
cg@2100
  1794
	    |entry|
cg@2081
  1795
cg@2100
  1796
	    entry := PrerequisitesListEntry new.
cg@2100
  1797
	    entry package:packageName.
cg@2100
  1798
	    entries add:entry.
cg@2100
  1799
	].
cg@2081
  1800
cg@2081
  1801
    ^ entries.
cg@2081
  1802
cg@2081
  1803
    "Created: / 06-09-2006 / 18:45:15 / cg"
cg@2082
  1804
    "Modified: / 07-09-2006 / 12:36:21 / cg"
cg@2081
  1805
!
cg@2081
  1806
cg@2078
  1807
fetchValues
cg@2082
  1808
    |definitionClass isApplicationDefinition startupClassName startupSelector|
cg@2078
  1809
cg@2078
  1810
    definitionClass := self definitionClass.
cg@2078
  1811
    definitionClass isNil ifTrue:[^ self ].
cg@2078
  1812
cg@2078
  1813
    isApplicationDefinition := definitionClass isApplicationDefinition.
cg@2078
  1814
cg@2078
  1815
    self isApplicationDefinitionHolder value:isApplicationDefinition.
cg@2111
  1816
    self isNonGUIApplicationHolder value:(isApplicationDefinition and:[definitionClass isGUIApplication not]).
cg@2111
  1817
    self hasConsoleHolder value:(isApplicationDefinition and:[definitionClass isConsoleApplication]).
cg@2111
  1818
    self startSinglethreadedHolder value:(isApplicationDefinition and:[definitionClass isSingleThreadedApplication]).
cg@2100
  1819
cg@2078
  1820
    isApplicationDefinition ifTrue:[
cg@2082
  1821
        startupClassName := definitionClass name.
cg@2082
  1822
        startupSelector := #start.
cg@2082
  1823
cg@2082
  1824
        Error handle:[:ex | ] do:[ startupClassName := definitionClass startupClassName].
cg@2082
  1825
        Error handle:[:ex | ] do:[ startupSelector := definitionClass startupSelector].
cg@2082
  1826
        self startupClassNameHolder value:startupClassName.
cg@2082
  1827
        self startupSelectorHolder value:startupSelector.
cg@2082
  1828
cg@2078
  1829
        self iconFileNameHolder value:(definitionClass iconFileName).
cg@2078
  1830
        self tabList value:(self class tabListForApplication).
cg@2121
  1831
        self documentExtensionsListStringHolder value:(definitionClass documentExtensions asStringWith:';').
cg@2078
  1832
    ] ifFalse:[
cg@2078
  1833
        self tabList value:(self class tabListForLibrary).
cg@2078
  1834
    ].
cg@2078
  1835
cg@2078
  1836
    self companyNameHolder value:(definitionClass companyName).
cg@2078
  1837
    self descriptionHolder value:(definitionClass description).
cg@2078
  1838
    self legalCopyrightHolder value:(definitionClass legalCopyright).
cg@2078
  1839
    self productNameHolder value:(definitionClass productName).
cg@2078
  1840
    self majorVersionNrHolder value:(definitionClass majorVersionNr asInteger).
cg@2078
  1841
    self minorVersionNrHolder value:(definitionClass minorVersionNr asInteger).
cg@2078
  1842
    self revisionNrHolder value:(definitionClass revisionNr asInteger).
cg@2078
  1843
    self releaseNrHolder value:(definitionClass releaseNr asInteger).
cg@2078
  1844
cg@2078
  1845
    self fileDescriptionHolder value:(definitionClass fileDescription).
cg@2078
  1846
    self fileMajorVersionNrHolder value:(definitionClass fileMajorVersionNr asInteger).
cg@2078
  1847
    self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger).
cg@2078
  1848
    self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger).
cg@2078
  1849
    self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger).
cg@2078
  1850
cg@2081
  1851
    self classListHolder value:(self fetchClassListEntries).
cg@2081
  1852
    self extensionsListHolder value:(self fetchExtensionsListEntries).
cg@2081
  1853
    self prerequisitesListHolder value:(self fetchPrerequisitesListEntries).
cg@2078
  1854
cg@2100
  1855
    self window notNil ifTrue:[
cg@2100
  1856
        self window
cg@2100
  1857
            label:(isApplicationDefinition
cg@2100
  1858
                    ifTrue:'Application'
cg@2100
  1859
                    ifFalse:'Library' )
cg@2100
  1860
                        , ' Definition: ',definitionClass name.
cg@2100
  1861
    ].
cg@2078
  1862
cg@2078
  1863
    "Created: / 04-09-2006 / 16:34:39 / cg"
cg@2121
  1864
    "Modified: / 15-10-2006 / 14:32:45 / cg"
cg@2082
  1865
!
cg@2082
  1866
cg@2082
  1867
refetchDefinitionValues
cg@2082
  1868
    self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ).
cg@2082
  1869
    self fetchValues.
cg@2082
  1870
cg@2082
  1871
    "Created: / 07-09-2006 / 12:26:54 / cg"
cg@2078
  1872
!
cg@2078
  1873
cg@2078
  1874
update:something with:parameter from:changedObject
cg@2078
  1875
    changedObject == self selectedTabIndexHolder ifTrue:[
cg@2121
  1876
        self updateMenuVisibility.
cg@2121
  1877
        ^ self.
cg@2121
  1878
    ].
cg@2121
  1879
    changedObject == self isNonGUIApplicationHolder ifTrue:[
cg@2121
  1880
        changedObject value ifTrue:[
cg@2121
  1881
            "/ a NON-GUI application - always has a console
cg@2121
  1882
            self shownHasConsoleHolder valueHolder:true
cg@2121
  1883
        ] ifFalse:[
cg@2121
  1884
            "/ a GUI application - sometimes has a console
cg@2121
  1885
            self shownHasConsoleHolder valueHolder:(self hasConsoleHolder)
cg@2121
  1886
        ].
cg@2121
  1887
        ^ self.
cg@2078
  1888
    ].
cg@2078
  1889
    ^ super update:something with:parameter from:changedObject
cg@2078
  1890
cg@2078
  1891
    "Created: / 03-09-2006 / 10:59:42 / cg"
cg@2121
  1892
    "Modified: / 15-10-2006 / 14:08:23 / cg"
cg@2078
  1893
!
cg@2078
  1894
cg@2078
  1895
updateMenuVisibility
cg@2078
  1896
    self classesMenuVisibleHolder value:(self hasClassesTabSelected).
cg@2078
  1897
    self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected).
cg@2078
  1898
    self prerequisitesMenuVisibleHolder value:(self hasPrerequisitesTabSelected).
cg@2078
  1899
cg@2078
  1900
    "Created: / 03-09-2006 / 11:01:48 / cg"
cg@2078
  1901
    "Modified: / 05-09-2006 / 13:27:10 / cg"
cg@2078
  1902
! !
cg@2078
  1903
cg@2078
  1904
!ProjectDefinitionEditor methodsFor:'initialization & release'!
cg@2078
  1905
cg@2078
  1906
closeRequest
cg@2078
  1907
    (self hasUnsavedChanges) ifTrue:[
cg@2100
  1908
	(self confirm:(resources string:'Close without saving ?')) ifFalse:[
cg@2100
  1909
	    ^ self
cg@2100
  1910
	]
cg@2078
  1911
    ].
cg@2078
  1912
cg@2078
  1913
    ^ super closeRequest
cg@2078
  1914
cg@2078
  1915
    "Modified: / 03-09-2006 / 10:53:14 / cg"
cg@2078
  1916
!
cg@2078
  1917
cg@2121
  1918
flagHolderBuilt:aComboBox
cg@2121
  1919
    aComboBox menuSelectAction:[:txt |
cg@2121
  1920
        self updateFlagsIn:aComboBox from:txt
cg@2121
  1921
    ].
cg@2121
  1922
cg@2121
  1923
    "Created: / 15-10-2006 / 15:11:50 / cg"
cg@2121
  1924
!
cg@2121
  1925
cg@2078
  1926
postBuildWith:aBuilder
cg@2078
  1927
    super postBuildWith:aBuilder.
cg@2078
  1928
    self selectedTabIndexHolder value:1.
cg@2078
  1929
    self updateMenuVisibility.
cg@2078
  1930
    self fetchValues.
cg@2078
  1931
cg@2078
  1932
    "Modified: / 04-09-2006 / 16:28:09 / cg"
cg@2078
  1933
!
cg@2078
  1934
cg@2078
  1935
postOpenWith:aBuilder
cg@2078
  1936
    "This is a hook method generated by the Browser.
cg@2078
  1937
     It will be invoked right after the applications window has been opened.
cg@2078
  1938
     Add any app-specific actions here (starting background processes etc.).
cg@2078
  1939
     See also #postBuildWith:, which is invoked before opening."
cg@2078
  1940
cg@2078
  1941
    "/ add any code here ...
cg@2078
  1942
cg@2078
  1943
    ^ super postOpenWith:aBuilder
cg@2078
  1944
! !
cg@2078
  1945
cg@2078
  1946
!ProjectDefinitionEditor methodsFor:'menu actions'!
cg@2078
  1947
cg@2121
  1948
editNew:definitionClass
cg@2121
  1949
    |className class newPackage|
cg@2121
  1950
cg@2121
  1951
    self hasUnsavedChanges ifTrue:[
cg@2121
  1952
        self halt.
cg@2121
  1953
    ].
cg@2121
  1954
    className := Dialog
cg@2121
  1955
                    requestClassName:'Name of new Definition class'
cg@2121
  1956
                    okLabel:'Create'
cg@2121
  1957
                    initialAnswer:'private_myProject'.
cg@2121
  1958
    className isEmptyOrNil ifTrue:[^ self].
cg@2121
  1959
cg@2121
  1960
    class := Smalltalk classNamed:className.
cg@2121
  1961
    class notNil ifTrue:[
cg@2121
  1962
        (class isLibraryDefinition == (definitionClass == LibraryDefinition)) ifFalse:[
cg@2121
  1963
            Dialog warn:(resources
cg@2121
  1964
                            string:'A class named "%1" already exists as %2.'
cg@2121
  1965
                            with:className allBold
cg@2121
  1966
                            with:(class isLibraryDefinition 
cg@2121
  1967
                                    ifTrue:'Library'
cg@2121
  1968
                                    ifFalse:'Application')).
cg@2121
  1969
            ^ self
cg@2121
  1970
        ].
cg@2121
  1971
        Dialog warn:(resources
cg@2121
  1972
                            string:'A class named "%1" already exists. Editing the existing definition.'
cg@2121
  1973
                            with:className allBold).
cg@2121
  1974
    ] ifFalse:[
cg@2121
  1975
        newPackage := className copy replaceAll:$_ with:$/.
cg@2121
  1976
        newPackage replaceAll:$/ with:$:. 
cg@2121
  1977
        class := definitionClass newNamed:className package:newPackage.
cg@2121
  1978
    ].
cg@2121
  1979
    self definitionClass:class.
cg@2121
  1980
cg@2121
  1981
    "Created: / 15-10-2006 / 14:50:15 / cg"
cg@2121
  1982
!
cg@2121
  1983
cg@2082
  1984
menuGenerateProjectDefinitions
cg@2082
  1985
    |action|
cg@2080
  1986
cg@2082
  1987
    action := [:generator :defClass |
cg@2100
  1988
		    defClass theNonMetaclass
cg@2100
  1989
			forEachMethodsCodeToCompileDo:
cg@2100
  1990
			    [:code :category |
cg@2100
  1991
				generator
cg@2100
  1992
				    compile:code
cg@2100
  1993
				    forClass:defClass theMetaclass
cg@2100
  1994
				    inCategory:category.
cg@2100
  1995
			    ]
cg@2100
  1996
			ignoreOldDefinition:true
cg@2100
  1997
	       ].
cg@2080
  1998
cg@2082
  1999
    masterApplication notNil ifTrue:[
cg@2100
  2000
	masterApplication
cg@2100
  2001
	    generateUndoableChange:'Generate Project Definitions'
cg@2100
  2002
	    overClasses:(Array with:self definitionClass)
cg@2100
  2003
	    via:action.
cg@2082
  2004
    ] ifFalse:[
cg@2100
  2005
	action value:Compiler value:self definitionClass
cg@2082
  2006
    ].
cg@2082
  2007
cg@2082
  2008
    self refetchDefinitionValues
cg@2082
  2009
cg@2082
  2010
    "Created: / 07-09-2006 / 12:26:22 / cg"
cg@2080
  2011
!
cg@2080
  2012
cg@2078
  2013
menuNew
cg@2078
  2014
    "This method was generated by the Browser.
cg@2078
  2015
     It will be invoked when the menu-item 'new' is selected."
cg@2078
  2016
cg@2078
  2017
    "/ change below and add any actions as required here ...
cg@2078
  2018
    self warn:'no action for ''new'' available.'.
cg@2078
  2019
!
cg@2078
  2020
cg@2121
  2021
menuNewApplicationDefinition
cg@2121
  2022
    self editNew:ApplicationDefinition
cg@2121
  2023
cg@2121
  2024
    "Created: / 15-10-2006 / 14:49:53 / cg"
cg@2121
  2025
!
cg@2121
  2026
cg@2121
  2027
menuNewLibraryDefinition
cg@2121
  2028
    self editNew:LibraryDefinition
cg@2121
  2029
cg@2121
  2030
    "Created: / 15-10-2006 / 14:49:46 / cg"
cg@2121
  2031
!
cg@2121
  2032
cg@2078
  2033
menuOpen
cg@2081
  2034
    |projectID class answer|
cg@2078
  2035
cg@2081
  2036
    projectID := Dialog requestProject:'Project' initialAnswer:'' suggestions:nil.
cg@2081
  2037
    class := ProjectDefinition definitionClassForPackage:projectID.
cg@2081
  2038
    class isNil ifTrue:[
cg@2100
  2039
	answer := Dialog
cg@2100
  2040
	    confirmWithCancel:(resources string:'No Projectdefinition class exists for "%1".\\Create ?' with:projectID allBold)
cg@2100
  2041
	    labels:(resources array:#('Cancel' 'Create Library' 'Create Application' ))
cg@2100
  2042
	    values:#(nil LibraryDefinition ApplicationDefinition)
cg@2100
  2043
	    default:2
cg@2100
  2044
	    boxLabel:(resources string:'Create Projectdefinition').
cg@2100
  2045
	answer isNil ifTrue:[^ self].
cg@2081
  2046
    ].
cg@2081
  2047
    answer == #LibraryDefinition ifTrue:[
cg@2100
  2048
	class := LibraryDefinition definitionClassForPackage:projectID createIfAbsent:true
cg@2081
  2049
    ] ifFalse:[
cg@2100
  2050
	class := ApplicationDefinition definitionClassForPackage:projectID createIfAbsent:true
cg@2081
  2051
    ].
cg@2081
  2052
    self definitionClass:class.
cg@2081
  2053
cg@2081
  2054
    "Modified: / 07-09-2006 / 12:19:58 / cg"
cg@2078
  2055
!
cg@2078
  2056
cg@2080
  2057
menuRemoveClass
cg@2080
  2058
    |classListHolder|
cg@2080
  2059
cg@2081
  2060
    classListHolder := self classListHolder.
cg@2080
  2061
    classListHolder value removeIndex:(self selectedClassIndexHolder value).
cg@2080
  2062
    classListHolder changed.
cg@2080
  2063
cg@2080
  2064
    "Created: / 06-09-2006 / 21:31:05 / cg"
cg@2081
  2065
    "Modified: / 07-09-2006 / 11:35:44 / cg"
cg@2080
  2066
!
cg@2080
  2067
cg@2078
  2068
menuSave
cg@2078
  2069
    self menuSaveAs:definitionClass name
cg@2078
  2070
cg@2078
  2071
    "Modified: / 05-09-2006 / 13:48:27 / cg"
cg@2078
  2072
!
cg@2078
  2073
cg@2078
  2074
menuSaveAs
cg@2078
  2075
    |className class newPackage|
cg@2078
  2076
cg@2100
  2077
    className := Dialog
cg@2121
  2078
                    requestClassName:'Name of new Definition class'
cg@2121
  2079
                    okLabel:'Create'
cg@2121
  2080
                    initialAnswer:'private_myProject'.
cg@2078
  2081
    className isEmptyOrNil ifTrue:[^ self].
cg@2078
  2082
    class := Smalltalk classNamed:className.
cg@2078
  2083
    class notNil ifTrue:[
cg@2121
  2084
        Dialog warn:(resources
cg@2121
  2085
                            string:'A class named %1 already exists'
cg@2121
  2086
                            with:className).
cg@2121
  2087
        ^ self.
cg@2078
  2088
    ].
cg@2078
  2089
    newPackage := className copy replaceAll:$_ with:$/.
cg@2121
  2090
    newPackage replaceAll:$/ with:$:. 
cg@2078
  2091
    class := ApplicationDefinition newNamed:className package:newPackage.
cg@2078
  2092
    self menuSaveAs:class.
cg@2078
  2093
cg@2121
  2094
    "Modified: / 15-10-2006 / 14:47:53 / cg"
cg@2078
  2095
!
cg@2078
  2096
cg@2078
  2097
menuSaveAs:aClassName
cg@2078
  2098
    self halt.
cg@2078
  2099
cg@2078
  2100
    "Created: / 05-09-2006 / 13:48:03 / cg"
cg@2078
  2101
!
cg@2078
  2102
cg@2078
  2103
openAboutThisApplication
cg@2078
  2104
    "This method was generated by the Browser.
cg@2078
  2105
     It will be invoked when the menu-item 'help-about' is selected."
cg@2078
  2106
cg@2078
  2107
    "/ could open a customized aboutBox here ...
cg@2078
  2108
    super openAboutThisApplication
cg@2078
  2109
!
cg@2078
  2110
cg@2078
  2111
openDocumentation
cg@2078
  2112
    "This method was generated by the Browser.
cg@2078
  2113
     It will be invoked when the menu-item 'help-documentation' is selected."
cg@2078
  2114
cg@2078
  2115
    "/ change below as required ...
cg@2078
  2116
cg@2078
  2117
    "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
cg@2078
  2118
    HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
cg@2078
  2119
cg@2078
  2120
    "/ add application-specific help files under the 'doc/online/<language>/help/appName'
cg@2078
  2121
    "/ directory, and open a viewer with:
cg@2078
  2122
    "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
cg@2121
  2123
!
cg@2121
  2124
cg@2121
  2125
updateFlagsIn:aComboBox from:flag
cg@2121
  2126
    |s flags base negation|
cg@2121
  2127
cg@2121
  2128
    s := aComboBox editor contents.
cg@2121
  2129
    flags := s asCollectionOfWords.
cg@2121
  2130
    (flags includes:flag) ifFalse:[
cg@2121
  2131
        base := (flag copyFrom:2).
cg@2121
  2132
        negation := (flag startsWith:'+') 
cg@2121
  2133
                        ifTrue:[ ('-',base) ]
cg@2121
  2134
                        ifFalse:[ ('+',base) ].
cg@2121
  2135
        flags remove:negation ifAbsent:[].
cg@2121
  2136
        flags add:flag.
cg@2121
  2137
        aComboBox editor contents:(flags asStringWith:' ').
cg@2121
  2138
    ].
cg@2121
  2139
cg@2121
  2140
    "Created: / 15-10-2006 / 15:35:53 / cg"
cg@2078
  2141
! !
cg@2078
  2142
cg@2078
  2143
!ProjectDefinitionEditor methodsFor:'queries'!
cg@2078
  2144
cg@2078
  2145
hasClassesTabSelected
cg@2080
  2146
    ^ self selectedTabIndex == 2
cg@2078
  2147
cg@2078
  2148
    "Created: / 03-09-2006 / 11:00:39 / cg"
cg@2080
  2149
    "Modified: / 06-09-2006 / 21:20:21 / cg"
cg@2078
  2150
!
cg@2078
  2151
cg@2078
  2152
hasExtensionsTabSelected
cg@2080
  2153
    ^ self selectedTabIndex == 3
cg@2078
  2154
cg@2078
  2155
    "Created: / 05-09-2006 / 13:02:26 / cg"
cg@2080
  2156
    "Modified: / 06-09-2006 / 21:20:25 / cg"
cg@2078
  2157
!
cg@2078
  2158
cg@2078
  2159
hasPrerequisitesTabSelected
cg@2080
  2160
    ^ self selectedTabIndex == 4
cg@2078
  2161
cg@2078
  2162
    "Created: / 05-09-2006 / 13:27:16 / cg"
cg@2080
  2163
    "Modified: / 06-09-2006 / 21:20:33 / cg"
cg@2078
  2164
!
cg@2078
  2165
cg@2078
  2166
hasUnsavedChanges
cg@2078
  2167
     ^ false
cg@2078
  2168
cg@2078
  2169
    "Created: / 03-09-2006 / 10:53:05 / cg"
cg@2078
  2170
!
cg@2078
  2171
cg@2080
  2172
selectedClass
cg@2080
  2173
    |item|
cg@2080
  2174
cg@2081
  2175
    item := self classListHolder value at:(self selectedClassIndexHolder value).
cg@2080
  2176
self halt.
cg@2080
  2177
cg@2080
  2178
    "Created: / 06-09-2006 / 21:32:20 / cg"
cg@2081
  2179
    "Modified: / 07-09-2006 / 11:35:48 / cg"
cg@2080
  2180
!
cg@2080
  2181
cg@2078
  2182
selectedTabIndex
cg@2078
  2183
    ^ self selectedTabIndexHolder value
cg@2078
  2184
cg@2078
  2185
    "Created: / 03-09-2006 / 11:00:48 / cg"
cg@2078
  2186
! !
cg@2078
  2187
cg@2078
  2188
!ProjectDefinitionEditor::ClassListEntry methodsFor:'accessing'!
cg@2078
  2189
cg@2078
  2190
autoloaded
cg@2078
  2191
    ^ autoloaded
cg@2078
  2192
!
cg@2078
  2193
cg@2146
  2194
autoloaded:aBoolean
cg@2146
  2195
    autoloaded := aBoolean.
cg@2146
  2196
cg@2146
  2197
    "Modified: / 21-11-2006 / 18:05:26 / cg"
cg@2078
  2198
!
cg@2078
  2199
cg@2078
  2200
className
cg@2078
  2201
    ^ className
cg@2078
  2202
!
cg@2078
  2203
cg@2078
  2204
className:something
cg@2078
  2205
    className := something.
cg@2078
  2206
!
cg@2078
  2207
cg@2100
  2208
className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg
cg@2078
  2209
    className := classNameArg.
cg@2078
  2210
    autoloaded := autoloadedArg.
cg@2078
  2211
    win32 := win32Arg.
cg@2078
  2212
    unix := unixArg.
cg@2078
  2213
!
cg@2078
  2214
cg@2078
  2215
unix
cg@2078
  2216
    ^ unix
cg@2078
  2217
!
cg@2078
  2218
cg@2146
  2219
unix:aBoolean
cg@2146
  2220
    unix := aBoolean.
cg@2146
  2221
cg@2146
  2222
    "Modified: / 21-11-2006 / 18:05:32 / cg"
cg@2078
  2223
!
cg@2078
  2224
cg@2078
  2225
win32
cg@2078
  2226
    ^ win32
cg@2078
  2227
!
cg@2078
  2228
cg@2146
  2229
win32:aBoolean
cg@2146
  2230
    win32 := aBoolean.
cg@2146
  2231
cg@2146
  2232
    "Modified: / 21-11-2006 / 18:05:35 / cg"
cg@2078
  2233
! !
cg@2078
  2234
cg@2079
  2235
!ProjectDefinitionEditor::ExtensionsListEntry methodsFor:'accessing'!
cg@2079
  2236
cg@2079
  2237
className
cg@2079
  2238
    ^ className
cg@2079
  2239
!
cg@2079
  2240
cg@2100
  2241
className:classNameArg selector:selectorArg
cg@2079
  2242
    className := classNameArg.
cg@2079
  2243
    selector := selectorArg.
cg@2079
  2244
!
cg@2079
  2245
cg@2079
  2246
selector
cg@2079
  2247
    ^ selector
cg@2079
  2248
! !
cg@2079
  2249
cg@2081
  2250
!ProjectDefinitionEditor::PrerequisitesListEntry methodsFor:'accessing'!
cg@2081
  2251
cg@2081
  2252
package
cg@2081
  2253
    ^ package
cg@2081
  2254
cg@2081
  2255
    "Created: / 07-09-2006 / 12:23:17 / cg"
cg@2081
  2256
!
cg@2081
  2257
cg@2081
  2258
package:something
cg@2081
  2259
    package := something.
cg@2081
  2260
cg@2081
  2261
    "Created: / 07-09-2006 / 12:23:19 / cg"
cg@2081
  2262
! !
cg@2081
  2263
cg@2078
  2264
!ProjectDefinitionEditor class methodsFor:'documentation'!
cg@2078
  2265
cg@2078
  2266
version
cg@2078
  2267
    ^ '$Header$'
cg@2078
  2268
! !