ProjectBrowser.st
changeset 1231 7d025840ea10
parent 1229 49777692d309
child 1232 6c68d44a9151
equal deleted inserted replaced
1230:23e5d0c133e8 1231:7d025840ea10
   101 'Undo modifications made here.'
   101 'Undo modifications made here.'
   102 
   102 
   103 #defaultNamespace
   103 #defaultNamespace
   104 'Namespace for new classes when created in the Browser.'
   104 'Namespace for new classes when created in the Browser.'
   105 
   105 
   106 #deliverAsGZIP
   106 #deliverGZipArchive
   107 'Package delivery into a gzip archive (for unix)'
   107 'Package delivery into a gzip archive (for unix)'
   108 
   108 
   109 #deliverAsTar
   109 #deliverTarArchive
   110 'Package delivery into a tar archive (for unix)'
   110 'Package delivery into a tar archive (for unix)'
   111 
   111 
   112 #deliverAsZIP
   112 #deliverZipArchive
   113 'Package delivery into a zip archive (for win32)'
   113 'Package delivery into a zip archive (for win32)'
   114 
   114 
   115 #deliverBinary
   115 #deliverCompiledBinary
   116 'Create and deliver as compiled binary (classLibrary) - will only execute on the running systems architecture.'
   116 'Create and deliver as compiled binary (classLibrary) - will only execute on the running systems architecture.'
   117 
   117 
   118 #deliverByteCode
   118 #deliverByteCode
   119 'Create and deliver as bytecode - portable across architectures.'
   119 'Create and deliver as bytecode - portable across architectures.'
   120 
   120 
   121 #deliverLoadAll
   121 #deliverLoadAll
   122 'Deliver a loadAll script file, which files-In the other files.'
   122 'Deliver a loadAll script file, which files-In the other files.'
   123 
   123 
   124 #deliverSource
   124 #deliverSources
   125 'Include smalltalk sourceCode in the delivery.'
   125 'Include smalltalk sourceCode in the delivery.'
       
   126 
       
   127 #deliverMakefiles
       
   128 'Include makefiles in the delivery.'
   126 
   129 
   127 #includeSource
   130 #includeSource
   128 'Include smalltalk sourceCode in the delivery.'
   131 'Include smalltalk sourceCode in the delivery.'
   129 
   132 
   130 #installDirMacOS
   133 #installDirMacOS
   452        #(#WindowSpec
   455        #(#WindowSpec
   453           #label: 'NewApplication'
   456           #label: 'NewApplication'
   454           #name: 'NewApplication'
   457           #name: 'NewApplication'
   455           #min: #(#Point 10 10)
   458           #min: #(#Point 10 10)
   456           #max: #(#Point 1280 1024)
   459           #max: #(#Point 1280 1024)
   457           #bounds: #(#Rectangle 216 173 569 569)
   460           #bounds: #(#Rectangle 40 127 393 626)
   458         )
   461         )
   459         #component: 
   462         #component: 
   460        #(#SpecCollection
   463        #(#SpecCollection
   461           #collection: #(
   464           #collection: #(
   462            #(#FramedBoxSpec
   465            #(#FramedBoxSpec
   463               #label: 'Delivery'
   466               #label: 'Deliver'
   464               #name: 'FramedBox1'
   467               #name: 'DeliverBox'
   465               #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 197 0)
   468               #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 172 0)
   466               #labelPosition: #topLeft
   469               #labelPosition: #topLeft
   467               #translateLabel: true
   470               #translateLabel: true
   468               #component: 
   471               #component: 
   469              #(#SpecCollection
   472              #(#SpecCollection
   470                 #collection: #(
   473                 #collection: #(
   471                  #(#CheckBoxSpec
   474                  #(#CheckBoxSpec
   472                     #label: '''loadAll''-File'
   475                     #label: '''loadAll''-File'
   473                     #name: 'CheckBox5'
   476                     #name: 'CheckBox5'
   474                     #layout: #(#LayoutFrame 0 0.0 10 0 0 1.0 32 0)
   477                     #layout: #(#LayoutFrame 0 0.0 67 0 0 1.0 89 0)
   475                     #activeHelpKey: #deliverLoadAll
   478                     #activeHelpKey: #deliverLoadAll
   476                     #tabable: true
   479                     #tabable: true
   477                     #model: #deliverLoadAllFile
   480                     #model: #deliverLoadAllFile
   478                     #translateLabel: true
   481                     #translateLabel: true
   479                   )
   482                   )
   480                  #(#CheckBoxSpec
   483                  #(#CheckBoxSpec
   481                     #label: 'Bytecode Binary'
   484                     #label: 'Compiled Binary (non-portable .dll / .so)'
       
   485                     #name: 'CheckBox6'
       
   486                     #layout: #(#LayoutFrame 0 0.0 32 0 0 1.0 54 0)
       
   487                     #activeHelpKey: #deliverCompiledBinary
       
   488                     #tabable: true
       
   489                     #model: #deliverCompiledBinary
       
   490                     #translateLabel: true
       
   491                   )
       
   492                  #(#CheckBoxSpec
       
   493                     #label: 'Bytecode Binary (portable)'
   482                     #name: 'CheckBox1'
   494                     #name: 'CheckBox1'
   483                     #layout: #(#LayoutFrame 0 0.0 39 0 0 1.0 61 0)
   495                     #layout: #(#LayoutFrame 0 0.0 8 0 0 1.0 30 0)
   484                     #activeHelpKey: #deliverByteCode
   496                     #activeHelpKey: #deliverByteCode
   485                     #tabable: true
   497                     #tabable: true
   486                     #model: #deliverByteCode
   498                     #model: #deliverByteCode
   487                     #translateLabel: true
   499                     #translateLabel: true
   488                   )
   500                   )
   489                  #(#CheckBoxSpec
   501                  #(#CheckBoxSpec
   490                     #label: 'Compiled Binary (.dll / .so)'
   502                     #label: 'Sources'
   491                     #name: 'CheckBox1'
   503                     #name: 'CheckBox4'
   492                     #layout: #(#LayoutFrame 0 0.0 39 0 0 1.0 61 0)
   504                     #layout: #(#LayoutFrame 0 0.0 90 0 0 1.0 112 0)
   493                     #activeHelpKey: #deliverBinary
   505                     #activeHelpKey: #deliverSources
   494                     #tabable: true
   506                     #tabable: true
   495                     #model: #deliverCompiledBinary
   507                     #model: #deliverSources
   496                     #translateLabel: true
   508                     #translateLabel: true
   497                   )
   509                   )
   498                  #(#CheckBoxSpec
   510                  #(#CheckBoxSpec
   499                     #label: 'Zip Archive'
   511                     #label: 'Makefiles'
       
   512                     #name: 'CheckBox8'
       
   513                     #layout: #(#LayoutFrame 0 0.0 113 0 0 1.0 135 0)
       
   514                     #activeHelpKey: #deliverMakefiles
       
   515                     #tabable: true
       
   516                     #model: #deliverMakefiles
       
   517                     #translateLabel: true
       
   518                   )
       
   519                  )
       
   520                
       
   521               )
       
   522             )
       
   523            #(#FramedBoxSpec
       
   524               #label: 'Format'
       
   525               #name: 'DeliverAsBox'
       
   526               #layout: #(#LayoutFrame 0 0.0 172 0 0 1.0 290 0)
       
   527               #labelPosition: #topLeft
       
   528               #translateLabel: true
       
   529               #component: 
       
   530              #(#SpecCollection
       
   531                 #collection: #(
       
   532                  #(#CheckBoxSpec
       
   533                     #label: 'Tar Archive (.tar - for unix)'
       
   534                     #name: 'CheckBox7'
       
   535                     #layout: #(#LayoutFrame 0 0.0 34 0 0 1.0 56 0)
       
   536                     #activeHelpKey: #deliverTarArchive
       
   537                     #tabable: true
       
   538                     #model: #deliverTarArchive
       
   539                     #translateLabel: true
       
   540                   )
       
   541                  #(#CheckBoxSpec
       
   542                     #label: 'Zip Archive (.zip - for windows)'
   500                     #name: 'CheckBox2'
   543                     #name: 'CheckBox2'
   501                     #layout: #(#LayoutFrame 0 0.0 68 0 0 1.0 90 0)
   544                     #layout: #(#LayoutFrame 0 0.0 10 0 0 1.0 32 0)
   502                     #activeHelpKey: #deliverAsZIP
   545                     #activeHelpKey: #deliverZipArchive
   503                     #tabable: true
   546                     #tabable: true
   504                     #model: #deliverZipArchive
   547                     #model: #deliverZipArchive
   505                     #translateLabel: true
   548                     #translateLabel: true
   506                   )
   549                   )
   507                  #(#CheckBoxSpec
   550                  #(#CheckBoxSpec
   508                     #label: 'GZip Archive (self extracting)'
   551                     #label: 'GZip Archive (self extracting for unix)'
   509                     #name: 'CheckBox3'
   552                     #name: 'CheckBox3'
   510                     #layout: #(#LayoutFrame 0 0.0 97 0 0 1.0 119 0)
   553                     #layout: #(#LayoutFrame 0 0.0 58 0 0 1.0 80 0)
   511                     #activeHelpKey: #deliverAsGZIP
   554                     #activeHelpKey: #deliverGZipArchive
   512                     #tabable: true
   555                     #tabable: true
   513                     #model: #deliverGZipArchive
   556                     #model: #deliverGZipArchive
   514                     #translateLabel: true
       
   515                   )
       
   516                  #(#CheckBoxSpec
       
   517                     #label: 'Include Sources'
       
   518                     #name: 'CheckBox4'
       
   519                     #layout: #(#LayoutFrame 0 0.0 138 0 0 1.0 160 0)
       
   520                     #activeHelpKey: #deliverSource
       
   521                     #tabable: true
       
   522                     #model: #deliverSources
       
   523                     #translateLabel: true
   557                     #translateLabel: true
   524                   )
   558                   )
   525                  )
   559                  )
   526                
   560                
   527               )
   561               )
   528             )
   562             )
   529            #(#FramedBoxSpec
   563            #(#FramedBoxSpec
   530               #label: 'Install Directory'
   564               #label: 'Target Install Directory'
   531               #name: 'FramedBox2'
   565               #name: 'DestinationBox'
   532               #layout: #(#LayoutFrame 0 0.0 209 0 0 1.0 362 0)
   566               #layout: #(#LayoutFrame 0 0.0 295 0 0 1.0 448 0)
   533               #labelPosition: #topLeft
   567               #labelPosition: #topLeft
   534               #translateLabel: true
   568               #translateLabel: true
   535               #component: 
   569               #component: 
   536              #(#SpecCollection
   570              #(#SpecCollection
   537                 #collection: #(
   571                 #collection: #(
   719        #(#WindowSpec
   753        #(#WindowSpec
   720           #label: 'NewApplication'
   754           #label: 'NewApplication'
   721           #name: 'NewApplication'
   755           #name: 'NewApplication'
   722           #min: #(#Point 10 10)
   756           #min: #(#Point 10 10)
   723           #max: #(#Point 1280 1024)
   757           #max: #(#Point 1280 1024)
   724           #bounds: #(#Rectangle 240 31 601 394)
   758           #bounds: #(#Rectangle 216 173 577 536)
   725         )
   759         )
   726         #component: 
   760         #component: 
   727        #(#SpecCollection
   761        #(#SpecCollection
   728           #collection: #(
   762           #collection: #(
   729            #(#FramedBoxSpec
   763            #(#FramedBoxSpec
   730               #label: 'File for system extensions & patches'
   764               #label: 'File for extensions & patches'
   731               #name: 'FramedBox2'
   765               #name: 'FramedBox2'
   732               #layout: #(#LayoutFrame 0 0.0 62 0.0 0 1.0 122 0)
   766               #layout: #(#LayoutFrame 0 0.0 62 0.0 0 1.0 122 0)
   733               #labelPosition: #topLeft
   767               #labelPosition: #topLeft
   734               #translateLabel: true
   768               #translateLabel: true
   735               #component: 
   769               #component: 
  1184         #name: #rightCanvasSpecForProperties
  1218         #name: #rightCanvasSpecForProperties
  1185         #window: 
  1219         #window: 
  1186        #(#WindowSpec
  1220        #(#WindowSpec
  1187           #label: 'NewApplication'
  1221           #label: 'NewApplication'
  1188           #name: 'NewApplication'
  1222           #name: 'NewApplication'
  1189           #layout: #(#LayoutFrame 119 0 158 0 479 0 520 0)
       
  1190           #level: 0
       
  1191           #min: #(#Point 10 10)
  1223           #min: #(#Point 10 10)
  1192           #max: #(#Point 1280 1024)
  1224           #max: #(#Point 1280 1024)
  1193           #bounds: #(#Rectangle 119 158 480 521)
  1225           #bounds: #(#Rectangle 216 173 577 536)
  1194           #usePreferredExtent: false
       
  1195           #returnIsOKInDialog: true
       
  1196           #escapeIsCancelInDialog: true
       
  1197         )
  1226         )
  1198         #component: 
  1227         #component: 
  1199        #(#SpecCollection
  1228        #(#SpecCollection
  1200           #collection: #(
  1229           #collection: #(
  1201            #(#FramedBoxSpec
  1230            #(#FramedBoxSpec
  1230                  )
  1259                  )
  1231                
  1260                
  1232               )
  1261               )
  1233             )
  1262             )
  1234            #(#FramedBoxSpec
  1263            #(#FramedBoxSpec
  1235               #label: 'Project Directory'
  1264               #label: 'Project Working Directory'
  1236               #name: 'FramedBox2'
  1265               #name: 'FramedBox2'
  1237               #layout: #(#LayoutFrame 0 0.0 62 0.0 0 1.0 122 0)
  1266               #layout: #(#LayoutFrame 0 0.0 62 0.0 0 1.0 122 0)
  1238               #labelPosition: #topLeft
  1267               #labelPosition: #topLeft
  1239               #translateLabel: true
  1268               #translateLabel: true
  1240               #component: 
  1269               #component: 
  1246                     #activeHelpKey: #projectDir
  1275                     #activeHelpKey: #projectDir
  1247                     #enableChannel: #currentProjectWasNotLoadedFromFile
  1276                     #enableChannel: #currentProjectWasNotLoadedFromFile
  1248                     #model: #projectDirectory
  1277                     #model: #projectDirectory
  1249                     #acceptChannel: #acceptChannel
  1278                     #acceptChannel: #acceptChannel
  1250                     #modifiedChannel: #modifiedChannel
  1279                     #modifiedChannel: #modifiedChannel
       
  1280                     #acceptOnPointerLeave: false
  1251                   )
  1281                   )
  1252                  )
  1282                  )
  1253                
  1283                
  1254               )
  1284               )
  1255             )
  1285             )
  1267                     #layout: #(#LayoutFrame 0 0.0 1 0 0 1.0 23 0)
  1297                     #layout: #(#LayoutFrame 0 0.0 1 0 0 1.0 23 0)
  1268                     #activeHelpKey: #packageID
  1298                     #activeHelpKey: #packageID
  1269                     #model: #projectPackage
  1299                     #model: #projectPackage
  1270                     #acceptChannel: #acceptChannel
  1300                     #acceptChannel: #acceptChannel
  1271                     #modifiedChannel: #modifiedChannel
  1301                     #modifiedChannel: #modifiedChannel
       
  1302                     #acceptOnPointerLeave: false
  1272                   )
  1303                   )
  1273                  )
  1304                  )
  1274                
  1305                
  1275               )
  1306               )
  1276             )
  1307             )
  1295                     #layout: #(#LayoutFrame 92 0.0 0 0 0 1.0 22 0)
  1326                     #layout: #(#LayoutFrame 92 0.0 0 0 0 1.0 22 0)
  1296                     #activeHelpKey: #repositoryModule
  1327                     #activeHelpKey: #repositoryModule
  1297                     #model: #repositoryModule
  1328                     #model: #repositoryModule
  1298                     #acceptChannel: #acceptChannel
  1329                     #acceptChannel: #acceptChannel
  1299                     #modifiedChannel: #modifiedChannel
  1330                     #modifiedChannel: #modifiedChannel
       
  1331                     #acceptOnPointerLeave: false
  1300                   )
  1332                   )
  1301                  #(#LabelSpec
  1333                  #(#LabelSpec
  1302                     #label: 'Directory:'
  1334                     #label: 'Directory:'
  1303                     #name: 'Label2'
  1335                     #name: 'Label2'
  1304                     #layout: #(#LayoutFrame 0 0 25 0 86 0 47 0)
  1336                     #layout: #(#LayoutFrame 0 0 25 0 86 0 47 0)
  1310                     #layout: #(#LayoutFrame 92 0.0 25 0 0 1.0 47 0)
  1342                     #layout: #(#LayoutFrame 92 0.0 25 0 0 1.0 47 0)
  1311                     #activeHelpKey: #repositoryDirectory
  1343                     #activeHelpKey: #repositoryDirectory
  1312                     #model: #repositoryDirectory
  1344                     #model: #repositoryDirectory
  1313                     #acceptChannel: #acceptChannel
  1345                     #acceptChannel: #acceptChannel
  1314                     #modifiedChannel: #modifiedChannel
  1346                     #modifiedChannel: #modifiedChannel
       
  1347                     #acceptOnPointerLeave: false
  1315                   )
  1348                   )
  1316                  )
  1349                  )
  1317                
  1350                
  1318               )
  1351               )
  1319             )
  1352             )
  1331                     #name: 'EntryField4'
  1364                     #name: 'EntryField4'
  1332                     #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 22 0)
  1365                     #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 22 0)
  1333                     #model: #projectNamespace
  1366                     #model: #projectNamespace
  1334                     #acceptChannel: #acceptChannel
  1367                     #acceptChannel: #acceptChannel
  1335                     #modifiedChannel: #modifiedChannel
  1368                     #modifiedChannel: #modifiedChannel
       
  1369                     #acceptOnPointerLeave: false
  1336                   )
  1370                   )
  1337                  )
  1371                  )
  1338                
  1372                
  1339               )
  1373               )
  1340             )
  1374             )
  2377     ^ holder.
  2411     ^ holder.
  2378 
  2412 
  2379     "Created: / 23.3.1999 / 14:18:05 / cg"
  2413     "Created: / 23.3.1999 / 14:18:05 / cg"
  2380 !
  2414 !
  2381 
  2415 
       
  2416 deliverMakefiles
       
  2417     "automatically generated by UIPainter ..."
       
  2418 
       
  2419     |holder|
       
  2420 
       
  2421     (holder := builder bindingAt:#deliverMakefiles) isNil ifTrue:[
       
  2422         builder aspectAt:#deliverMakefiles put:(holder :=  ValueHolder new).
       
  2423         holder onChangeSend:#value to:[modifiedChannel value:true].
       
  2424     ].
       
  2425     ^ holder.
       
  2426 
       
  2427     "Created: / 23.3.1999 / 14:18:05 / cg"
       
  2428 !
       
  2429 
  2382 deliverSources
  2430 deliverSources
  2383     "automatically generated by UIPainter ..."
  2431     "automatically generated by UIPainter ..."
  2384 
  2432 
  2385     |holder|
  2433     |holder|
  2386 
  2434 
  2387     (holder := builder bindingAt:#deliverSources) isNil ifTrue:[
  2435     (holder := builder bindingAt:#deliverSources) isNil ifTrue:[
  2388         builder aspectAt:#deliverSources put:(holder :=  ValueHolder new).
  2436         builder aspectAt:#deliverSources put:(holder :=  ValueHolder new).
       
  2437         holder onChangeSend:#value to:[modifiedChannel value:true].
       
  2438     ].
       
  2439     ^ holder.
       
  2440 
       
  2441     "Created: / 23.3.1999 / 14:18:05 / cg"
       
  2442 !
       
  2443 
       
  2444 deliverTarArchive
       
  2445     "automatically generated by UIPainter ..."
       
  2446 
       
  2447     |holder|
       
  2448 
       
  2449     (holder := builder bindingAt:#deliverTarArchive) isNil ifTrue:[
       
  2450         builder aspectAt:#deliverTarArchive put:(holder :=  ValueHolder new).
  2389         holder onChangeSend:#value to:[modifiedChannel value:true].
  2451         holder onChangeSend:#value to:[modifiedChannel value:true].
  2390     ].
  2452     ].
  2391     ^ holder.
  2453     ^ holder.
  2392 
  2454 
  2393     "Created: / 23.3.1999 / 14:18:05 / cg"
  2455     "Created: / 23.3.1999 / 14:18:05 / cg"
  2845     |holder|
  2907     |holder|
  2846 
  2908 
  2847     (holder := builder bindingAt:#showWhat) isNil ifTrue:[
  2909     (holder := builder bindingAt:#showWhat) isNil ifTrue:[
  2848         holder := ValueHolder new.
  2910         holder := ValueHolder new.
  2849         builder aspectAt:#showWhat put:holder.
  2911         builder aspectAt:#showWhat put:holder.
  2850         holder onChangeSend:#updateProjectTree to:self.
  2912         holder onChangeSend:#projectFilterChanged to:self.
  2851     ].
  2913     ].
  2852     ^ holder.
  2914     ^ holder.
  2853 
  2915 
  2854     "Created: / 23.3.1999 / 14:18:05 / cg"
  2916     "Created: / 23.3.1999 / 14:18:05 / cg"
  2855 ! !
  2917 ! !
  3259     ].
  3321     ].
  3260 
  3322 
  3261     deploymentNode icon:(self class deploymentIcon).
  3323     deploymentNode icon:(self class deploymentIcon).
  3262     deploymentNode spec:[self class rightCanvasSpecForDeployment].
  3324     deploymentNode spec:[self class rightCanvasSpecForDeployment].
  3263     deploymentNode info:'Deployment & packaging specification.'.
  3325     deploymentNode info:'Deployment & packaging specification.'.
       
  3326     deploymentNode contents:#deployment.
  3264 
  3327 
  3265     ^ pNode
  3328     ^ pNode
  3266 
  3329 
  3267     "Modified: / 23.3.1999 / 14:27:30 / cg"
  3330     "Modified: / 23.3.1999 / 14:27:30 / cg"
  3268 !
  3331 !
  3308 
  3371 
  3309         self deliverCompiledBinary value:(p propertyAt:#deliverCompiledBinary) ? false.
  3372         self deliverCompiledBinary value:(p propertyAt:#deliverCompiledBinary) ? false.
  3310         self deliverByteCode value:(p propertyAt:#deliverByteCode) ? false.
  3373         self deliverByteCode value:(p propertyAt:#deliverByteCode) ? false.
  3311         self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false.
  3374         self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false.
  3312         self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false.
  3375         self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false.
       
  3376         self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false.
  3313         self deliverSources value:(p propertyAt:#deliverSources) ? false.
  3377         self deliverSources value:(p propertyAt:#deliverSources) ? false.
  3314         self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false.
  3378         self deliverMakefiles value:(p propertyAt:#deliverMakefiles) ? false.
  3315 
  3379 
  3316         self installDirectoryUnix 
  3380         self installDirectoryUnix 
  3317                 value:(p propertyAt:#installDirectoryUnix) ? 
  3381                 value:(p propertyAt:#installDirectoryUnix) ? 
  3318                         ((p propertyAt:#installDirectory) ? '/opt/smalltalk/packages').
  3382                         ((p propertyAt:#installDirectory) ? '/opt/smalltalk/packages').
  3319         self installDirectoryWin32 
  3383         self installDirectoryWin32 
  3348 
  3412 
  3349     "Created: / 23.3.1999 / 14:16:12 / cg"
  3413     "Created: / 23.3.1999 / 14:16:12 / cg"
  3350     "Modified: / 26.4.1999 / 23:38:14 / cg"
  3414     "Modified: / 26.4.1999 / 23:38:14 / cg"
  3351 !
  3415 !
  3352 
  3416 
       
  3417 reallyModified
       
  3418     |p l selectedNodeType|
       
  3419 
       
  3420     p := self currentProject.
       
  3421     selectedNodeType := self selectedTreeNode contents.
       
  3422 
       
  3423     selectedNodeType == #comment ifTrue:[
       
  3424         ^ self rightCanvasTextHolder value ~= p comment
       
  3425     ].
       
  3426     selectedNodeType == #deployment ifTrue:[
       
  3427         (self deliverByteCode value ~= (p propertyAt:#deliverByteCode)) ifTrue:[^ true].
       
  3428         (self deliverCompiledBinary value ~= (p propertyAt:#deliverCompiledBinary)) ifTrue:[^ true].
       
  3429         (self deliverLoadAllFile value ~= (p propertyAt:#deliverLoadAllFile)) ifTrue:[^ true]. 
       
  3430         (self deliverSources value ~= (p propertyAt:#deliverSources)) ifTrue:[^ true].
       
  3431         (self deliverMakefiles value ~= (p propertyAt:#deliverMakefiles)) ifTrue:[^ true].
       
  3432 
       
  3433         (self deliverZipArchive value ~= (p propertyAt:#deliverZipArchive)) ifTrue:[^ true].
       
  3434         (self deliverTarArchive value ~= (p propertyAt:#deliverTarArchive)) ifTrue:[^ true].
       
  3435         (self deliverGZipArchive value ~= (p propertyAt:#deliverGZipArchive)) ifTrue:[^ true].
       
  3436 
       
  3437         self installDirectoryUnix value ~=
       
  3438                     ((p propertyAt:#installDirectoryUnix) ? 
       
  3439                        ((p propertyAt:#installDirectory) ? 
       
  3440                             '/opt/smalltalk/packages')) ifTrue:[^ true].
       
  3441 
       
  3442         self installDirectoryWin32 value ~=
       
  3443                     ((p propertyAt:#installDirectoryWin32) ? 
       
  3444                         ((p propertyAt:#installDirectory) ? 
       
  3445                             '\Programme\SmalltalkX\packages')) ifTrue:[^ true].
       
  3446 
       
  3447         self installDirectoryVMS value ~=
       
  3448                     ((p propertyAt:#installDirectoryVMS) ? 
       
  3449                         ((p propertyAt:#installDirectory) ? 
       
  3450                             'SYS$SMALLTALKX:[PACKAGES]')) ifTrue:[^ true].
       
  3451 
       
  3452         ^ false
       
  3453     ].
       
  3454 self halt.
       
  3455     (self methodsFile value ~~ (p propertyAt:#methodsFile)) ifTrue:[^ true].
       
  3456     (self projectType value ~~ p type) ifTrue:[^ true].
       
  3457     (self projectDirectory value ~= p directory) ifTrue:[^ true].
       
  3458     (self projectPackage value ~= p package) ifTrue:[^ true].
       
  3459     (self projectNamespace value ~= (p defaultNameSpace ? Smalltalk) name) ifTrue:[^ true].
       
  3460 
       
  3461     (self repositoryModule value ~= p repositoryModule) ifTrue:[^ true].
       
  3462     (self repositoryDirectory value ~= p repositoryDirectory) ifTrue:[^ true].
       
  3463 
       
  3464 "/        self installDirectoryMacOS value ~=
       
  3465 "/                ((p propertyAt:#installDirectoryMacOS) ? 
       
  3466 "/                    ((p propertyAt:#installDirectory) ? 
       
  3467 "/                        '\Programme\SmalltalkX')) ifTrue:[^ true].
       
  3468 
       
  3469     l := p prerequisitePackages collect:[:entry |
       
  3470                 |pName|
       
  3471 
       
  3472                 entry isString ifTrue:[
       
  3473                     pName := entry
       
  3474                 ] ifFalse:[
       
  3475                     entry isArray ifTrue:[
       
  3476                         pName := entry at:1
       
  3477                     ] ifFalse:[
       
  3478                         pName := entry name
       
  3479                     ]
       
  3480                 ]
       
  3481             ].
       
  3482     self listOfRequiredProjectsInPrerequisites value ~= (l sort) ifTrue:[^ true].
       
  3483     self listOfRequiredClassesInPrerequisites value ~= (p prerequisiteClasses copy sort)  ifTrue:[^ true].
       
  3484     self halt.
       
  3485 
       
  3486 !
       
  3487 
  3353 saveAspectsIntoProject
  3488 saveAspectsIntoProject
  3354     |p s ns dir|
  3489     |p s ns dir|
  3355 
  3490 
  3356     p := self currentProject.
  3491     p := self currentProject.
  3357     p notNil ifTrue:[
  3492     p notNil ifTrue:[
  3381         ].
  3516         ].
  3382         p defaultNameSpace:ns.
  3517         p defaultNameSpace:ns.
  3383 
  3518 
  3384         p propertyAt:#deliverCompiledBinary put:self deliverCompiledBinary value.
  3519         p propertyAt:#deliverCompiledBinary put:self deliverCompiledBinary value.
  3385         p propertyAt:#deliverByteCode put:self deliverByteCode value.
  3520         p propertyAt:#deliverByteCode put:self deliverByteCode value.
  3386         p propertyAt:#deliverSources put:self deliverSources value.
       
  3387         p propertyAt:#deliverZipArchive put:self deliverZipArchive value.
  3521         p propertyAt:#deliverZipArchive put:self deliverZipArchive value.
  3388         p propertyAt:#deliverGZipArchive put:self deliverGZipArchive value.
  3522         p propertyAt:#deliverGZipArchive put:self deliverGZipArchive value.
  3389         p propertyAt:#deliverLoadAllFile put:self deliverLoadAllFile value.
  3523         p propertyAt:#deliverLoadAllFile put:self deliverLoadAllFile value.
       
  3524         p propertyAt:#deliverSources put:self deliverSources value.
       
  3525         p propertyAt:#deliverMakefiles put:self deliverMakefiles value.
  3390 
  3526 
  3391         p propertyAt:#installDirectoryUnix put:self installDirectoryUnix value.
  3527         p propertyAt:#installDirectoryUnix put:self installDirectoryUnix value.
  3392         p propertyAt:#installDirectoryWin32 put:self installDirectoryWin32 value.
  3528         p propertyAt:#installDirectoryWin32 put:self installDirectoryWin32 value.
  3393         p propertyAt:#installDirectoryVMS put:self installDirectoryVMS value.
  3529         p propertyAt:#installDirectoryVMS put:self installDirectoryVMS value.
  3394         p propertyAt:#installDirectoryMacOS put:self installDirectoryMacOS value.
  3530         p propertyAt:#installDirectoryMacOS put:self installDirectoryMacOS value.
  3403 !
  3539 !
  3404 
  3540 
  3405 updateProjectTree
  3541 updateProjectTree
  3406     |tree moduleRoots root showWhat|
  3542     |tree moduleRoots root showWhat|
  3407 
  3543 
  3408     showWhat := self showWhat value.
  3544     self withCursor:Cursor execute do:[
  3409 
  3545         showWhat := self showWhat value.
  3410     moduleRoots := Dictionary new.
  3546 
  3411 
  3547         moduleRoots := Dictionary new.
  3412     tree := SelectionInTree new.
  3548 
  3413     tree root:(root := ProjectTreeItem name:'invisibleRoot').
  3549         tree := SelectionInTree new.
  3414     root hide:false.
  3550         tree root:(root := ProjectTreeItem name:'invisibleRoot').
  3415 
  3551         root hide:false.
  3416     showWhat notNil ifTrue:[
  3552 
  3417         showWhat == #current ifTrue:[
  3553         showWhat notNil ifTrue:[
  3418             root add:(self nodeFor:Project current).
  3554             showWhat == #current ifTrue:[
  3419         ] ifFalse:[
  3555                 root add:(self nodeFor:Project current).
  3420             (Project knownProjects asOrderedCollection
  3556             ] ifFalse:[
  3421                 sort:[:a :b | a package < b package]) 
  3557                 (Project knownProjects asOrderedCollection
  3422             do:[:aProject |
  3558                     sort:[:a :b | a package < b package]) 
  3423                 |newNode nodeToAdd doShow childNode path|
  3559                 do:[:aProject |
  3424 
  3560                     |newNode nodeToAdd doShow childNode path|
  3425                 (doShow := showWhat == #all) ifFalse:[
  3561 
  3426                     doShow := (aProject package startsWith:'stx:') not
  3562                     (doShow := showWhat == #all) ifFalse:[
       
  3563                         doShow := (aProject package startsWith:'stx:') not
       
  3564                     ].
       
  3565 
       
  3566                     doShow ifTrue:[
       
  3567                         newNode := self nodeFor:aProject.
       
  3568 
       
  3569                         "/ insert into tree ...
       
  3570                         nodeToAdd := root.
       
  3571 
       
  3572                         path := aProject package asCollectionOfSubstringsSeparatedByAny:'/\:'.
       
  3573                         path from:1 to:path size-1 do:[:part |
       
  3574                             childNode := nodeToAdd children detect:[:child | child name = part] ifNone:nil.
       
  3575                             childNode isNil ifTrue:[
       
  3576                                 nodeToAdd add:(childNode := ProjectTreeItem new name:part).
       
  3577                             ].
       
  3578                             nodeToAdd := childNode.
       
  3579                         ].
       
  3580                         newNode name:(path last).
       
  3581                         nodeToAdd add:newNode.
       
  3582                     ]
  3427                 ].
  3583                 ].
  3428 
       
  3429                 doShow ifTrue:[
       
  3430                     newNode := self nodeFor:aProject.
       
  3431 
       
  3432                     "/ insert into tree ...
       
  3433                     nodeToAdd := root.
       
  3434 
       
  3435                     path := aProject package asCollectionOfSubstringsSeparatedByAny:'/\:'.
       
  3436                     path from:1 to:path size-1 do:[:part |
       
  3437                         childNode := nodeToAdd children detect:[:child | child name = part] ifNone:nil.
       
  3438                         childNode isNil ifTrue:[
       
  3439                             nodeToAdd add:(childNode := ProjectTreeItem new name:part).
       
  3440                         ].
       
  3441                         nodeToAdd := childNode.
       
  3442                     ].
       
  3443                     newNode name:(path last).
       
  3444                     nodeToAdd add:newNode.
       
  3445                 ]
       
  3446             ].
  3584             ].
  3447         ].
  3585         ].
  3448     ].
  3586         projectTree := root.
  3449     projectTree := root.
  3587 
  3450 
  3588         self projectTreeHolder root:projectTree.
  3451     self projectTreeHolder root:projectTree.
  3589     ].
  3452     ^ projectTree
  3590     ^ projectTree
  3453 !
  3591 !
  3454 
  3592 
  3455 updateRightCanvas
  3593 updateRightCanvas
  3456     |selectedNode nodeContents spec|
  3594     |selectedNode nodeContents spec|
  4117     fn notNil ifTrue:[
  4255     fn notNil ifTrue:[
  4118         self loadFromProjectFile:fn.
  4256         self loadFromProjectFile:fn.
  4119     ]
  4257     ]
  4120 !
  4258 !
  4121 
  4259 
       
  4260 projectFilterChanged
       
  4261     |theNode|
       
  4262 
       
  4263     self updateProjectTree.
       
  4264     self updateRightCanvas.
       
  4265     self showWhat value == #current ifTrue:[
       
  4266         theNode := self projectTreeHolder 
       
  4267                         detectFirstItem:[:item | item contents == Project current].
       
  4268 
       
  4269         [theNode notNil] whileTrue:[
       
  4270             self projectTreeHolder expand:theNode.
       
  4271             theNode := theNode parent.
       
  4272         ].
       
  4273 
       
  4274     ].
       
  4275 !
       
  4276 
  4122 removeProject
  4277 removeProject
  4123     |projectToRemove selectedNode subNode newNode parentNode parentProject newProject|
  4278     |projectToRemove selectedNode subNode newNode parentNode parentProject newProject|
  4124 
  4279 
  4125     self hasProjectNodeSelected ifTrue:[
  4280     self hasProjectNodeSelected ifTrue:[
  4126         selectedNode := self selectedTreeNode.
  4281         selectedNode := self selectedTreeNode.
  4185     |answer|
  4340     |answer|
  4186 
  4341 
  4187     newNode == self selectedTreeNode ifTrue:[
  4342     newNode == self selectedTreeNode ifTrue:[
  4188         ^ true 
  4343         ^ true 
  4189     ].
  4344     ].
  4190     modifiedChannel value ifTrue:[
  4345     (modifiedChannel value 
       
  4346     and:[self reallyModified]) ifTrue:[
  4191         answer := Dialog confirmWithCancel:'Accept changes ?'.
  4347         answer := Dialog confirmWithCancel:'Accept changes ?'.
  4192         answer isNil ifTrue:[
  4348         answer isNil ifTrue:[
  4193             ^ false
  4349             ^ false
  4194         ].
  4350         ].
  4195         answer == true ifTrue:[
  4351         answer == true ifTrue:[