ProjectBrowser.st
changeset 1116 710c9297a9fc
parent 1114 7fd86e9a6a11
child 1147 422c8afcb0f5
equal deleted inserted replaced
1115:1d0ff67419fc 1116:710c9297a9fc
  1394      (Menu new fromLiteralArrayEncoding:(ProjectBrowser menu)) startUp
  1394      (Menu new fromLiteralArrayEncoding:(ProjectBrowser menu)) startUp
  1395     "
  1395     "
  1396 
  1396 
  1397     <resource: #menu>
  1397     <resource: #menu>
  1398 
  1398 
  1399     ^
  1399     ^ 
  1400      
  1400      #(#Menu
  1401        #(#Menu
  1401         #(
  1402           
  1402          #(#MenuItem
  1403            #(
  1403             #label: 'New...'
  1404              #(#MenuItem
  1404             #translateLabel: true
  1405                 #label: 'New...'
  1405             #isButton: true
  1406                 #translateLabel: true
  1406             #value: #newProject
  1407                 #isButton: true
  1407             #labelImage: #(#ResourceRetriever #Icon #newIcon)
  1408                 #value: #newProject
  1408           )
  1409                 #labelImage: #(#ResourceRetriever #Icon #newIcon)
  1409          #(#MenuItem
  1410             )
  1410             #label: 'Open...'
  1411              #(#MenuItem
  1411             #translateLabel: true
  1412                 #label: 'Open...'
  1412             #isButton: true
  1413                 #translateLabel: true
  1413             #value: #openProject
  1414                 #isButton: true
  1414             #labelImage: #(#ResourceRetriever #Icon #loadIcon)
  1415                 #value: #openProject
  1415           )
  1416                 #labelImage: #(#ResourceRetriever #Icon #loadIcon)
  1416          #(#MenuItem
  1417             )
  1417             #label: 'SaveAs...'
  1418              #(#MenuItem
  1418             #translateLabel: true
  1419                 #label: 'SaveAs...'
  1419             #isButton: true
  1420                 #translateLabel: true
  1420             #value: #saveProject
  1421                 #isButton: true
  1421             #enabled: #hasProjectSelectedHolder
  1422                 #value: #saveProject
  1422             #labelImage: #(#ResourceRetriever #Icon #saveIcon)
  1423                 #labelImage: #(#ResourceRetriever #Icon #saveIcon)
  1423           )
  1424             )
  1424          )
  1425           ) nil
  1425         nil
  1426           nil
  1426         nil
  1427       )
  1427       )
       
  1428 
       
  1429     "Modified: / 26.4.1999 / 22:45:25 / cg"
  1428 !
  1430 !
  1429 
  1431 
  1430 noItemMenu
  1432 noItemMenu
  1431     "This resource specification was automatically generated
  1433     "This resource specification was automatically generated
  1432      by the MenuEditor of ST/X."
  1434      by the MenuEditor of ST/X."
  1867 
  1869 
  1868     "Created: / 23.3.1999 / 14:18:05 / cg"
  1870     "Created: / 23.3.1999 / 14:18:05 / cg"
  1869 !
  1871 !
  1870 
  1872 
  1871 hasProjectSelectedHolder
  1873 hasProjectSelectedHolder
  1872     ^ [
  1874     |holder|
  1873         self hasProjectNodeSelected
  1875 
  1874       ]
  1876     (holder := builder bindingAt:#hasProjectSelectedHolder) isNil ifTrue:[
       
  1877         holder := false asValue.
       
  1878         builder aspectAt:#hasProjectSelectedHolder put:holder.
       
  1879     ].
       
  1880     ^ holder.
       
  1881 
       
  1882     "Modified: / 26.4.1999 / 22:47:33 / cg"
  1875 !
  1883 !
  1876 
  1884 
  1877 hasSubProjectsSelectedHolder
  1885 hasSubProjectsSelectedHolder
  1878     ^ [
  1886     ^ [
  1879         self hasSubProjectsNodeSelected
  1887         self hasSubProjectsNodeSelected
  2186         ^ self.
  2194         ^ self.
  2187     ].
  2195     ].
  2188 
  2196 
  2189     changedObject == self currentProject ifTrue:[
  2197     changedObject == self currentProject ifTrue:[
  2190         self readAspectsFromProject.
  2198         self readAspectsFromProject.
  2191         self halt.
  2199     ].
  2192     ].
  2200 
       
  2201     "Modified: / 26.4.1999 / 23:39:04 / cg"
  2193 ! !
  2202 ! !
  2194 
  2203 
  2195 !ProjectBrowser methodsFor:'initialization'!
  2204 !ProjectBrowser methodsFor:'initialization'!
  2196 
  2205 
  2197 postBuildWith:aBuiler
  2206 postBuildWith:aBuiler
  2502 
  2511 
  2503     ^ projectTree
  2512     ^ projectTree
  2504 !
  2513 !
  2505 
  2514 
  2506 readAspectsFromProject
  2515 readAspectsFromProject
  2507     |p|
  2516     |p l|
  2508 
  2517 
  2509     p := self currentProject.
  2518     p := self currentProject.
  2510     p notNil ifTrue:[
  2519     p notNil ifTrue:[
  2511         self selectedTreeNode contents == #comment ifTrue:[
  2520         self selectedTreeNode contents == #comment ifTrue:[
  2512             self rightCanvasTextHolder value:p comment.
  2521             self rightCanvasTextHolder value:p comment.
  2527         self deliverSources value:(p propertyAt:#deliverSources) ? false.
  2536         self deliverSources value:(p propertyAt:#deliverSources) ? false.
  2528         self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false.
  2537         self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false.
  2529 
  2538 
  2530         self installDirectory value:(p propertyAt:#installDirectory) ? '/opt'.
  2539         self installDirectory value:(p propertyAt:#installDirectory) ? '/opt'.
  2531 
  2540 
       
  2541         l := p prerequisitePackages collect:[:entry |
       
  2542                     |pName|
       
  2543 
       
  2544                     entry isString ifTrue:[
       
  2545                         pName := entry
       
  2546                     ] ifFalse:[
       
  2547                         entry isArray ifTrue:[
       
  2548                             pName := entry at:1
       
  2549                         ] ifFalse:[
       
  2550                             pName := entry name
       
  2551                         ]
       
  2552                     ]
       
  2553                 ].
       
  2554         self listOfRequiredProjectsInPrerequisites value:(l sort).
  2532         self listOfRequiredClassesInPrerequisites value:(p prerequisiteClasses copy sort).
  2555         self listOfRequiredClassesInPrerequisites value:(p prerequisiteClasses copy sort).
  2533 
  2556 
  2534         modifiedChannel value:false.
  2557         modifiedChannel value:false.
  2535         p addDependent:self.
  2558         p addDependent:self.
  2536     ].
  2559     ].
  2537 
  2560 
  2538     "Created: / 23.3.1999 / 14:16:12 / cg"
  2561     "Created: / 23.3.1999 / 14:16:12 / cg"
  2539     "Modified: / 23.3.1999 / 14:18:38 / cg"
  2562     "Modified: / 26.4.1999 / 23:38:14 / cg"
  2540 !
  2563 !
  2541 
  2564 
  2542 saveAspectsIntoProject
  2565 saveAspectsIntoProject
  2543     |p s ns|
  2566     |p s ns|
  2544 
  2567 
  2784     action := item action.
  2807     action := item action.
  2785     action notNil ifTrue:[
  2808     action notNil ifTrue:[
  2786         action value:item.
  2809         action value:item.
  2787     ].
  2810     ].
  2788 
  2811 
  2789     self valueOfInfoLabel value: item info
  2812     self valueOfInfoLabel value: item info.
       
  2813 
       
  2814     self hasProjectSelectedHolder value:self hasProjectNodeSelected.
       
  2815 
       
  2816     "Modified: / 26.4.1999 / 22:49:20 / cg"
  2790 !
  2817 !
  2791 
  2818 
  2792 loadClassesFromDirectory
  2819 loadClassesFromDirectory
  2793     "load all classes as contained in the project into the system"
  2820     "load all classes as contained in the project into the system"
  2794 
  2821 
  2924     self modifiedChannel value ifTrue:[
  2951     self modifiedChannel value ifTrue:[
  2925         (self confirm:'Changes not confirmed; save anyway ?') ifFalse:[^ self]
  2952         (self confirm:'Changes not confirmed; save anyway ?') ifFalse:[^ self]
  2926     ].
  2953     ].
  2927 
  2954 
  2928     p := self currentProject.
  2955     p := self currentProject.
       
  2956     p isNil ifTrue:[
       
  2957         self information:'Selet a project first.'.
       
  2958         ^self
       
  2959     ].
  2929     p directory isNil ifTrue:[
  2960     p directory isNil ifTrue:[
  2930         d := (Dialog request:'Project Directory:').
  2961         d := (Dialog request:'Project Directory:').
  2931         d size == 0 ifTrue:[
  2962         d size == 0 ifTrue:[
  2932             ^ self
  2963             ^ self
  2933         ].
  2964         ].
  2934         p directory:d
  2965         p directory:d
  2935     ].
  2966     ].
  2936 
  2967 
  2937     p saveAsProjectFile.
  2968     p saveAsProjectFile.
       
  2969 
       
  2970     "Modified: / 26.4.1999 / 22:43:57 / cg"
  2938 !
  2971 !
  2939 
  2972 
  2940 selectionChangeAllowed:newNode
  2973 selectionChangeAllowed:newNode
  2941     |answer|
  2974     |answer|
  2942 
  2975