--- a/ProjectBrowser.st Thu Jun 24 18:00:36 1999 +0200
+++ b/ProjectBrowser.st Thu Jun 24 19:05:33 1999 +0200
@@ -729,11 +729,11 @@
#(#WindowSpec
#label: 'NewApplication'
#name: 'NewApplication'
- #layout: #(#LayoutFrame 216 0 173 0 515 0 472 0)
+ #layout: #(#LayoutFrame 220 0 200 0 519 0 499 0)
#level: 0
#min: #(#Point 10 10)
#max: #(#Point 1280 1024)
- #bounds: #(#Rectangle 216 173 516 473)
+ #bounds: #(#Rectangle 220 200 520 500)
#usePreferredExtent: false
#returnIsOKInDialog: true
#escapeIsCancelInDialog: true
@@ -820,7 +820,6 @@
#(#HorizontalPanelViewSpec
#name: 'HorizontalPanel1'
#layout: #(#LayoutFrame 0 0.0 -30 1 0 1.0 0 1.0)
- #initiallyInvisible: true
#horizontalLayout: #fitSpace
#verticalLayout: #center
#horizontalSpace: 3
@@ -875,11 +874,11 @@
#(#WindowSpec
#label: 'NewApplication'
#name: 'NewApplication'
- #layout: #(#LayoutFrame 216 0 173 0 515 0 472 0)
+ #layout: #(#LayoutFrame 220 0 200 0 519 0 499 0)
#level: 0
#min: #(#Point 10 10)
#max: #(#Point 1280 1024)
- #bounds: #(#Rectangle 216 173 516 473)
+ #bounds: #(#Rectangle 220 200 520 500)
#usePreferredExtent: false
#returnIsOKInDialog: true
#escapeIsCancelInDialog: true
@@ -964,7 +963,6 @@
#(#HorizontalPanelViewSpec
#name: 'HorizontalPanel1'
#layout: #(#LayoutFrame 0 0.0 -30 1 0 1.0 0 1.0)
- #initiallyInvisible: true
#horizontalLayout: #fitSpace
#verticalLayout: #center
#horizontalSpace: 3
@@ -1277,11 +1275,11 @@
#(#WindowSpec
#label: 'ProjectBrowser'
#name: 'ProjectBrowser'
- #layout: #(#LayoutFrame 216 0 173 0 779 0 563 0)
+ #layout: #(#LayoutFrame 220 0 116 0 783 0 590 0)
#level: 0
#min: #(#Point 10 10)
#max: #(#Point 1024 768)
- #bounds: #(#Rectangle 216 173 780 564)
+ #bounds: #(#Rectangle 220 116 784 591)
#menu: #mainMenu
#usePreferredExtent: false
#returnIsOKInDialog: true
@@ -2165,6 +2163,20 @@
^ holder.
!
+installDirectoryMacOS
+ "automatically generated by UIPainter ..."
+
+ |holder|
+
+ (holder := builder bindingAt:#installDirectoryMacOS) isNil ifTrue:[
+ builder aspectAt:#installDirectoryMacOS put:(holder := '' asValue).
+ holder onChangeSend:#value to:[modifiedChannel value:true].
+ ].
+ ^ holder.
+
+ "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
installDirectoryUnix
"automatically generated by UIPainter ..."
@@ -2179,6 +2191,20 @@
"Created: / 23.3.1999 / 14:18:05 / cg"
!
+installDirectoryVMS
+ "automatically generated by UIPainter ..."
+
+ |holder|
+
+ (holder := builder bindingAt:#installDirectoryVMS) isNil ifTrue:[
+ builder aspectAt:#installDirectoryVMS put:(holder := '' asValue).
+ holder onChangeSend:#value to:[modifiedChannel value:true].
+ ].
+ ^ holder.
+
+ "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
installDirectoryWin32
"automatically generated by UIPainter ..."
@@ -2853,6 +2879,12 @@
self installDirectoryWin32
value:(p propertyAt:#installDirectoryWin32) ?
((p propertyAt:#installDirectory) ? '\Programme\SmalltalkX').
+"/ self installDirectoryVMS
+"/ value:(p propertyAt:#installDirectoryVMS) ?
+"/ ((p propertyAt:#installDirectory) ? '\Programme\SmalltalkX').
+"/ self installDirectoryMacOS
+"/ value:(p propertyAt:#installDirectoryMacOS) ?
+"/ ((p propertyAt:#installDirectory) ? '\Programme\SmalltalkX').
l := p prerequisitePackages collect:[:entry |
|pName|
@@ -2917,6 +2949,8 @@
p propertyAt:#installDirectoryUnix put:self installDirectoryUnix value.
p propertyAt:#installDirectoryWin32 put:self installDirectoryWin32 value.
+ p propertyAt:#installDirectoryVMS put:self installDirectoryVMS value.
+ p propertyAt:#installDirectoryMacOS put:self installDirectoryMacOS value.
p prerequisiteClasses:(self listOfRequiredClassesInPrerequisites value
collect:[:entry | entry string asSymbol]).
@@ -2930,6 +2964,9 @@
updateRightCanvas
|selectedNode nodeContents spec|
+ self builder bindings removeKey:#listOfAllClassesInPrerequisites ifAbsent:nil. "/ force recompute
+ self builder bindings removeKey:#listOfAllProjectsInPrerequisites ifAbsent:nil. "/ force recompute
+
self selectedProjectInPrerequisites value:nil.
self selectedRequiredProjectInPrerequisites value:nil.
@@ -3060,24 +3097,36 @@
!
browseClasses
- |ns p classes nBad|
+ |ns p classes nBad uniqueClasses|
p := self currentProject.
classes := p classes
collect:[:clsOrName |
- |cls|
+ |cls realName|
clsOrName isSymbol ifTrue:[
- cls := Smalltalk at:clsOrName
+ realName := clsOrName.
+ (realName includes:$:) ifTrue:[
+ (realName startsWith:'Smalltalk::') ifTrue:[
+ realName := (realName copyFrom:'Smalltalk::' size + 1) asSymbol
+ ]
+ ].
+ cls := Smalltalk at:realName
] ifFalse:[
cls := clsOrName
].
cls
].
+
+ "/ remove duplicates - but want to preserve order
+ "/ thats why we do not use asIdentitySet asOrderedCollection
+ uniqueClasses := OrderedCollection new.
+ classes do:[:cls | (uniqueClasses includesIdentical:cls) ifFalse:[uniqueClasses add:cls]].
+
nBad := classes inject:0 into:[:sum :el | el isNil ifTrue:[sum+1] ifFalse:[sum]].
nBad ~~ 0 ifTrue:[
classes := classes select:[:cls | cls notNil].
- self warn:('Oops - %1 classes could not be found.\\You should probably load the first.' bindWith:nBad) withCRs.
+ self warn:('Oops - %1 classes could not be found.\\You should probably load them first.' bindWith:nBad) withCRs.
].