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