checkin from browser
authorClaus Gittinger <cg@exept.de>
Thu, 24 Jun 1999 19:05:33 +0200
changeset 1149 00b17864e6ef
parent 1148 3e42f8601522
child 1150 a3879a40eb37
checkin from browser
ProjectBrowser.st
--- 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.
     ].