249 #name: #rightCanvasSpecForDeployment |
249 #name: #rightCanvasSpecForDeployment |
250 #window: |
250 #window: |
251 #(#WindowSpec |
251 #(#WindowSpec |
252 #label: 'NewApplication' |
252 #label: 'NewApplication' |
253 #name: 'NewApplication' |
253 #name: 'NewApplication' |
254 #layout: #(#LayoutFrame 140 0 81 0 439 0 380 0) |
254 #layout: #(#LayoutFrame 216 0 173 0 515 0 472 0) |
255 #level: 0 |
255 #level: 0 |
256 #min: #(#Point 10 10) |
256 #min: #(#Point 10 10) |
257 #max: #(#Point 1280 1024) |
257 #max: #(#Point 1280 1024) |
258 #bounds: #(#Rectangle 140 81 440 381) |
258 #bounds: #(#Rectangle 216 173 516 473) |
259 #usePreferredExtent: false |
259 #usePreferredExtent: false |
260 #returnIsOKInDialog: true |
260 #returnIsOKInDialog: true |
261 #escapeIsCancelInDialog: true |
261 #escapeIsCancelInDialog: true |
262 ) |
262 ) |
263 #component: |
263 #component: |
291 #(#CheckBoxSpec |
291 #(#CheckBoxSpec |
292 #label: 'GZip Archive (self extracting)' |
292 #label: 'GZip Archive (self extracting)' |
293 #name: 'CheckBox3' |
293 #name: 'CheckBox3' |
294 #layout: #(#LayoutFrame 0 0.0 66 0 0 1.0 88 0) |
294 #layout: #(#LayoutFrame 0 0.0 66 0 0 1.0 88 0) |
295 #tabable: true |
295 #tabable: true |
296 #model: #deliverSources |
296 #model: #deliverGZipArchive |
297 #translateLabel: true |
297 #translateLabel: true |
298 ) |
298 ) |
299 #(#CheckBoxSpec |
299 #(#CheckBoxSpec |
300 #label: 'Sources' |
300 #label: 'Include Sources' |
301 #name: 'CheckBox4' |
301 #name: 'CheckBox4' |
302 #layout: #(#LayoutFrame 0 0.0 94 0 0 1.0 116 0) |
302 #layout: #(#LayoutFrame 0 0.0 94 0 0 1.0 116 0) |
303 #tabable: true |
303 #tabable: true |
304 #model: #deliverGZipArchive |
304 #model: #deliverSources |
305 #translateLabel: true |
305 #translateLabel: true |
306 ) |
306 ) |
307 #(#CheckBoxSpec |
307 #(#CheckBoxSpec |
308 #label: 'loadAll-File' |
308 #label: 'loadAll-File' |
309 #name: 'CheckBox5' |
309 #name: 'CheckBox5' |
963 ) |
963 ) |
964 ! ! |
964 ! ! |
965 |
965 |
966 !ProjectBrowser class methodsFor:'menu specs'! |
966 !ProjectBrowser class methodsFor:'menu specs'! |
967 |
967 |
|
968 classItemMenu |
|
969 "This resource specification was automatically generated |
|
970 by the MenuEditor of ST/X." |
|
971 |
|
972 "Do not manually edit this!! If it is corrupted, |
|
973 the MenuEditor may not be able to read the specification." |
|
974 |
|
975 " |
|
976 MenuEditor new openOnClass:ProjectBrowser andSelector:#classItemMenu |
|
977 (Menu new fromLiteralArrayEncoding:(ProjectBrowser classItemMenu)) startUp |
|
978 " |
|
979 |
|
980 <resource: #menu> |
|
981 |
|
982 ^ |
|
983 #(#Menu |
|
984 #( |
|
985 #(#MenuItem |
|
986 #label: 'Remove from Project...' |
|
987 #translateLabel: true |
|
988 #value: #removeClassFromProject |
|
989 #enabled: #hasClassesSelectedHolder |
|
990 ) |
|
991 #(#MenuItem |
|
992 #label: '-' |
|
993 ) |
|
994 #(#MenuItem |
|
995 #label: 'Browse...' |
|
996 #translateLabel: true |
|
997 #value: #browseClass |
|
998 #enabled: #hasClassesSelectedHolder |
|
999 ) |
|
1000 ) |
|
1001 nil |
|
1002 nil |
|
1003 ) |
|
1004 ! |
|
1005 |
968 classesItemMenu |
1006 classesItemMenu |
969 "This resource specification was automatically generated |
1007 "This resource specification was automatically generated |
970 by the MenuEditor of ST/X." |
1008 by the MenuEditor of ST/X." |
971 |
1009 |
972 "Do not manually edit this!! If it is corrupted, |
1010 "Do not manually edit this!! If it is corrupted, |
987 #(#MenuItem |
1025 #(#MenuItem |
988 #label: 'Add Class...' |
1026 #label: 'Add Class...' |
989 #translateLabel: true |
1027 #translateLabel: true |
990 #value: #addClass |
1028 #value: #addClass |
991 #enabled: #hasClassesSelectedHolder |
1029 #enabled: #hasClassesSelectedHolder |
|
1030 ) |
|
1031 #(#MenuItem |
|
1032 #label: '-' |
|
1033 ) |
|
1034 #(#MenuItem |
|
1035 #label: 'Load Classes from Directory...' |
|
1036 #translateLabel: true |
|
1037 #value: #loadClassesFromDirectory |
|
1038 #enabled: #canLoadClassesFromDirectory |
|
1039 ) |
|
1040 #(#MenuItem |
|
1041 #label: 'Load Classes from Repository...' |
|
1042 #translateLabel: true |
|
1043 #value: #loadClassesFromRepository |
|
1044 #enabled: #canLoadClassesFromRepository |
992 ) |
1045 ) |
993 #(#MenuItem |
1046 #(#MenuItem |
994 #label: '-' |
1047 #label: '-' |
995 ) |
1048 ) |
996 #(#MenuItem |
1049 #(#MenuItem |
1345 ) |
1398 ) |
1346 ! ! |
1399 ! ! |
1347 |
1400 |
1348 !ProjectBrowser methodsFor:'aspects'! |
1401 !ProjectBrowser methodsFor:'aspects'! |
1349 |
1402 |
|
1403 browseClass |
|
1404 |node className cls| |
|
1405 |
|
1406 self hasClassNodeSelected ifFalse:[^ self]. |
|
1407 |
|
1408 node := self selectedTreeNode value. |
|
1409 className := node contents value. |
|
1410 cls := Smalltalk at:className. |
|
1411 cls isNil ifTrue:[ |
|
1412 self information:'The class is not (yet) loaded'. |
|
1413 ^ self. |
|
1414 ]. |
|
1415 SystemBrowser openInClass:cls selector:nil. |
|
1416 |
|
1417 ! |
|
1418 |
1350 canAddSelectedProjectToPrerequisites |
1419 canAddSelectedProjectToPrerequisites |
1351 |holder| |
1420 |holder| |
1352 |
1421 |
1353 (holder := builder bindingAt:#canAddSelectedProjectToPrerequisites) isNil ifTrue:[ |
1422 (holder := builder bindingAt:#canAddSelectedProjectToPrerequisites) isNil ifTrue:[ |
1354 holder := BlockValue |
1423 holder := BlockValue |
1849 |m| |
1920 |m| |
1850 |
1921 |
1851 self hasNodeSelected ifFalse:[ |
1922 self hasNodeSelected ifFalse:[ |
1852 ^ self class noItemMenu |
1923 ^ self class noItemMenu |
1853 ]. |
1924 ]. |
1854 |
|
1855 self hasProjectNodeSelected ifTrue:[ |
1925 self hasProjectNodeSelected ifTrue:[ |
1856 ^ self class projectItemMenu |
1926 ^ self class projectItemMenu |
1857 ]. |
1927 ]. |
1858 self hasSubProjectsNodeSelected ifTrue:[ |
1928 self hasSubProjectsNodeSelected ifTrue:[ |
1859 ^ self class subProjectsItemMenu |
1929 ^ self class subProjectsItemMenu |
1860 ]. |
1930 ]. |
1861 self hasClassesNodeSelected ifTrue:[ |
1931 self hasClassesNodeSelected ifTrue:[ |
1862 ^ self class classesItemMenu |
1932 ^ self class classesItemMenu |
1863 ]. |
1933 ]. |
|
1934 self hasClassNodeSelected ifTrue:[ |
|
1935 ^ self class classItemMenu |
|
1936 ]. |
1864 ^ nil |
1937 ^ nil |
1865 ! |
1938 ! |
1866 |
1939 |
1867 itemMenuHolder |
1940 itemMenuHolder |
1868 ^ [ self itemMenu] |
1941 ^ [ self itemMenu] |
1877 canAddToPrerequisites:aProjectName |
1950 canAddToPrerequisites:aProjectName |
1878 ^ aProjectName notNil |
1951 ^ aProjectName notNil |
1879 and:[aProjectName ~= self currentProject name] |
1952 and:[aProjectName ~= self currentProject name] |
1880 ! |
1953 ! |
1881 |
1954 |
|
1955 canLoadClassesFromDirectory |
|
1956 |p projectDir| |
|
1957 |
|
1958 self hasClassesNodeSelected ifFalse:[^ false]. |
|
1959 |
|
1960 (p := self currentProject) isNil ifTrue:[^ false]. |
|
1961 (projectDir := p directory) size == 0 ifTrue:[^ false]. |
|
1962 projectDir asFilename exists ifFalse:[^ false]. |
|
1963 |
|
1964 ^ true |
|
1965 ! |
|
1966 |
|
1967 canLoadClassesFromRepository |
|
1968 |manager p moduleDir packageDir| |
|
1969 |
|
1970 self hasClassesNodeSelected ifFalse:[^ false]. |
|
1971 |
|
1972 (p := self currentProject) isNil ifTrue:[^ false]. |
|
1973 (moduleDir := p repositoryModule) size == 0 ifTrue:[^ false]. |
|
1974 (packageDir := p repositoryDirectory) size == 0 ifTrue:[^ false]. |
|
1975 |
|
1976 "/ SourceCodeManager available ? |
|
1977 |
|
1978 (AbstractSourceCodeManager notNil |
|
1979 and:[AbstractSourceCodeManager isLoaded not]) ifTrue:[ |
|
1980 AbstractSourceCodeManager autoload. |
|
1981 ]. |
|
1982 |
|
1983 AbstractSourceCodeManager isNil ifTrue:[^ false]. |
|
1984 AbstractSourceCodeManager isLoaded ifFalse:[^ false]. |
|
1985 (manager := Smalltalk at:#SourceCodeManager) isNil ifTrue:[^ false]. |
|
1986 |
|
1987 "/ does the repository contain the module/package ? |
|
1988 |
|
1989 (manager checkForExistingModule:moduleDir package:packageDir) ifFalse:[^ false]. |
|
1990 |
|
1991 ^ true |
|
1992 ! |
|
1993 |
1882 currentProject |
1994 currentProject |
1883 |node| |
1995 |node| |
1884 |
1996 |
1885 node := self selectedTreeNode value. |
1997 node := self selectedTreeNode value. |
1886 node isNil ifTrue:[^ nil]. |
1998 node isNil ifTrue:[^ nil]. |
1995 do:[:aClass | |
2118 do:[:aClass | |
1996 |cNode cName| |
2119 |cNode cName| |
1997 |
2120 |
1998 cName := aClass isSymbol ifTrue:[aClass] ifFalse:[aClass name]. |
2121 cName := aClass isSymbol ifTrue:[aClass] ifFalse:[aClass name]. |
1999 cNode := ProjectTreeItem name:cName. |
2122 cNode := ProjectTreeItem name:cName. |
|
2123 cNode contents:(#class -> aClass). |
2000 classesNode add:cNode. |
2124 classesNode add:cNode. |
2001 ]. |
2125 ]. |
2002 |
2126 |
2003 propertiesNode contents:#properties. |
2127 propertiesNode contents:#properties. |
2004 propertiesNode spec:[self class rightCanvasSpecForProperties]. |
2128 propertiesNode spec:[self class rightCanvasSpecForProperties]. |
2053 self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false. |
2177 self deliverGZipArchive value:(p propertyAt:#deliverGZipArchive) ? false. |
2054 self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false. |
2178 self deliverZipArchive value:(p propertyAt:#deliverZipArchive) ? false. |
2055 self deliverSources value:(p propertyAt:#deliverSources) ? false. |
2179 self deliverSources value:(p propertyAt:#deliverSources) ? false. |
2056 self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false. |
2180 self deliverLoadAllFile value:(p propertyAt:#deliverLoadAllFile) ? false. |
2057 |
2181 |
|
2182 self installDirectory value:(p propertyAt:#installDirectory) ? '/opt'. |
|
2183 |
2058 modifiedChannel value:false. |
2184 modifiedChannel value:false. |
2059 p addDependent:self. |
2185 p addDependent:self. |
2060 ]. |
2186 ]. |
2061 |
2187 |
2062 "Created: / 23.3.1999 / 14:16:12 / cg" |
2188 "Created: / 23.3.1999 / 14:16:12 / cg" |
2066 saveAspectsIntoProject |
2192 saveAspectsIntoProject |
2067 |p s ns| |
2193 |p s ns| |
2068 |
2194 |
2069 p := self currentProject. |
2195 p := self currentProject. |
2070 p notNil ifTrue:[ |
2196 p notNil ifTrue:[ |
|
2197 p removeDependent:self. |
|
2198 |
2071 "/ self currentProjectWasNotLoadedFromFile value:p wasLoadedFromFile not. |
2199 "/ self currentProjectWasNotLoadedFromFile value:p wasLoadedFromFile not. |
2072 p type:self projectType value. |
2200 p type:self projectType value. |
2073 "/ p directory:self projectDirectory value. |
2201 "/ p directory:self projectDirectory value. |
2074 |
2202 |
2075 p repositoryModule:self repositoryModule value. |
2203 p repositoryModule:self repositoryModule value. |
2087 p propertyAt:#deliverSources put:self deliverSources value. |
2215 p propertyAt:#deliverSources put:self deliverSources value. |
2088 p propertyAt:#deliverZipArchive put:self deliverZipArchive value. |
2216 p propertyAt:#deliverZipArchive put:self deliverZipArchive value. |
2089 p propertyAt:#deliverGZipArchive put:self deliverGZipArchive value. |
2217 p propertyAt:#deliverGZipArchive put:self deliverGZipArchive value. |
2090 p propertyAt:#deliverLoadAllFile put:self deliverLoadAllFile value. |
2218 p propertyAt:#deliverLoadAllFile put:self deliverLoadAllFile value. |
2091 |
2219 |
2092 "/ modifiedChannel value:false. |
2220 p propertyAt:#installDirectory put:self installDirectory value. |
|
2221 |
|
2222 p addDependent:self. |
2093 ]. |
2223 ]. |
2094 |
2224 |
2095 "Created: / 23.3.1999 / 14:16:12 / cg" |
2225 "Created: / 23.3.1999 / 14:16:12 / cg" |
2096 "Modified: / 23.3.1999 / 14:18:38 / cg" |
2226 "Modified: / 23.3.1999 / 14:18:38 / cg" |
2097 ! |
2227 ! |