1589 |
1589 |
1590 ) |
1590 ) |
1591 ) |
1591 ) |
1592 ! |
1592 ! |
1593 |
1593 |
1594 rightCanvasSpecForPrerequisiteProjects |
1594 rightCanvasSpecForPrerequisitePackages |
1595 "This resource specification was automatically generated |
1595 "This resource specification was automatically generated |
1596 by the UIPainter of ST/X." |
1596 by the UIPainter of ST/X." |
1597 |
1597 |
1598 "Do not manually edit this!! If it is corrupted, |
1598 "Do not manually edit this!! If it is corrupted, |
1599 the UIPainter may not be able to read the specification." |
1599 the UIPainter may not be able to read the specification." |
1600 |
1600 |
1601 " |
1601 " |
1602 UIPainter new openOnClass:ProjectBrowser andSelector:#rightCanvasSpecForPrerequisiteProjects |
1602 UIPainter new openOnClass:ProjectBrowser andSelector:#rightCanvasSpecForPrerequisitePackages |
1603 ProjectBrowser new openInterface:#rightCanvasSpecForPrerequisiteProjects |
1603 ProjectBrowser new openInterface:#rightCanvasSpecForPrerequisitePackages |
1604 " |
1604 " |
1605 |
1605 |
1606 <resource: #canvas> |
1606 <resource: #canvas> |
1607 |
1607 |
1608 ^ |
1608 ^ |
1609 #(#FullSpec |
1609 #(#FullSpec |
1610 #name: #rightCanvasSpecForPrerequisiteProjects |
1610 #name: #rightCanvasSpecForPrerequisitePackages |
1611 #window: |
1611 #window: |
1612 #(#WindowSpec |
1612 #(#WindowSpec |
1613 #label: 'NewApplication' |
1613 #label: 'NewApplication' |
1614 #name: 'NewApplication' |
1614 #name: 'NewApplication' |
1615 #layout: #(#LayoutFrame 220 0 200 0 519 0 499 0) |
1615 #layout: #(#LayoutFrame 220 0 200 0 519 0 499 0) |
1817 ) |
1817 ) |
1818 |
1818 |
1819 ) |
1819 ) |
1820 ) |
1820 ) |
1821 #(#FramedBoxSpec |
1821 #(#FramedBoxSpec |
1822 #label: 'Projects Package ID' |
|
1823 #name: 'FramedBox5' |
|
1824 #layout: #(#LayoutFrame 0 0.0 127 0.0 0 1.0 187 0) |
|
1825 #labelPosition: #topLeft |
|
1826 #translateLabel: true |
|
1827 #component: |
|
1828 #(#SpecCollection |
|
1829 #collection: #( |
|
1830 #(#InputFieldSpec |
|
1831 #name: 'EntryField5' |
|
1832 #layout: #(#LayoutFrame 0 0.0 1 0 0 1.0 23 0) |
|
1833 #activeHelpKey: #packageID |
|
1834 #model: #projectPackage |
|
1835 #acceptChannel: #acceptChannel |
|
1836 #modifiedChannel: #modifiedChannel |
|
1837 #acceptOnPointerLeave: false |
|
1838 ) |
|
1839 ) |
|
1840 |
|
1841 ) |
|
1842 ) |
|
1843 #(#FramedBoxSpec |
|
1844 #label: 'Repository' |
1822 #label: 'Repository' |
1845 #name: 'FramedBox3' |
1823 #name: 'FramedBox3' |
1846 #layout: #(#LayoutFrame 0 0.0 191 0.0 0 1.0 274 0) |
1824 #layout: #(#LayoutFrame 0 0.0 137 0.0 0 1.0 220 0) |
1847 #labelPosition: #topLeft |
1825 #labelPosition: #topLeft |
1848 #translateLabel: true |
1826 #translateLabel: true |
1849 #component: |
1827 #component: |
1850 #(#SpecCollection |
1828 #(#SpecCollection |
1851 #collection: #( |
1829 #collection: #( |
2614 nil |
2592 nil |
2615 nil |
2593 nil |
2616 ) |
2594 ) |
2617 ! |
2595 ! |
2618 |
2596 |
|
2597 prerequisitePackagesItemMenu |
|
2598 "This resource specification was automatically generated |
|
2599 by the MenuEditor of ST/X." |
|
2600 |
|
2601 "Do not manually edit this!! If it is corrupted, |
|
2602 the MenuEditor may not be able to read the specification." |
|
2603 |
|
2604 " |
|
2605 MenuEditor new openOnClass:ProjectBrowser andSelector:#prerequisiteClassesItemMenu |
|
2606 (Menu new fromLiteralArrayEncoding:(ProjectBrowser prerequisiteClassesItemMenu)) startUp |
|
2607 " |
|
2608 |
|
2609 <resource: #menu> |
|
2610 |
|
2611 ^ |
|
2612 #(#Menu |
|
2613 #( |
|
2614 #(#MenuItem |
|
2615 #label: 'Add package...' |
|
2616 #translateLabel: true |
|
2617 #value: #addPrerequisitePackage |
|
2618 ) |
|
2619 ) |
|
2620 nil |
|
2621 nil |
|
2622 ) |
|
2623 ! |
|
2624 |
2619 projectItemMenu |
2625 projectItemMenu |
2620 "This resource specification was automatically generated |
2626 "This resource specification was automatically generated |
2621 by the MenuEditor of ST/X." |
2627 by the MenuEditor of ST/X." |
2622 |
2628 |
2623 "Do not manually edit this!! If it is corrupted, |
2629 "Do not manually edit this!! If it is corrupted, |
2633 ^ |
2639 ^ |
2634 |
2640 |
2635 #(#Menu |
2641 #(#Menu |
2636 |
2642 |
2637 #( |
2643 #( |
|
2644 #(#MenuItem |
|
2645 #label: 'Load Project' |
|
2646 #translateLabel: true |
|
2647 #value: #loadProject |
|
2648 #enabled: #canLoadCurrentProjectHolder |
|
2649 ) |
|
2650 #(#MenuItem |
|
2651 #label: 'Unload Project' |
|
2652 #translateLabel: true |
|
2653 #value: #unloadProject |
|
2654 #enabled: #canUnloadCurrentProjectHolder |
|
2655 ) |
|
2656 #(#MenuItem |
|
2657 #label: '-' |
|
2658 ) |
2638 #(#MenuItem |
2659 #(#MenuItem |
2639 #label: 'Make Current' |
2660 #label: 'Make Current' |
2640 #translateLabel: true |
2661 #translateLabel: true |
2641 #value: #makeCurrentProject |
2662 #value: #makeCurrentProject |
2642 #enabled: #hasProjectSelectedHolder |
2663 #enabled: #hasProjectSelectedHolder |
2940 builder aspectAt:#canDeliverForWin32 put:holder. |
2961 builder aspectAt:#canDeliverForWin32 put:holder. |
2941 ]. |
2962 ]. |
2942 ^ holder. |
2963 ^ holder. |
2943 ! |
2964 ! |
2944 |
2965 |
|
2966 canLoadCurrentProjectHolder |
|
2967 |holder| |
|
2968 |
|
2969 (holder := builder bindingAt:#canLoadCurrentProjectHolder) isNil ifTrue:[ |
|
2970 holder := false asValue. |
|
2971 builder aspectAt:#canLoadCurrentProjectHolder put:holder. |
|
2972 ]. |
|
2973 ^ holder. |
|
2974 |
|
2975 "Modified: / 26.4.1999 / 22:47:33 / cg" |
|
2976 ! |
|
2977 |
2945 canRemoveSelectedClassFromPrerequisites |
2978 canRemoveSelectedClassFromPrerequisites |
2946 |holder| |
2979 |holder| |
2947 |
2980 |
2948 (holder := builder bindingAt:#canRemoveSelectedClassFromPrerequisites) isNil ifTrue:[ |
2981 (holder := builder bindingAt:#canRemoveSelectedClassFromPrerequisites) isNil ifTrue:[ |
2949 holder := BlockValue with:[:m | m notNil] argument:(self selectedRequiredClassInPrerequisites). |
2982 holder := BlockValue with:[:m | m notNil] argument:(self selectedRequiredClassInPrerequisites). |
3862 |
3910 |
3863 (manager checkForExistingModule:moduleDir package:packageDir) ifFalse:[^ false]. |
3911 (manager checkForExistingModule:moduleDir package:packageDir) ifFalse:[^ false]. |
3864 |
3912 |
3865 AlreadCheckedExistingModulesAndPackages add:(Array with:moduleDir with:packageDir). |
3913 AlreadCheckedExistingModulesAndPackages add:(Array with:moduleDir with:packageDir). |
3866 ^ true |
3914 ^ true |
|
3915 ! |
|
3916 |
|
3917 canLoadCurrentProject |
|
3918 |prj| |
|
3919 |
|
3920 self hasProjectSelected ifFalse:[^ false]. |
|
3921 (prj := self currentProject) isNil ifTrue:[^ self]. |
|
3922 ^ prj isLoaded not |
|
3923 |
|
3924 ! |
|
3925 |
|
3926 canUnloadCurrentProject |
|
3927 |prj| |
|
3928 |
|
3929 self hasProjectSelected ifFalse:[^ false]. |
|
3930 (prj := self currentProject) isNil ifTrue:[^ self]. |
|
3931 ^ prj isLoaded |
|
3932 |
3867 ! |
3933 ! |
3868 |
3934 |
3869 checkInClasses:aCollectionOfClasses |
3935 checkInClasses:aCollectionOfClasses |
3870 |logMessage| |
3936 |logMessage| |
3871 |
3937 |
3977 |
4043 |
3978 hasPrerequisiteClassesNodeSelected |
4044 hasPrerequisiteClassesNodeSelected |
3979 ^ self hasNodeSelected:#prerequisiteClasses. |
4045 ^ self hasNodeSelected:#prerequisiteClasses. |
3980 ! |
4046 ! |
3981 |
4047 |
|
4048 hasPrerequisitePackagesNodeSelected |
|
4049 ^ self hasNodeSelected:#prerequisitePackages. |
|
4050 ! |
|
4051 |
3982 hasProjectNodeSelected |
4052 hasProjectNodeSelected |
3983 |selectedNode| |
4053 |selectedNode| |
3984 |
4054 |
3985 selectedNode := self selectedTreeNode. |
4055 selectedNode := self selectedTreeNode. |
3986 selectedNode isNil ifTrue:[^ false]. |
4056 selectedNode isNil ifTrue:[^ false]. |
4028 |projectName pNode |
4098 |projectName pNode |
4029 propertiesNode docNode classesNode patchesNode subprojectsNode filesNode |
4099 propertiesNode docNode classesNode patchesNode subprojectsNode filesNode |
4030 commentNode prerequisitesNode analysisNode designNode codeNode |
4100 commentNode prerequisitesNode analysisNode designNode codeNode |
4031 userDocNode userOverViewNode userGuideNode userRefManNode |
4101 userDocNode userOverViewNode userGuideNode userRefManNode |
4032 deploymentNode classIcon methodIcon buildOptionsNode |
4102 deploymentNode classIcon methodIcon buildOptionsNode |
4033 prerequisiteProjectsNode prerequisiteClassesNode| |
4103 prerequisitePackagesNode prerequisiteClassesNode| |
4034 |
4104 |
4035 projectName := aProject name. |
4105 projectName := aProject name. |
4036 pNode := ProjectNode name:projectName. |
4106 pNode := ProjectNode name:projectName. |
4037 pNode contents:aProject. |
4107 pNode contents:aProject. |
4038 |
4108 |
4073 docNode add:(userDocNode := ProjectTreeItem name:'Error Reports'). |
4143 docNode add:(userDocNode := ProjectTreeItem name:'Error Reports'). |
4074 docNode add:(userDocNode := ProjectTreeItem name:'Other'). |
4144 docNode add:(userDocNode := ProjectTreeItem name:'Other'). |
4075 ]. |
4145 ]. |
4076 |
4146 |
4077 prerequisitesNode icon:(self class prerequisitesIcon). |
4147 prerequisitesNode icon:(self class prerequisitesIcon). |
4078 prerequisitesNode add:(prerequisiteProjectsNode := ProjectTreeItem name:'Packages'). |
4148 prerequisitesNode add:(prerequisitePackagesNode := ProjectTreeItem name:'Packages'). |
4079 prerequisitesNode add:(prerequisiteClassesNode := ProjectTreeItem name:'Classes'). |
4149 prerequisitesNode add:(prerequisiteClassesNode := ProjectTreeItem name:'Classes'). |
4080 prerequisitesNode info:'Other projects and classes required by the project'. |
4150 prerequisitesNode info:'Other projects and classes required by the project'. |
4081 |
4151 |
4082 prerequisiteProjectsNode contents:#prerequisiteProjects. |
4152 prerequisitePackagesNode contents:#prerequisitePackages. |
4083 prerequisiteProjectsNode icon:(self class prerequisiteProjectsIcon). |
4153 prerequisitePackagesNode icon:(self class prerequisitePackagesIcon). |
4084 prerequisiteProjectsNode spec:[self class rightCanvasSpecForPrerequisiteProjects]. |
4154 prerequisitePackagesNode spec:[self class rightCanvasSpecForPrerequisitePackages]. |
4085 prerequisiteProjectsNode info:'Other projects required by the project'. |
4155 prerequisitePackagesNode info:'Other projects required by the project'. |
4086 |
4156 |
4087 prerequisiteClassesNode contents:#prerequisiteClasses. |
4157 prerequisiteClassesNode contents:#prerequisiteClasses. |
4088 prerequisiteClassesNode icon:(self class prerequisiteClassesIcon). |
4158 prerequisiteClassesNode icon:(self class prerequisiteClassesIcon). |
4089 prerequisiteClassesNode spec:[self class rightCanvasSpecForPrerequisiteClasses]. |
4159 prerequisiteClassesNode spec:[self class rightCanvasSpecForPrerequisiteClasses]. |
4090 prerequisiteClassesNode info:'Other (autoloaded-) classes required by the project'. |
4160 prerequisiteClassesNode info:'Other (autoloaded-) classes required by the project'. |
4182 (type := p type) == #classLibrary ifTrue:[ |
4252 (type := p type) == #classLibrary ifTrue:[ |
4183 type := #library |
4253 type := #library |
4184 ]. |
4254 ]. |
4185 self projectType value:type. |
4255 self projectType value:type. |
4186 self projectDirectory value:(p directory). |
4256 self projectDirectory value:(p directory). |
4187 self projectPackage value:(p package). |
|
4188 ns := p defaultNameSpace ? Smalltalk. |
4257 ns := p defaultNameSpace ? Smalltalk. |
4189 ns isSymbol ifFalse:[ |
4258 ns isSymbol ifFalse:[ |
4190 ns := ns name |
4259 ns := ns name |
4191 ]. |
4260 ]. |
4192 self projectNamespace value:ns. |
4261 self projectNamespace value:ns. |
4193 |
4262 |
4194 self repositoryModule value:(p repositoryModule). |
4263 pkg := p package ? Project current package. |
4195 self repositoryDirectory value:(p repositoryDirectory). |
4264 mMod := p repositoryModule ? '?'. |
|
4265 mDir := p repositoryDirectory ? '?'. |
|
4266 mPkg := mMod , ':' , mDir. |
|
4267 |
|
4268 mPkg ~= pkg ifTrue:[ |
|
4269 (pkg includes:$:) ifTrue:[ |
|
4270 mMod := pkg upTo:$:. |
|
4271 mDir := pkg copyFrom:mMod size + 2. |
|
4272 self warn:('package id: ''' , pkg , ''' different from moduleId: ''' , mPkg , |
|
4273 '\\Assume module:''' , mMod , ''' directory:''' , mDir , '''') withCRs. |
|
4274 ] ifFalse:[ |
|
4275 ((mMod ~= '?') and:[mDir ~= '?']) ifTrue:[ |
|
4276 self warn:('package id: ''' , pkg , ''' different from moduleId: ''' , mPkg , |
|
4277 '\\Assume package:''' , mMod , ':' , mDir , '''') withCRs. |
|
4278 pkg := mMod , ':' , mDir |
|
4279 ] ifFalse:[ |
|
4280 self warn:('package id: ''' , pkg , ''' different from moduleId: ''' , mPkg , |
|
4281 '\\Please care for the module and directory settings.') withCRs. |
|
4282 ] |
|
4283 ] |
|
4284 ]. |
|
4285 self projectPackage value:pkg. |
|
4286 self repositoryModule value:mMod. |
|
4287 self repositoryDirectory value:mDir. |
4196 |
4288 |
4197 self deliverCompiledBinary value:(p propertyAt:#deliverCompiledBinary) ? false. |
4289 self deliverCompiledBinary value:(p propertyAt:#deliverCompiledBinary) ? false. |
4198 self deliverByteCode value:(p propertyAt:#deliverByteCode) ? false. |
4290 self deliverByteCode value:(p propertyAt:#deliverByteCode) ? false. |
4199 self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false. |
4291 self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false. |
4200 self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false. |
4292 self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false. |
4342 (dir exists and:[dir isDirectory]) ifFalse:[ |
4434 (dir exists and:[dir isDirectory]) ifFalse:[ |
4343 self warn:'Invalid project directory: ' , dir pathName |
4435 self warn:'Invalid project directory: ' , dir pathName |
4344 ]. |
4436 ]. |
4345 |
4437 |
4346 p directory:self projectDirectory value. |
4438 p directory:self projectDirectory value. |
4347 p packageName:(self projectPackage value) asSymbol. |
4439 pkg := self repositoryModule value , ':' , self repositoryDirectory value. |
|
4440 p packageName:pkg asSymbol. |
4348 |
4441 |
4349 p repositoryModule:self repositoryModule value. |
4442 p repositoryModule:self repositoryModule value. |
4350 p repositoryDirectory:self repositoryDirectory value. |
4443 p repositoryDirectory:self repositoryDirectory value. |
4351 |
4444 |
4352 s := self projectNamespace value. |
4445 s := self projectNamespace value. |
5004 self currentCanvasHolder value:(self class rightCanvasSpecForReadOnlyText). |
5112 self currentCanvasHolder value:(self class rightCanvasSpecForReadOnlyText). |
5005 self rightCanvasTextHolder value:someText. |
5113 self rightCanvasTextHolder value:someText. |
5006 |
5114 |
5007 ! |
5115 ! |
5008 |
5116 |
|
5117 unloadProject |
|
5118 |project filesToLoad methodsFile ns anyPatchClassMissing anyPatches |
|
5119 nMissingSuper prevNMissingSuper| |
|
5120 |
|
5121 project := self currentProject. |
|
5122 self halt. |
|
5123 ! |
|
5124 |
5009 updateClassListForProject:aProject |
5125 updateClassListForProject:aProject |
5010 |classInfo l| |
5126 |classInfo l| |
5011 |
5127 |
5012 classInfo := aProject classInfo copy asOrderedCollection. |
5128 classInfo := aProject classInfo copy asOrderedCollection. |
5013 classInfo sort:[:a :b | a className < b className]. |
5129 classInfo sort:[:a :b | a className < b className]. |
5429 |
5545 |
5430 self updateClassListForProject:project |
5546 self updateClassListForProject:project |
5431 |
5547 |
5432 ! |
5548 ! |
5433 |
5549 |
|
5550 addPrerequisitePackage |
|
5551 "ask for, and add a single class" |
|
5552 |
|
5553 |p packageName cls| |
|
5554 |
|
5555 p := self currentProject. |
|
5556 |
|
5557 packageName := Dialog request:'Package to add:'. |
|
5558 packageName size == 0 ifTrue:[^ self]. |
|
5559 |
|
5560 p addPrerequisitePackage:packageName. |
|
5561 self updatePrerequisitePackageListForProject:p. |
|
5562 |
|
5563 self listOfRequiredProjectsInPrerequisites value add:packageName. |
|
5564 self listOfAllProjectsInPrerequisites value remove:packageName ifAbsent:nil. |
|
5565 self selectedProjectInPrerequisites value:nil. |
|
5566 |
|
5567 self listOfRequiredProjectsInPrerequisites changed. |
|
5568 self listOfAllProjectsInPrerequisites changed. |
|
5569 self accept |
|
5570 |
|
5571 ! |
|
5572 |
5434 browseClasses |
5573 browseClasses |
5435 "browse the projects classes" |
5574 "browse the projects classes" |
5436 |
5575 |
5437 |ns p classes nBad uniqueClasses| |
5576 |ns p classes nBad uniqueClasses| |
5438 |
5577 |