Tools__ProjectDefinitionEditor.st
changeset 2078 67cc88b7b310
child 2079 43f28c0ce813
equal deleted inserted replaced
2077:bf7f7207fa07 2078:67cc88b7b310
       
     1 "{ Package: 'stx:libtool2' }"
       
     2 
       
     3 "{ NameSpace: Tools }"
       
     4 
       
     5 ResourceSpecEditor subclass:#ProjectDefinitionEditor
       
     6 	instanceVariableNames:'definitionClass classList selectedClassIndexHolder
       
     7 		classesTableColumns revisionNrHolder companyNameHolder
       
     8 		fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder
       
     9 		fileReleaseNrHolder productNameHolder majorVersionNrHolder
       
    10 		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
       
    11 		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
       
    12 		isApplicationDefinitionHolder isNonGUIApplicationHolder
       
    13 		startSinglethreadedHolder startupClassHolder
       
    14 		startupSelectorHolder'
       
    15 	classVariableNames:''
       
    16 	poolDictionaries:''
       
    17 	category:'Interface-Tools'
       
    18 !
       
    19 
       
    20 Object subclass:#ClassListEntry
       
    21 	instanceVariableNames:'className autoloaded win32 unix'
       
    22 	classVariableNames:''
       
    23 	poolDictionaries:''
       
    24 	privateIn:ProjectDefinitionEditor
       
    25 !
       
    26 
       
    27 !ProjectDefinitionEditor class methodsFor:'documentation'!
       
    28 
       
    29 documentation
       
    30 "
       
    31     unfinished app-definition editor
       
    32 
       
    33     [author:]
       
    34         cg (cg@FUSI)
       
    35 
       
    36     [instance variables:]
       
    37 
       
    38     [class variables:]
       
    39 
       
    40     [see also:]
       
    41 
       
    42 "
       
    43 !
       
    44 
       
    45 examples
       
    46 "
       
    47   Starting the application:
       
    48                                                                 [exBegin]
       
    49     (ProjectDefinitionEditor new
       
    50         definitionClass:stx_libbasic) open
       
    51                                                                 [exEnd]
       
    52 
       
    53                                                                 [exBegin]
       
    54     (ProjectDefinitionEditor new
       
    55         definitionClass:bosch_dapasx_application) open
       
    56                                                                 [exEnd]
       
    57 "
       
    58 ! !
       
    59 
       
    60 !ProjectDefinitionEditor class methodsFor:'interface specs'!
       
    61 
       
    62 classesSpec
       
    63     "This resource specification was automatically generated
       
    64      by the UIPainter of ST/X."
       
    65 
       
    66     "Do not manually edit this!! If it is corrupted,
       
    67      the UIPainter may not be able to read the specification."
       
    68 
       
    69     "
       
    70      UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#classesSpec
       
    71      ApplicationDefinitionEditor new openInterface:#classesSpec
       
    72     "
       
    73 
       
    74     <resource: #canvas>
       
    75 
       
    76     ^ 
       
    77      #(FullSpec
       
    78         name: classesSpec
       
    79         window: 
       
    80        (WindowSpec
       
    81           label: 'NewApplication'
       
    82           name: 'NewApplication'
       
    83           min: (Point 0 0)
       
    84           bounds: (Rectangle 0 0 300 300)
       
    85         )
       
    86         component: 
       
    87        (SpecCollection
       
    88           collection: (
       
    89            (DataSetSpec
       
    90               name: 'ClassesTable'
       
    91               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
    92               model: selectedClassIndexHolder
       
    93               hasHorizontalScrollBar: true
       
    94               hasVerticalScrollBar: true
       
    95               dataList: classList
       
    96               columnHolder: classesTableColumns
       
    97             )
       
    98            )
       
    99          
       
   100         )
       
   101       )
       
   102 !
       
   103 
       
   104 compilationSpec
       
   105     "This resource specification was automatically generated
       
   106      by the UIPainter of ST/X."
       
   107 
       
   108     "Do not manually edit this!! If it is corrupted,
       
   109      the UIPainter may not be able to read the specification."
       
   110 
       
   111     "
       
   112      UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#compilationSpec
       
   113      ApplicationDefinitionEditor new openInterface:#compilationSpec
       
   114     "
       
   115 
       
   116     <resource: #canvas>
       
   117 
       
   118     ^ 
       
   119      #(FullSpec
       
   120         name: compilationSpec
       
   121         window: 
       
   122        (WindowSpec
       
   123           label: 'NewApplication'
       
   124           name: 'NewApplication'
       
   125           min: (Point 0 0)
       
   126           bounds: (Rectangle 0 0 433 300)
       
   127         )
       
   128         component: 
       
   129        (SpecCollection
       
   130           collection: (
       
   131            (FramedBoxSpec
       
   132               label: 'Optimization'
       
   133               name: 'FramedBox1'
       
   134               layout: (LayoutFrame 0 0 0 0 0 1 -57 0.5)
       
   135               labelPosition: topLeft
       
   136               translateLabel: true
       
   137               component: 
       
   138              (SpecCollection
       
   139                 collection: (
       
   140                  (LabelSpec
       
   141                     label: 'STC Optimization Flags:'
       
   142                     name: 'Label1'
       
   143                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
       
   144                     translateLabel: true
       
   145                     adjust: right
       
   146                   )
       
   147                  (InputFieldSpec
       
   148                     name: 'STCOptimizationFlagsEntryField'
       
   149                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
       
   150                     model: stcOptimizationFlagsHolder
       
   151                     acceptOnReturn: true
       
   152                     acceptOnTab: true
       
   153                     acceptOnLostFocus: true
       
   154                     acceptOnPointerLeave: false
       
   155                   )
       
   156                  (LabelSpec
       
   157                     label: 'CC Optimization Flags:'
       
   158                     name: 'Label2'
       
   159                     layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
       
   160                     translateLabel: true
       
   161                     adjust: right
       
   162                   )
       
   163                  (InputFieldSpec
       
   164                     name: 'CCOptimizationFlagsEntryField'
       
   165                     layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
       
   166                     model: ccOptimizationFlagsHolder
       
   167                     acceptOnReturn: true
       
   168                     acceptOnTab: true
       
   169                     acceptOnLostFocus: true
       
   170                     acceptOnPointerLeave: false
       
   171                   )
       
   172                  )
       
   173                
       
   174               )
       
   175             )
       
   176            (FramedBoxSpec
       
   177               label: 'Includes'
       
   178               name: 'FramedBox2'
       
   179               layout: (LayoutFrame 0 0 98 0 0 1 10 0.5)
       
   180               labelPosition: topLeft
       
   181               translateLabel: true
       
   182               component: 
       
   183              (SpecCollection
       
   184                 collection: (
       
   185                  (LabelSpec
       
   186                     label: 'Additional Includes:'
       
   187                     name: 'Label3'
       
   188                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
       
   189                     translateLabel: true
       
   190                     adjust: right
       
   191                   )
       
   192                  (InputFieldSpec
       
   193                     name: 'IncludeFlagsEntryField'
       
   194                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
       
   195                     model: includeFlagsHolder
       
   196                     acceptOnReturn: true
       
   197                     acceptOnTab: true
       
   198                     acceptOnLostFocus: true
       
   199                     acceptOnPointerLeave: false
       
   200                   )
       
   201                  )
       
   202                
       
   203               )
       
   204             )
       
   205            )
       
   206          
       
   207         )
       
   208       )
       
   209 
       
   210     "Modified: / 05-09-2006 / 13:28:00 / cg"
       
   211 !
       
   212 
       
   213 descriptionSpec
       
   214     "This resource specification was automatically generated
       
   215      by the UIPainter of ST/X."
       
   216 
       
   217     "Do not manually edit this!! If it is corrupted,
       
   218      the UIPainter may not be able to read the specification."
       
   219 
       
   220     "
       
   221      UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#descriptionSpec
       
   222      ApplicationDefinitionBuilder new openInterface:#descriptionSpec
       
   223     "
       
   224 
       
   225     <resource: #canvas>
       
   226 
       
   227     ^ 
       
   228      #(FullSpec
       
   229         name: descriptionSpec
       
   230         window: 
       
   231        (WindowSpec
       
   232           label: 'NewApplication'
       
   233           name: 'NewApplication'
       
   234           min: (Point 0 0)
       
   235           bounds: (Rectangle 0 0 433 300)
       
   236         )
       
   237         component: 
       
   238        (SpecCollection
       
   239           collection: (
       
   240            (LabelSpec
       
   241               label: 'Company:'
       
   242               name: 'CompanyLabel'
       
   243               layout: (LayoutFrame 2 0.0 13 0 160 0 35 0)
       
   244               translateLabel: true
       
   245               adjust: right
       
   246             )
       
   247            (InputFieldSpec
       
   248               name: 'CompanyEntryField'
       
   249               layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0)
       
   250               model: companyNameHolder
       
   251               acceptOnReturn: true
       
   252               acceptOnTab: true
       
   253               acceptOnLostFocus: true
       
   254               acceptOnPointerLeave: false
       
   255             )
       
   256            (LabelSpec
       
   257               label: 'Description:'
       
   258               name: 'DescriptionLabel'
       
   259               layout: (LayoutFrame 2 0.0 39 0 160 0 61 0)
       
   260               translateLabel: true
       
   261               adjust: right
       
   262             )
       
   263            (InputFieldSpec
       
   264               name: 'DescriptionEntryField'
       
   265               layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0)
       
   266               model: descriptionHolder
       
   267               acceptOnReturn: true
       
   268               acceptOnTab: true
       
   269               acceptOnLostFocus: true
       
   270               acceptOnPointerLeave: false
       
   271             )
       
   272            (LabelSpec
       
   273               label: 'ProductName:'
       
   274               name: 'ProductNameLabel'
       
   275               layout: (LayoutFrame 2 0.0 65 0 160 0 87 0)
       
   276               translateLabel: true
       
   277               adjust: right
       
   278             )
       
   279            (InputFieldSpec
       
   280               name: 'ProductNameEntryField'
       
   281               layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0)
       
   282               model: productNameHolder
       
   283               acceptOnReturn: true
       
   284               acceptOnTab: true
       
   285               acceptOnLostFocus: true
       
   286               acceptOnPointerLeave: false
       
   287             )
       
   288            (LabelSpec
       
   289               label: 'ProductVersion:'
       
   290               name: 'ProductVersionLabel'
       
   291               layout: (LayoutFrame 2 0.0 91 0 160 0 113 0)
       
   292               translateLabel: true
       
   293               adjust: right
       
   294             )
       
   295            (InputFieldSpec
       
   296               name: 'MajorVersionNrEntryField'
       
   297               layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0)
       
   298               model: majorVersionNrHolder
       
   299               type: number
       
   300               acceptOnReturn: true
       
   301               acceptOnTab: true
       
   302               acceptOnLostFocus: true
       
   303               acceptOnPointerLeave: false
       
   304             )
       
   305            (InputFieldSpec
       
   306               name: 'MinorVersionNrEntryField'
       
   307               layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0)
       
   308               model: minorVersionNrHolder
       
   309               type: numberOrNil
       
   310               acceptOnReturn: true
       
   311               acceptOnTab: true
       
   312               acceptOnLostFocus: true
       
   313               acceptOnPointerLeave: false
       
   314             )
       
   315            (InputFieldSpec
       
   316               name: 'RevisionNrEntryField'
       
   317               layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0)
       
   318               model: revisionNrHolder
       
   319               type: number
       
   320               acceptOnReturn: true
       
   321               acceptOnTab: true
       
   322               acceptOnLostFocus: true
       
   323               acceptOnPointerLeave: false
       
   324             )
       
   325            (InputFieldSpec
       
   326               name: 'ReleaseNrEntryField'
       
   327               layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0)
       
   328               model: releaseNrHolder
       
   329               type: number
       
   330               acceptOnReturn: true
       
   331               acceptOnTab: true
       
   332               acceptOnLostFocus: true
       
   333               acceptOnPointerLeave: false
       
   334             )
       
   335            (LabelSpec
       
   336               label: 'LegalCopyright:'
       
   337               name: 'LegalCopyrightLabel'
       
   338               layout: (LayoutFrame 2 0.0 119 0 160 0 141 0)
       
   339               translateLabel: true
       
   340               adjust: right
       
   341             )
       
   342            (InputFieldSpec
       
   343               name: 'LegalCopyrightEntryField'
       
   344               layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0)
       
   345               model: legalCopyrightHolder
       
   346               acceptOnReturn: true
       
   347               acceptOnTab: true
       
   348               acceptOnLostFocus: true
       
   349               acceptOnPointerLeave: false
       
   350             )
       
   351            (LabelSpec
       
   352               label: 'FileDescriptionDescription:'
       
   353               name: 'FileDescriptionLabel'
       
   354               layout: (LayoutFrame 2 0.0 161 0 160 0 183 0)
       
   355               translateLabel: true
       
   356               adjust: right
       
   357             )
       
   358            (InputFieldSpec
       
   359               name: 'FileDescriptionEntryField'
       
   360               layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0)
       
   361               model: fileDescriptionHolder
       
   362               acceptOnReturn: true
       
   363               acceptOnTab: true
       
   364               acceptOnLostFocus: true
       
   365               acceptOnPointerLeave: false
       
   366             )
       
   367            (LabelSpec
       
   368               label: 'FileVersion:'
       
   369               name: 'FileVersionLabel'
       
   370               layout: (LayoutFrame 2 0.0 187 0 160 0 209 0)
       
   371               translateLabel: true
       
   372               adjust: right
       
   373             )
       
   374            (InputFieldSpec
       
   375               name: 'FileMajorVersionNrEntryField'
       
   376               layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0)
       
   377               model: fileMajorVersionNrHolder
       
   378               type: number
       
   379               acceptOnReturn: true
       
   380               acceptOnTab: true
       
   381               acceptOnLostFocus: true
       
   382               acceptOnPointerLeave: false
       
   383             )
       
   384            (InputFieldSpec
       
   385               name: 'FileMinorVersionNrEntryField'
       
   386               layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0)
       
   387               model: fileMinorVersionNrHolder
       
   388               type: number
       
   389               acceptOnReturn: true
       
   390               acceptOnTab: true
       
   391               acceptOnLostFocus: true
       
   392               acceptOnPointerLeave: false
       
   393             )
       
   394            (InputFieldSpec
       
   395               name: 'FileRevisionNrEntryField'
       
   396               layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0)
       
   397               model: fileRevisionNrHolder
       
   398               type: number
       
   399               acceptOnReturn: true
       
   400               acceptOnTab: true
       
   401               acceptOnLostFocus: true
       
   402               acceptOnPointerLeave: false
       
   403             )
       
   404            (InputFieldSpec
       
   405               name: 'FileReleaseNrEntryField'
       
   406               layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0)
       
   407               model: fileReleaseNrHolder
       
   408               type: number
       
   409               acceptOnReturn: true
       
   410               acceptOnTab: true
       
   411               acceptOnLostFocus: true
       
   412               acceptOnPointerLeave: false
       
   413             )
       
   414            (LabelSpec
       
   415               label: 'Icon Filename:'
       
   416               name: 'IconFileNameLabel'
       
   417               layout: (LayoutFrame 2 0.0 236 0 160 0 258 0)
       
   418               visibilityChannel: isApplicationDefinitionHolder
       
   419               translateLabel: true
       
   420               adjust: right
       
   421             )
       
   422            (InputFieldSpec
       
   423               name: 'IconFileNameEntryField'
       
   424               layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0)
       
   425               visibilityChannel: isApplicationDefinitionHolder
       
   426               model: iconFilenameHolder
       
   427               acceptOnReturn: true
       
   428               acceptOnTab: true
       
   429               acceptOnLostFocus: true
       
   430               acceptOnPointerLeave: false
       
   431             )
       
   432            )
       
   433          
       
   434         )
       
   435       )
       
   436 !
       
   437 
       
   438 extensionsSpec
       
   439     "This resource specification was automatically generated
       
   440      by the UIPainter of ST/X."
       
   441 
       
   442     "Do not manually edit this!! If it is corrupted,
       
   443      the UIPainter may not be able to read the specification."
       
   444 
       
   445     "
       
   446      UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec
       
   447      ApplicationDefinitionEditor new openInterface:#extensionsSpec
       
   448     "
       
   449 
       
   450     <resource: #canvas>
       
   451 
       
   452     ^ 
       
   453      #(FullSpec
       
   454         name: extensionsSpec
       
   455         window: 
       
   456        (WindowSpec
       
   457           label: 'NewApplication'
       
   458           name: 'NewApplication'
       
   459           min: (Point 0 0)
       
   460           bounds: (Rectangle 0 0 300 300)
       
   461         )
       
   462         component: 
       
   463        (SpecCollection
       
   464           collection: (
       
   465            (DataSetSpec
       
   466               name: 'ExtensionsTable'
       
   467               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   468               model: selectedExtensionIndexHolder
       
   469               hasHorizontalScrollBar: true
       
   470               hasVerticalScrollBar: true
       
   471               dataList: extensionsList
       
   472               columnHolder: extensionsTableColumns
       
   473             )
       
   474            )
       
   475          
       
   476         )
       
   477       )
       
   478 !
       
   479 
       
   480 prerequisitesSpec
       
   481     "This resource specification was automatically generated
       
   482      by the UIPainter of ST/X."
       
   483 
       
   484     "Do not manually edit this!! If it is corrupted,
       
   485      the UIPainter may not be able to read the specification."
       
   486 
       
   487     "
       
   488      UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec
       
   489      ApplicationDefinitionEditor new openInterface:#extensionsSpec
       
   490     "
       
   491 
       
   492     <resource: #canvas>
       
   493 
       
   494     ^ 
       
   495      #(FullSpec
       
   496         name: extensionsSpec
       
   497         window: 
       
   498        (WindowSpec
       
   499           label: 'NewApplication'
       
   500           name: 'NewApplication'
       
   501           min: (Point 0 0)
       
   502           bounds: (Rectangle 0 0 300 300)
       
   503         )
       
   504         component: 
       
   505        (SpecCollection
       
   506           collection: (
       
   507            (DataSetSpec
       
   508               name: 'ExtensionsTable'
       
   509               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   510               model: selectedPrerequisitesIndexHolder
       
   511               hasHorizontalScrollBar: true
       
   512               hasVerticalScrollBar: true
       
   513               dataList: prerequisitesList
       
   514               columnHolder: prerequisitesTableColumns
       
   515             )
       
   516            )
       
   517          
       
   518         )
       
   519       )
       
   520 
       
   521     "Created: / 05-09-2006 / 13:21:32 / cg"
       
   522 !
       
   523 
       
   524 startupSpec
       
   525     "This resource specification was automatically generated
       
   526      by the UIPainter of ST/X."
       
   527 
       
   528     "Do not manually edit this!! If it is corrupted,
       
   529      the UIPainter may not be able to read the specification."
       
   530 
       
   531     "
       
   532      UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#startupSpec
       
   533      ApplicationDefinitionEditor new openInterface:#startupSpec
       
   534     "
       
   535 
       
   536     <resource: #canvas>
       
   537 
       
   538     ^ 
       
   539      #(FullSpec
       
   540         name: startupSpec
       
   541         window: 
       
   542        (WindowSpec
       
   543           label: 'NewApplication'
       
   544           name: 'NewApplication'
       
   545           min: (Point 0 0)
       
   546           bounds: (Rectangle 0 0 433 300)
       
   547         )
       
   548         component: 
       
   549        (SpecCollection
       
   550           collection: (
       
   551            (FramedBoxSpec
       
   552               label: 'Startup'
       
   553               name: 'FramedBox1'
       
   554               layout: (LayoutFrame 0 0 0 0 0 1 -57 0.5)
       
   555               labelPosition: topLeft
       
   556               translateLabel: true
       
   557               component: 
       
   558              (SpecCollection
       
   559                 collection: (
       
   560                  (LabelSpec
       
   561                     label: 'Startup Class:'
       
   562                     name: 'Label1'
       
   563                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
       
   564                     translateLabel: true
       
   565                     adjust: right
       
   566                   )
       
   567                  (InputFieldSpec
       
   568                     name: 'StartupClassEntryField'
       
   569                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
       
   570                     model: startupClassHolder
       
   571                     acceptOnReturn: true
       
   572                     acceptOnTab: true
       
   573                     acceptOnLostFocus: true
       
   574                     acceptOnPointerLeave: false
       
   575                   )
       
   576                  (LabelSpec
       
   577                     label: 'Startup Selector:'
       
   578                     name: 'Label2'
       
   579                     layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
       
   580                     translateLabel: true
       
   581                     adjust: right
       
   582                   )
       
   583                  (InputFieldSpec
       
   584                     name: 'StartupSelectorEntryField'
       
   585                     layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
       
   586                     model: startupSelectorHolder
       
   587                     acceptOnReturn: true
       
   588                     acceptOnTab: true
       
   589                     acceptOnLostFocus: true
       
   590                     acceptOnPointerLeave: false
       
   591                   )
       
   592                  )
       
   593                
       
   594               )
       
   595             )
       
   596            (FramedBoxSpec
       
   597               label: 'Execution'
       
   598               name: 'FramedBox2'
       
   599               layout: (LayoutFrame 0 0 97 0 0 1 10 0.5)
       
   600               labelPosition: topLeft
       
   601               translateLabel: true
       
   602               component: 
       
   603              (SpecCollection
       
   604                 collection: (
       
   605                  (CheckBoxSpec
       
   606                     label: 'Non-GUI Application'
       
   607                     name: 'CheckBox1'
       
   608                     layout: (LayoutFrame 0 0.0 7 0 0 0.5 29 0)
       
   609                     model: isNonGUIApplicationHolder
       
   610                     translateLabel: true
       
   611                   )
       
   612                  (CheckBoxSpec
       
   613                     label: 'Singlethreaded'
       
   614                     name: 'CheckBox2'
       
   615                     layout: (LayoutFrame 0 0.5 7 0 0 1 29 0)
       
   616                     enableChannel: isNonGUIApplicationHolder
       
   617                     model: startSinglethreadedHolder
       
   618                     translateLabel: true
       
   619                   )
       
   620                  )
       
   621                
       
   622               )
       
   623             )
       
   624            )
       
   625          
       
   626         )
       
   627       )
       
   628 !
       
   629 
       
   630 windowSpec
       
   631     "This resource specification was automatically generated
       
   632      by the UIPainter of ST/X."
       
   633 
       
   634     "Do not manually edit this!! If it is corrupted,
       
   635      the UIPainter may not be able to read the specification."
       
   636 
       
   637     "
       
   638      UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#windowSpec
       
   639      ApplicationDefinitionBuilder new openInterface:#windowSpec
       
   640      ApplicationDefinitionBuilder open
       
   641     "
       
   642 
       
   643     <resource: #canvas>
       
   644 
       
   645     ^ 
       
   646      #(FullSpec
       
   647         name: windowSpec
       
   648         window: 
       
   649        (WindowSpec
       
   650           label: 'ApplicationDefinitionBuilder'
       
   651           name: 'ApplicationDefinitionBuilder'
       
   652           min: (Point 10 10)
       
   653           max: (Point 1024 768)
       
   654           bounds: (Rectangle 0 0 596 339)
       
   655           menu: mainMenu
       
   656         )
       
   657         component: 
       
   658        (SpecCollection
       
   659           collection: (
       
   660            (NoteBookViewSpec
       
   661               name: 'NoteBook1'
       
   662               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   663               model: selectedTabIndexHolder
       
   664               menu: tabList
       
   665               useIndex: true
       
   666             )
       
   667            )
       
   668          
       
   669         )
       
   670       )
       
   671 
       
   672     "Modified: / 03-09-2006 / 10:57:33 / cg"
       
   673 ! !
       
   674 
       
   675 !ProjectDefinitionEditor class methodsFor:'list specs'!
       
   676 
       
   677 tabListForApplication
       
   678     "This resource specification was automatically generated
       
   679      by the TabListEditor of ST/X."
       
   680 
       
   681     "Do not manually edit this!! If it is corrupted,
       
   682      the TabListEditor may not be able to read the specification."
       
   683 
       
   684     "
       
   685      TabListEditor new openOnClass: self andSelector:#tabList
       
   686     "
       
   687 
       
   688     <resource: #tabList>
       
   689 
       
   690     ^     #(
       
   691        (TabItem
       
   692           label: 'Classes'
       
   693           createNewBuilder: false
       
   694           translateLabel: true
       
   695           minorKey: classesSpec
       
   696         )
       
   697        (TabItem
       
   698           label: 'Extensions'
       
   699           minorKey: extensionsSpec
       
   700         )
       
   701        (TabItem
       
   702           label: 'Prerequisites'
       
   703           minorKey: prerequisitesSpec
       
   704         )
       
   705        (TabItem
       
   706           label: 'Description'
       
   707           minorKey: descriptionSpec
       
   708         )
       
   709        (TabItem
       
   710           label: 'Compilation'
       
   711           minorKey: compilationSpec
       
   712         )
       
   713        (TabItem
       
   714           label: 'Startup'
       
   715           minorKey: startupSpec
       
   716         )
       
   717        )
       
   718      
       
   719       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
       
   720 
       
   721     "Created: / 05-09-2006 / 16:24:48 / cg"
       
   722 !
       
   723 
       
   724 tabListForLibrary
       
   725     "This resource specification was automatically generated
       
   726      by the TabListEditor of ST/X."
       
   727 
       
   728     "Do not manually edit this!! If it is corrupted,
       
   729      the TabListEditor may not be able to read the specification."
       
   730 
       
   731     "
       
   732      TabListEditor new openOnClass: self andSelector:#tabList
       
   733     "
       
   734 
       
   735     <resource: #tabList>
       
   736 
       
   737     ^     #(
       
   738        (TabItem
       
   739           label: 'Classes'
       
   740           createNewBuilder: false
       
   741           translateLabel: true
       
   742           minorKey: classesSpec
       
   743         )
       
   744        (TabItem
       
   745           label: 'Extensions'
       
   746           minorKey: extensionsSpec
       
   747         )
       
   748        (TabItem
       
   749           label: 'Prerequisites'
       
   750           minorKey: prerequisitesSpec
       
   751         )
       
   752        (TabItem
       
   753           label: 'Description'
       
   754           minorKey: descriptionSpec
       
   755         )
       
   756        (TabItem
       
   757           label: 'Compilation'
       
   758           minorKey: compilationSpec
       
   759         )
       
   760        (TabItem
       
   761           label: 'Startup'
       
   762           minorKey: startupSpec
       
   763         )
       
   764        )
       
   765      
       
   766       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
       
   767 
       
   768     "Created: / 05-09-2006 / 16:24:52 / cg"
       
   769 ! !
       
   770 
       
   771 !ProjectDefinitionEditor class methodsFor:'menu specs'!
       
   772 
       
   773 classListMenu
       
   774     "This resource specification was automatically generated
       
   775      by the MenuEditor of ST/X."
       
   776 
       
   777     "Do not manually edit this!! If it is corrupted,
       
   778      the MenuEditor may not be able to read the specification."
       
   779 
       
   780     "
       
   781      MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#classListMenu
       
   782      (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor classListMenu)) startUp
       
   783     "
       
   784 
       
   785     <resource: #menu>
       
   786 
       
   787     ^ 
       
   788      #(Menu
       
   789         (
       
   790          (MenuItem
       
   791             label: 'Generate'
       
   792             itemValue: menuGenerateClassList
       
   793             translateLabel: true
       
   794           )
       
   795          (MenuItem
       
   796             label: '-'
       
   797           )
       
   798          (MenuItem
       
   799             label: 'Add...'
       
   800             itemValue: menuAddClass
       
   801             translateLabel: true
       
   802           )
       
   803          (MenuItem
       
   804             label: 'Remove...'
       
   805             itemValue: menuRemoveClass
       
   806             translateLabel: true
       
   807           )
       
   808          )
       
   809         nil
       
   810         nil
       
   811       )
       
   812 !
       
   813 
       
   814 extensionsListMenu
       
   815     "This resource specification was automatically generated
       
   816      by the MenuEditor of ST/X."
       
   817 
       
   818     "Do not manually edit this!! If it is corrupted,
       
   819      the MenuEditor may not be able to read the specification."
       
   820 
       
   821     "
       
   822      MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu
       
   823      (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp
       
   824     "
       
   825 
       
   826     <resource: #menu>
       
   827 
       
   828     ^ 
       
   829      #(Menu
       
   830         (
       
   831          (MenuItem
       
   832             label: 'Generate'
       
   833             itemValue: menuGenerateExtensionsList
       
   834             translateLabel: true
       
   835           )
       
   836          (MenuItem
       
   837             label: '-'
       
   838           )
       
   839          (MenuItem
       
   840             label: 'Add...'
       
   841             itemValue: menuAddExtension
       
   842             translateLabel: true
       
   843           )
       
   844          (MenuItem
       
   845             label: 'Remove...'
       
   846             itemValue: menuRemoveExtension
       
   847             translateLabel: true
       
   848           )
       
   849          )
       
   850         nil
       
   851         nil
       
   852       )
       
   853 !
       
   854 
       
   855 mainMenu
       
   856     "This resource specification was automatically generated
       
   857      by the MenuEditor of ST/X."
       
   858 
       
   859     "Do not manually edit this!! If it is corrupted,
       
   860      the MenuEditor may not be able to read the specification."
       
   861 
       
   862     "
       
   863      MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#mainMenu
       
   864      (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor mainMenu)) startUp
       
   865     "
       
   866 
       
   867     <resource: #menu>
       
   868 
       
   869     ^ 
       
   870      #(Menu
       
   871         (
       
   872          (MenuItem
       
   873             label: 'File'
       
   874             translateLabel: true
       
   875             submenu: 
       
   876            (Menu
       
   877               (
       
   878                (MenuItem
       
   879                   label: 'New'
       
   880                   itemValue: menuNew
       
   881                   translateLabel: true
       
   882                 )
       
   883                (MenuItem
       
   884                   label: '-'
       
   885                 )
       
   886                (MenuItem
       
   887                   label: 'Open...'
       
   888                   itemValue: menuOpen
       
   889                   translateLabel: true
       
   890                 )
       
   891                (MenuItem
       
   892                   label: '-'
       
   893                 )
       
   894                (MenuItem
       
   895                   label: 'Save'
       
   896                   itemValue: menuSave
       
   897                   translateLabel: true
       
   898                 )
       
   899                (MenuItem
       
   900                   label: 'Save As...'
       
   901                   itemValue: menuSaveAs
       
   902                   translateLabel: true
       
   903                 )
       
   904                (MenuItem
       
   905                   label: '-'
       
   906                 )
       
   907                (MenuItem
       
   908                   label: 'Exit'
       
   909                   itemValue: closeRequest
       
   910                   translateLabel: true
       
   911                 )
       
   912                )
       
   913               nil
       
   914               nil
       
   915             )
       
   916           )
       
   917          (MenuItem
       
   918             label: 'Classes'
       
   919             translateLabel: true
       
   920             isVisible: classesMenuVisibleHolder
       
   921             submenuChannel: classListMenu
       
   922             keepLinkedMenu: true
       
   923           )
       
   924          (MenuItem
       
   925             label: 'Extensions'
       
   926             translateLabel: true
       
   927             isVisible: extensionsMenuVisibleHolder
       
   928             submenuChannel: extensionsListMenu
       
   929             keepLinkedMenu: true
       
   930           )
       
   931          (MenuItem
       
   932             label: 'Prerequisites'
       
   933             translateLabel: true
       
   934             isVisible: prerequisitesMenuVisibleHolder
       
   935             submenuChannel: prerequisitesListMenu
       
   936             keepLinkedMenu: true
       
   937           )
       
   938          (MenuItem
       
   939             label: 'Help'
       
   940             translateLabel: true
       
   941             startGroup: right
       
   942             submenu: 
       
   943            (Menu
       
   944               (
       
   945                (MenuItem
       
   946                   label: 'Documentation'
       
   947                   itemValue: openDocumentation
       
   948                   translateLabel: true
       
   949                 )
       
   950                (MenuItem
       
   951                   label: '-'
       
   952                 )
       
   953                (MenuItem
       
   954                   label: 'About this Application...'
       
   955                   itemValue: openAboutThisApplication
       
   956                   translateLabel: true
       
   957                 )
       
   958                )
       
   959               nil
       
   960               nil
       
   961             )
       
   962           )
       
   963          )
       
   964         nil
       
   965         nil
       
   966       )
       
   967 !
       
   968 
       
   969 prerequisitesListMenu
       
   970     "This resource specification was automatically generated
       
   971      by the MenuEditor of ST/X."
       
   972 
       
   973     "Do not manually edit this!! If it is corrupted,
       
   974      the MenuEditor may not be able to read the specification."
       
   975 
       
   976     "
       
   977      MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu
       
   978      (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp
       
   979     "
       
   980 
       
   981     <resource: #menu>
       
   982 
       
   983     ^ 
       
   984      #(Menu
       
   985         (
       
   986          (MenuItem
       
   987             label: 'Generate'
       
   988             itemValue: menuGeneratePrerequisitesList
       
   989             translateLabel: true
       
   990           )
       
   991          (MenuItem
       
   992             label: '-'
       
   993           )
       
   994          (MenuItem
       
   995             label: 'Add...'
       
   996             itemValue: menuAddPrerequisite
       
   997             translateLabel: true
       
   998           )
       
   999          (MenuItem
       
  1000             label: 'Remove...'
       
  1001             itemValue: menuRemovePrerequisite
       
  1002             translateLabel: true
       
  1003           )
       
  1004          )
       
  1005         nil
       
  1006         nil
       
  1007       )
       
  1008 
       
  1009     "Modified: / 05-09-2006 / 13:24:58 / cg"
       
  1010 ! !
       
  1011 
       
  1012 !ProjectDefinitionEditor class methodsFor:'tableColumns specs'!
       
  1013 
       
  1014 classesTableColumns
       
  1015     "This resource specification was automatically generated
       
  1016      by the DataSetBuilder of ST/X."
       
  1017 
       
  1018     "Do not manually edit this!! If it is corrupted,
       
  1019      the DataSetBuilder may not be able to read the specification."
       
  1020 
       
  1021     "
       
  1022      DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#classesTableColumns
       
  1023     "
       
  1024 
       
  1025     <resource: #tableColumns>
       
  1026 
       
  1027     ^#(
       
  1028       (DataSetColumnSpec
       
  1029          label: 'Auto'
       
  1030          labelButtonType: Button
       
  1031          rendererType: CheckToggle
       
  1032          model: autoloaded
       
  1033        )
       
  1034       (DataSetColumnSpec
       
  1035          label: 'Win32'
       
  1036          labelButtonType: Button
       
  1037          rendererType: CheckToggle
       
  1038          model: win32
       
  1039        )
       
  1040       (DataSetColumnSpec
       
  1041          label: 'Unix'
       
  1042          labelButtonType: Button
       
  1043          rendererType: CheckToggle
       
  1044          model: unix
       
  1045        )
       
  1046       (DataSetColumnSpec
       
  1047          label: 'Class'
       
  1048          labelButtonType: Button
       
  1049          model: className
       
  1050        )
       
  1051       )
       
  1052     
       
  1053 !
       
  1054 
       
  1055 extensionsTableColumns
       
  1056     "This resource specification was automatically generated
       
  1057      by the DataSetBuilder of ST/X."
       
  1058 
       
  1059     "Do not manually edit this!! If it is corrupted,
       
  1060      the DataSetBuilder may not be able to read the specification."
       
  1061 
       
  1062     "
       
  1063      DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsTableColumns
       
  1064     "
       
  1065 
       
  1066     <resource: #tableColumns>
       
  1067 
       
  1068     ^#(
       
  1069       (DataSetColumnSpec
       
  1070          label: 'Class'
       
  1071          labelButtonType: Button
       
  1072          model: className
       
  1073        )
       
  1074       (DataSetColumnSpec
       
  1075          label: 'Selector'
       
  1076          labelButtonType: Button
       
  1077          model: selector
       
  1078        )
       
  1079       )
       
  1080     
       
  1081 !
       
  1082 
       
  1083 prerequisitesTableColumns
       
  1084     "This resource specification was automatically generated
       
  1085      by the DataSetBuilder of ST/X."
       
  1086 
       
  1087     "Do not manually edit this!! If it is corrupted,
       
  1088      the DataSetBuilder may not be able to read the specification."
       
  1089 
       
  1090     "
       
  1091      DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#prerequisitesTableColumns
       
  1092     "
       
  1093 
       
  1094     <resource: #tableColumns>
       
  1095 
       
  1096     ^#(
       
  1097       (DataSetColumnSpec
       
  1098          label: 'Package'
       
  1099          labelButtonType: Button
       
  1100          model: package
       
  1101        )
       
  1102       )
       
  1103     
       
  1104 ! !
       
  1105 
       
  1106 !ProjectDefinitionEditor methodsFor:'accessing'!
       
  1107 
       
  1108 definitionClass
       
  1109     ^ definitionClass
       
  1110 
       
  1111     "Created: / 04-09-2006 / 16:30:09 / cg"
       
  1112 !
       
  1113 
       
  1114 definitionClass:aClass
       
  1115     definitionClass := aClass.
       
  1116     self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ).
       
  1117 
       
  1118     "Created: / 04-09-2006 / 16:30:18 / cg"
       
  1119     "Modified: / 04-09-2006 / 19:22:40 / cg"
       
  1120 ! !
       
  1121 
       
  1122 !ProjectDefinitionEditor methodsFor:'aspects'!
       
  1123 
       
  1124 classList
       
  1125     classList isNil ifTrue:[
       
  1126         classList := #() asValue.
       
  1127     ].
       
  1128     ^ classList.
       
  1129 
       
  1130     "Modified: / 05-09-2006 / 10:22:35 / cg"
       
  1131 !
       
  1132 
       
  1133 classesTableColumns
       
  1134     classesTableColumns isNil ifTrue:[
       
  1135         classesTableColumns := self class classesTableColumns asValue.
       
  1136     ].
       
  1137     ^ classesTableColumns.
       
  1138 
       
  1139     "Modified: / 04-09-2006 / 17:58:09 / cg"
       
  1140 !
       
  1141 
       
  1142 companyNameHolder
       
  1143     companyNameHolder isNil ifTrue:[
       
  1144         companyNameHolder := ValueHolder new.
       
  1145     ].
       
  1146     ^ companyNameHolder.
       
  1147 
       
  1148     "Created: / 04-09-2006 / 17:58:02 / cg"
       
  1149 !
       
  1150 
       
  1151 descriptionHolder
       
  1152     descriptionHolder isNil ifTrue:[
       
  1153         descriptionHolder := ValueHolder new.
       
  1154     ].
       
  1155     ^ descriptionHolder.
       
  1156 
       
  1157     "Modified: / 04-09-2006 / 17:58:15 / cg"
       
  1158 !
       
  1159 
       
  1160 fileDescriptionHolder
       
  1161     fileDescriptionHolder isNil ifTrue:[
       
  1162         fileDescriptionHolder := ValueHolder new.
       
  1163     ].
       
  1164     ^ fileDescriptionHolder.
       
  1165 
       
  1166     "Modified: / 04-09-2006 / 17:58:19 / cg"
       
  1167 !
       
  1168 
       
  1169 fileMajorVersionNrHolder
       
  1170     "automatically generated by UIPainter ..."
       
  1171 
       
  1172     "*** the code below creates a default model when invoked."
       
  1173     "*** (which may not be the one you wanted)"
       
  1174     "*** Please change as required and accept it in the browser."
       
  1175     "*** (and replace this comment by something more useful ;-)"
       
  1176 
       
  1177     fileMajorVersionNrHolder isNil ifTrue:[
       
  1178         fileMajorVersionNrHolder := ValueHolder new.
       
  1179 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1180 "/       fileMajorVersionNrHolder addDependent:self.
       
  1181 "/       fileMajorVersionNrHolder onChangeSend:#fileMajorVersionNrHolderChanged to:self.
       
  1182     ].
       
  1183     ^ fileMajorVersionNrHolder.
       
  1184 !
       
  1185 
       
  1186 fileMinorVersionNrHolder
       
  1187     "automatically generated by UIPainter ..."
       
  1188 
       
  1189     "*** the code below creates a default model when invoked."
       
  1190     "*** (which may not be the one you wanted)"
       
  1191     "*** Please change as required and accept it in the browser."
       
  1192     "*** (and replace this comment by something more useful ;-)"
       
  1193 
       
  1194     fileMinorVersionNrHolder isNil ifTrue:[
       
  1195         fileMinorVersionNrHolder := ValueHolder new.
       
  1196 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1197 "/       fileMinorVersionNrHolder addDependent:self.
       
  1198 "/       fileMinorVersionNrHolder onChangeSend:#fileMinorVersionNrHolderChanged to:self.
       
  1199     ].
       
  1200     ^ fileMinorVersionNrHolder.
       
  1201 !
       
  1202 
       
  1203 fileReleaseNrHolder
       
  1204     "automatically generated by UIPainter ..."
       
  1205 
       
  1206     "*** the code below creates a default model when invoked."
       
  1207     "*** (which may not be the one you wanted)"
       
  1208     "*** Please change as required and accept it in the browser."
       
  1209     "*** (and replace this comment by something more useful ;-)"
       
  1210 
       
  1211     fileReleaseNrHolder isNil ifTrue:[
       
  1212         fileReleaseNrHolder := ValueHolder new.
       
  1213 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1214 "/       fileReleaseNrHolder addDependent:self.
       
  1215 "/       fileReleaseNrHolder onChangeSend:#fileReleaseNrHolderChanged to:self.
       
  1216     ].
       
  1217     ^ fileReleaseNrHolder.
       
  1218 !
       
  1219 
       
  1220 fileRevisionNrHolder
       
  1221     "automatically generated by UIPainter ..."
       
  1222 
       
  1223     "*** the code below creates a default model when invoked."
       
  1224     "*** (which may not be the one you wanted)"
       
  1225     "*** Please change as required and accept it in the browser."
       
  1226     "*** (and replace this comment by something more useful ;-)"
       
  1227 
       
  1228     fileRevisionNrHolder isNil ifTrue:[
       
  1229         fileRevisionNrHolder := ValueHolder new.
       
  1230 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1231 "/       fileRevisionNrHolder addDependent:self.
       
  1232 "/       fileRevisionNrHolder onChangeSend:#fileRevisionNrHolderChanged to:self.
       
  1233     ].
       
  1234     ^ fileRevisionNrHolder.
       
  1235 !
       
  1236 
       
  1237 iconFileNameHolder
       
  1238     iconFileNameHolder isNil ifTrue:[
       
  1239         iconFileNameHolder := ValueHolder new.
       
  1240     ].
       
  1241     ^ iconFileNameHolder.
       
  1242 
       
  1243     "Created: / 04-09-2006 / 18:01:22 / cg"
       
  1244 !
       
  1245 
       
  1246 iconFilenameHolder
       
  1247     "automatically generated by UIPainter ..."
       
  1248 
       
  1249     "*** the code below creates a default model when invoked."
       
  1250     "*** (which may not be the one you wanted)"
       
  1251     "*** Please change as required and accept it in the browser."
       
  1252     "*** (and replace this comment by something more useful ;-)"
       
  1253 
       
  1254     iconFilenameHolder isNil ifTrue:[
       
  1255         iconFilenameHolder := ValueHolder new.
       
  1256 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1257 "/       iconFilenameHolder addDependent:self.
       
  1258 "/       iconFilenameHolder onChangeSend:#iconFilenameHolderChanged to:self.
       
  1259     ].
       
  1260     ^ iconFilenameHolder.
       
  1261 !
       
  1262 
       
  1263 isApplicationDefinitionHolder
       
  1264     isApplicationDefinitionHolder isNil ifTrue:[
       
  1265         isApplicationDefinitionHolder := false asValue
       
  1266     ].
       
  1267     ^ isApplicationDefinitionHolder.
       
  1268 
       
  1269     "Created: / 04-09-2006 / 19:22:47 / cg"
       
  1270 !
       
  1271 
       
  1272 isNonGUIApplicationHolder
       
  1273     isNonGUIApplicationHolder isNil ifTrue:[
       
  1274         isNonGUIApplicationHolder := false asValue.
       
  1275     ].
       
  1276     ^ isNonGUIApplicationHolder.
       
  1277 
       
  1278     "Created: / 05-09-2006 / 13:34:31 / cg"
       
  1279 !
       
  1280 
       
  1281 legalCopyrightHolder
       
  1282     "automatically generated by UIPainter ..."
       
  1283 
       
  1284     "*** the code below creates a default model when invoked."
       
  1285     "*** (which may not be the one you wanted)"
       
  1286     "*** Please change as required and accept it in the browser."
       
  1287     "*** (and replace this comment by something more useful ;-)"
       
  1288 
       
  1289     legalCopyrightHolder isNil ifTrue:[
       
  1290         legalCopyrightHolder := ValueHolder new.
       
  1291 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1292 "/       legalCopyrightHolder addDependent:self.
       
  1293 "/       legalCopyrightHolder onChangeSend:#legalCopyrightHolderChanged to:self.
       
  1294     ].
       
  1295     ^ legalCopyrightHolder.
       
  1296 !
       
  1297 
       
  1298 majorVersionNrHolder
       
  1299     "automatically generated by UIPainter ..."
       
  1300 
       
  1301     "*** the code below creates a default model when invoked."
       
  1302     "*** (which may not be the one you wanted)"
       
  1303     "*** Please change as required and accept it in the browser."
       
  1304     "*** (and replace this comment by something more useful ;-)"
       
  1305 
       
  1306     majorVersionNrHolder isNil ifTrue:[
       
  1307         majorVersionNrHolder := ValueHolder new.
       
  1308 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1309 "/       majorVersionNrHolder addDependent:self.
       
  1310 "/       majorVersionNrHolder onChangeSend:#majorVersionNrHolderChanged to:self.
       
  1311     ].
       
  1312     ^ majorVersionNrHolder.
       
  1313 !
       
  1314 
       
  1315 minorVersionNrHolder
       
  1316     "automatically generated by UIPainter ..."
       
  1317 
       
  1318     "*** the code below creates a default model when invoked."
       
  1319     "*** (which may not be the one you wanted)"
       
  1320     "*** Please change as required and accept it in the browser."
       
  1321     "*** (and replace this comment by something more useful ;-)"
       
  1322 
       
  1323     minorVersionNrHolder isNil ifTrue:[
       
  1324         minorVersionNrHolder := ValueHolder new.
       
  1325 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1326 "/       minorVersionNrHolder addDependent:self.
       
  1327 "/       minorVersionNrHolder onChangeSend:#minorVersionNrHolderChanged to:self.
       
  1328     ].
       
  1329     ^ minorVersionNrHolder.
       
  1330 !
       
  1331 
       
  1332 productNameHolder
       
  1333     "automatically generated by UIPainter ..."
       
  1334 
       
  1335     "*** the code below creates a default model when invoked."
       
  1336     "*** (which may not be the one you wanted)"
       
  1337     "*** Please change as required and accept it in the browser."
       
  1338     "*** (and replace this comment by something more useful ;-)"
       
  1339 
       
  1340     productNameHolder isNil ifTrue:[
       
  1341         productNameHolder := ValueHolder new.
       
  1342 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1343 "/       productNameHolder addDependent:self.
       
  1344 "/       productNameHolder onChangeSend:#productNameHolderChanged to:self.
       
  1345     ].
       
  1346     ^ productNameHolder.
       
  1347 !
       
  1348 
       
  1349 releaseNrHolder
       
  1350     "automatically generated by UIPainter ..."
       
  1351 
       
  1352     "*** the code below creates a default model when invoked."
       
  1353     "*** (which may not be the one you wanted)"
       
  1354     "*** Please change as required and accept it in the browser."
       
  1355     "*** (and replace this comment by something more useful ;-)"
       
  1356 
       
  1357     releaseNrHolder isNil ifTrue:[
       
  1358         releaseNrHolder := ValueHolder new.
       
  1359 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1360 "/       releaseNrHolder addDependent:self.
       
  1361 "/       releaseNrHolder onChangeSend:#releaseNrHolderChanged to:self.
       
  1362     ].
       
  1363     ^ releaseNrHolder.
       
  1364 !
       
  1365 
       
  1366 revisionNrHolder
       
  1367     "automatically generated by UIPainter ..."
       
  1368 
       
  1369     "*** the code below creates a default model when invoked."
       
  1370     "*** (which may not be the one you wanted)"
       
  1371     "*** Please change as required and accept it in the browser."
       
  1372     "*** (and replace this comment by something more useful ;-)"
       
  1373 
       
  1374     revisionNrHolder isNil ifTrue:[
       
  1375         revisionNrHolder := ValueHolder new.
       
  1376 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1377 "/       revisionNrHolder addDependent:self.
       
  1378 "/       revisionNrHolder onChangeSend:#revisionNrHolderChanged to:self.
       
  1379     ].
       
  1380     ^ revisionNrHolder.
       
  1381 !
       
  1382 
       
  1383 selectedClassIndexHolder
       
  1384     "automatically generated by UIPainter ..."
       
  1385 
       
  1386     "*** the code below creates a default model when invoked."
       
  1387     "*** (which may not be the one you wanted)"
       
  1388     "*** Please change as required and accept it in the browser."
       
  1389     "*** (and replace this comment by something more useful ;-)"
       
  1390 
       
  1391     selectedClassIndexHolder isNil ifTrue:[
       
  1392         selectedClassIndexHolder := ValueHolder new.
       
  1393 "/ if your app needs to be notified of changes, uncomment one of the lines below:
       
  1394 "/       selectedClassIndexHolder addDependent:self.
       
  1395 "/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
       
  1396     ].
       
  1397     ^ selectedClassIndexHolder.
       
  1398 !
       
  1399 
       
  1400 startSinglethreadedHolder
       
  1401     startSinglethreadedHolder isNil ifTrue:[
       
  1402         startSinglethreadedHolder := false asValue.
       
  1403     ].
       
  1404     ^ startSinglethreadedHolder.
       
  1405 
       
  1406     "Created: / 05-09-2006 / 13:34:54 / cg"
       
  1407 !
       
  1408 
       
  1409 startupClassHolder
       
  1410     startupClassHolder isNil ifTrue:[
       
  1411         startupClassHolder := '' asValue.
       
  1412     ].
       
  1413     ^ startupClassHolder.
       
  1414 
       
  1415     "Created: / 05-09-2006 / 13:34:08 / cg"
       
  1416 !
       
  1417 
       
  1418 startupSelectorHolder
       
  1419     startupSelectorHolder isNil ifTrue:[
       
  1420         startupSelectorHolder := '' asValue.
       
  1421     ].
       
  1422     ^ startupSelectorHolder.
       
  1423 
       
  1424     "Created: / 05-09-2006 / 13:34:20 / cg"
       
  1425 !
       
  1426 
       
  1427 tabList
       
  1428     "Generated by the TabListEditor"
       
  1429 
       
  1430     |list|
       
  1431 
       
  1432     (list := builder bindingAt:#tabList) isNil ifTrue:[
       
  1433         builder aspectAt:#tabList put:(list := self class tabListForApplication asValue).
       
  1434     ].
       
  1435     ^ list
       
  1436 
       
  1437     "Modified: / 05-09-2006 / 16:28:09 / cg"
       
  1438 ! !
       
  1439 
       
  1440 !ProjectDefinitionEditor methodsFor:'aspects-menu'!
       
  1441 
       
  1442 classesMenuVisibleHolder
       
  1443     ^ builder booleanValueAspectFor:#'classesMenuVisibleHolder'
       
  1444 
       
  1445     "Modified: / 03-09-2006 / 10:57:00 / cg"
       
  1446 !
       
  1447 
       
  1448 extensionsMenuVisibleHolder
       
  1449     ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder'
       
  1450 
       
  1451     "Created: / 05-09-2006 / 13:03:16 / cg"
       
  1452 !
       
  1453 
       
  1454 prerequisitesMenuVisibleHolder
       
  1455     ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder'
       
  1456 
       
  1457     "Created: / 05-09-2006 / 13:26:45 / cg"
       
  1458 !
       
  1459 
       
  1460 selectedTabIndexHolder
       
  1461     |h|
       
  1462 
       
  1463     h := builder valueAspectFor:#'selectedTabIndexHolder' initialValue:nil.
       
  1464     h addDependent:self.
       
  1465     ^ h
       
  1466 
       
  1467     "Created: / 03-09-2006 / 10:58:05 / cg"
       
  1468 ! !
       
  1469 
       
  1470 !ProjectDefinitionEditor methodsFor:'change & update'!
       
  1471 
       
  1472 fetchClassListEntries
       
  1473     |entries|
       
  1474 
       
  1475     entries := OrderedCollection new.
       
  1476     definitionClass 
       
  1477         classNamesAndAttributesDo:[:className :attributes |
       
  1478             |entry|
       
  1479 
       
  1480             entry := ClassListEntry new.
       
  1481             entry 
       
  1482                 className:className
       
  1483                 autoloaded:(attributes includes:#autoload)
       
  1484                 win32:(attributes includes:#win32) 
       
  1485                 unix:(attributes includes:#unix).
       
  1486             entries add:entry.
       
  1487         ].
       
  1488 
       
  1489     ^ entries.
       
  1490 
       
  1491     "Created: / 05-09-2006 / 12:31:26 / cg"
       
  1492 !
       
  1493 
       
  1494 fetchValues
       
  1495     |definitionClass isApplicationDefinition|
       
  1496 
       
  1497     definitionClass := self definitionClass.
       
  1498     definitionClass isNil ifTrue:[^ self ].
       
  1499 
       
  1500     isApplicationDefinition := definitionClass isApplicationDefinition.
       
  1501 
       
  1502     self isApplicationDefinitionHolder value:isApplicationDefinition.
       
  1503     isApplicationDefinition ifTrue:[
       
  1504         self startupClassHolder value:(definitionClass startupClass).
       
  1505         self startupSelectorHolder value:(definitionClass startupSelector).
       
  1506         self iconFileNameHolder value:(definitionClass iconFileName).
       
  1507         self tabList value:(self class tabListForApplication).
       
  1508     ] ifFalse:[
       
  1509         self tabList value:(self class tabListForLibrary).
       
  1510     ].
       
  1511 
       
  1512     self companyNameHolder value:(definitionClass companyName).
       
  1513     self descriptionHolder value:(definitionClass description).
       
  1514     self legalCopyrightHolder value:(definitionClass legalCopyright).
       
  1515     self productNameHolder value:(definitionClass productName).
       
  1516     self majorVersionNrHolder value:(definitionClass majorVersionNr asInteger).
       
  1517     self minorVersionNrHolder value:(definitionClass minorVersionNr asInteger).
       
  1518     self revisionNrHolder value:(definitionClass revisionNr asInteger).
       
  1519     self releaseNrHolder value:(definitionClass releaseNr asInteger).
       
  1520 
       
  1521     self fileDescriptionHolder value:(definitionClass fileDescription).
       
  1522     self fileMajorVersionNrHolder value:(definitionClass fileMajorVersionNr asInteger).
       
  1523     self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger).
       
  1524     self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger).
       
  1525     self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger).
       
  1526 
       
  1527     self classList value:(self fetchClassListEntries).
       
  1528 
       
  1529     self window 
       
  1530         label:(isApplicationDefinition 
       
  1531                 ifTrue:'Application'
       
  1532                 ifFalse:'Library' ) 
       
  1533                     , ' Definition: ',definitionClass name.
       
  1534 
       
  1535     "Created: / 04-09-2006 / 16:34:39 / cg"
       
  1536     "Modified: / 05-09-2006 / 16:26:45 / cg"
       
  1537 !
       
  1538 
       
  1539 update:something with:parameter from:changedObject
       
  1540     changedObject == self selectedTabIndexHolder ifTrue:[
       
  1541         self updateMenuVisibility.
       
  1542         ^ self.
       
  1543     ].
       
  1544     ^ super update:something with:parameter from:changedObject
       
  1545 
       
  1546     "Created: / 03-09-2006 / 10:59:42 / cg"
       
  1547 !
       
  1548 
       
  1549 updateMenuVisibility
       
  1550     self classesMenuVisibleHolder value:(self hasClassesTabSelected).
       
  1551     self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected).
       
  1552     self prerequisitesMenuVisibleHolder value:(self hasPrerequisitesTabSelected).
       
  1553 
       
  1554     "Created: / 03-09-2006 / 11:01:48 / cg"
       
  1555     "Modified: / 05-09-2006 / 13:27:10 / cg"
       
  1556 ! !
       
  1557 
       
  1558 !ProjectDefinitionEditor methodsFor:'initialization & release'!
       
  1559 
       
  1560 closeRequest
       
  1561     (self hasUnsavedChanges) ifTrue:[
       
  1562         (self confirm:(resources string:'Close without saving ?')) ifFalse:[
       
  1563             ^ self
       
  1564         ]
       
  1565     ].
       
  1566 
       
  1567     ^ super closeRequest
       
  1568 
       
  1569     "Modified: / 03-09-2006 / 10:53:14 / cg"
       
  1570 !
       
  1571 
       
  1572 postBuildWith:aBuilder
       
  1573     super postBuildWith:aBuilder.
       
  1574     self selectedTabIndexHolder value:1.
       
  1575     self updateMenuVisibility.
       
  1576     self fetchValues.
       
  1577 
       
  1578     "Modified: / 04-09-2006 / 16:28:09 / cg"
       
  1579 !
       
  1580 
       
  1581 postOpenWith:aBuilder
       
  1582     "This is a hook method generated by the Browser.
       
  1583      It will be invoked right after the applications window has been opened.
       
  1584      Add any app-specific actions here (starting background processes etc.).
       
  1585      See also #postBuildWith:, which is invoked before opening."
       
  1586 
       
  1587     "/ add any code here ...
       
  1588 
       
  1589     ^ super postOpenWith:aBuilder
       
  1590 ! !
       
  1591 
       
  1592 !ProjectDefinitionEditor methodsFor:'menu actions'!
       
  1593 
       
  1594 menuNew
       
  1595     "This method was generated by the Browser.
       
  1596      It will be invoked when the menu-item 'new' is selected."
       
  1597 
       
  1598     "/ change below and add any actions as required here ...
       
  1599     self warn:'no action for ''new'' available.'.
       
  1600 !
       
  1601 
       
  1602 menuOpen
       
  1603     self warn:'no action for ''open'' defined.'.
       
  1604 
       
  1605     "Modified: / 05-09-2006 / 16:28:51 / cg"
       
  1606 !
       
  1607 
       
  1608 menuSave
       
  1609     self menuSaveAs:definitionClass name
       
  1610 
       
  1611     "Modified: / 05-09-2006 / 13:48:27 / cg"
       
  1612 !
       
  1613 
       
  1614 menuSaveAs
       
  1615     |className class newPackage|
       
  1616 
       
  1617     className := Dialog 
       
  1618                     requestClassName:'Name of new Definition class'
       
  1619                     okLabel:'Create'
       
  1620                     initialAnswer:'privete_myProject'.
       
  1621     className isEmptyOrNil ifTrue:[^ self].
       
  1622     class := Smalltalk classNamed:className.
       
  1623     class notNil ifTrue:[
       
  1624         Dialog warn:(resources 
       
  1625                             string:'A class named %1 already exists'
       
  1626                             with:className).
       
  1627         ^ self.
       
  1628     ].
       
  1629     newPackage := className copy replaceAll:$_ with:$/.
       
  1630     newPackage replace:$/ with:$:.
       
  1631     class := ApplicationDefinition newNamed:className package:newPackage.
       
  1632     self menuSaveAs:class.
       
  1633 
       
  1634     "Modified: / 05-09-2006 / 16:20:16 / cg"
       
  1635 !
       
  1636 
       
  1637 menuSaveAs:aClassName
       
  1638     self halt.
       
  1639 
       
  1640     "Created: / 05-09-2006 / 13:48:03 / cg"
       
  1641 !
       
  1642 
       
  1643 openAboutThisApplication
       
  1644     "This method was generated by the Browser.
       
  1645      It will be invoked when the menu-item 'help-about' is selected."
       
  1646 
       
  1647     "/ could open a customized aboutBox here ...
       
  1648     super openAboutThisApplication
       
  1649 !
       
  1650 
       
  1651 openDocumentation
       
  1652     "This method was generated by the Browser.
       
  1653      It will be invoked when the menu-item 'help-documentation' is selected."
       
  1654 
       
  1655     "/ change below as required ...
       
  1656 
       
  1657     "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
       
  1658     HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
       
  1659 
       
  1660     "/ add application-specific help files under the 'doc/online/<language>/help/appName'
       
  1661     "/ directory, and open a viewer with:
       
  1662     "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
       
  1663 ! !
       
  1664 
       
  1665 !ProjectDefinitionEditor methodsFor:'queries'!
       
  1666 
       
  1667 hasClassesTabSelected
       
  1668     ^ self selectedTabIndex == 1
       
  1669 
       
  1670     "Created: / 03-09-2006 / 11:00:39 / cg"
       
  1671 !
       
  1672 
       
  1673 hasExtensionsTabSelected
       
  1674     ^ self selectedTabIndex == 2
       
  1675 
       
  1676     "Created: / 05-09-2006 / 13:02:26 / cg"
       
  1677 !
       
  1678 
       
  1679 hasPrerequisitesTabSelected
       
  1680     ^ self selectedTabIndex == 3
       
  1681 
       
  1682     "Created: / 05-09-2006 / 13:27:16 / cg"
       
  1683 !
       
  1684 
       
  1685 hasUnsavedChanges
       
  1686      ^ false
       
  1687 
       
  1688     "Created: / 03-09-2006 / 10:53:05 / cg"
       
  1689 !
       
  1690 
       
  1691 selectedTabIndex
       
  1692     ^ self selectedTabIndexHolder value
       
  1693 
       
  1694     "Created: / 03-09-2006 / 11:00:48 / cg"
       
  1695 ! !
       
  1696 
       
  1697 !ProjectDefinitionEditor::ClassListEntry methodsFor:'accessing'!
       
  1698 
       
  1699 autoloaded
       
  1700     ^ autoloaded
       
  1701 !
       
  1702 
       
  1703 autoloaded:something
       
  1704     autoloaded := something.
       
  1705 !
       
  1706 
       
  1707 className
       
  1708     ^ className
       
  1709 !
       
  1710 
       
  1711 className:something
       
  1712     className := something.
       
  1713 !
       
  1714 
       
  1715 className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg 
       
  1716     className := classNameArg.
       
  1717     autoloaded := autoloadedArg.
       
  1718     win32 := win32Arg.
       
  1719     unix := unixArg.
       
  1720 !
       
  1721 
       
  1722 unix
       
  1723     ^ unix
       
  1724 !
       
  1725 
       
  1726 unix:something
       
  1727     unix := something.
       
  1728 !
       
  1729 
       
  1730 win32
       
  1731     ^ win32
       
  1732 !
       
  1733 
       
  1734 win32:something
       
  1735     win32 := something.
       
  1736 ! !
       
  1737 
       
  1738 !ProjectDefinitionEditor class methodsFor:'documentation'!
       
  1739 
       
  1740 version
       
  1741     ^ '$Header$'
       
  1742 ! !