checkin from browser
authorClaus Gittinger <cg@exept.de>
Thu, 25 Mar 1999 13:26:55 +0100
changeset 1089 9a44f4c861a2
parent 1088 60edf3482db2
child 1090 4b7c3e6fc5f1
checkin from browser
ProjectBrowser.st
--- a/ProjectBrowser.st	Thu Mar 25 00:07:29 1999 +0100
+++ b/ProjectBrowser.st	Thu Mar 25 13:26:55 1999 +0100
@@ -495,6 +495,147 @@
       )
 !
 
+rightCanvasSpecForPrerequisites
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ProjectBrowser andSelector:#rightCanvasSpecForPrerequisites
+     ProjectBrowser new openInterface:#rightCanvasSpecForPrerequisites
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #rightCanvasSpecForPrerequisites
+        #window: 
+       #(#WindowSpec
+          #label: 'NewApplication'
+          #name: 'NewApplication'
+          #layout: #(#LayoutFrame 216 0 173 0 515 0 472 0)
+          #level: 0
+          #min: #(#Point 10 10)
+          #max: #(#Point 1280 1024)
+          #bounds: #(#Rectangle 216 173 516 473)
+          #usePreferredExtent: false
+          #returnIsOKInDialog: true
+          #escapeIsCancelInDialog: true
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#LabelSpec
+              #label: 'Projects'
+              #name: 'Label1'
+              #layout: #(#LayoutFrame 0 0 0 0 0 0.5 30 0)
+              #translateLabel: true
+            )
+           #(#SequenceViewSpec
+              #name: 'List1'
+              #layout: #(#LayoutFrame 0 0 30 0 0 0.5 -62 1)
+              #tabable: true
+              #model: #selectedProjectInPrerequisites
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #miniScrollerVertical: true
+              #useIndex: false
+              #sequenceList: #listOfAllProjectsInPrerequisites
+            )
+           #(#LabelSpec
+              #label: 'Prerequisites'
+              #name: 'Label2'
+              #layout: #(#LayoutFrame 0 0.5 0 0 0 1 30 0)
+              #translateLabel: true
+            )
+           #(#SequenceViewSpec
+              #name: 'List2'
+              #layout: #(#LayoutFrame 0 0.5 30 0 0 1 -62 1)
+              #tabable: true
+              #model: #selectedRequiredProjectInPrerequisites
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #miniScrollerVertical: true
+              #useIndex: false
+              #sequenceList: #listOfRequiredProjectsInPrerequisites
+            )
+           #(#HorizontalPanelViewSpec
+              #name: 'HorizontalPanel2'
+              #layout: #(#LayoutFrame 0 0 -62 1 0 1 -32 1)
+              #horizontalLayout: #fitSpace
+              #verticalLayout: #center
+              #horizontalSpace: 3
+              #verticalSpace: 3
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: 'Add'
+                    #name: 'addButton'
+                    #translateLabel: true
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #addToPrerequisites
+                    #enableChannel: #canAddSelectedProjectToPrerequisites
+                    #actionValue: ''
+                    #useDefaultExtent: true
+                  )
+                 #(#ActionButtonSpec
+                    #label: 'Remove'
+                    #name: 'removeButton'
+                    #translateLabel: true
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #removeFromPrerequisites
+                    #enableChannel: #canRemoveSelectedProjectFromPrerequisites
+                    #actionValue: ''
+                    #useDefaultExtent: true
+                  )
+                 )
+               
+              )
+            )
+           #(#HorizontalPanelViewSpec
+              #name: 'HorizontalPanel1'
+              #layout: #(#LayoutFrame 0 0.0 -30 1 0 1.0 0 1.0)
+              #horizontalLayout: #fitSpace
+              #verticalLayout: #center
+              #horizontalSpace: 3
+              #verticalSpace: 3
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: 'Cancel'
+                    #name: 'Button1'
+                    #translateLabel: true
+                    #tabable: true
+                    #model: #cancel
+                    #useDefaultExtent: true
+                  )
+                 #(#ActionButtonSpec
+                    #label: 'OK'
+                    #name: 'Button2'
+                    #translateLabel: true
+                    #tabable: true
+                    #model: #accept
+                    #useDefaultExtent: true
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
+      )
+!
+
 rightCanvasSpecForProperties
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -1145,6 +1286,30 @@
 
 !ProjectBrowser methodsFor:'aspects'!
 
+canAddSelectedProjectToPrerequisites
+    |holder|
+
+    (holder := builder bindingAt:#canAddSelectedProjectToPrerequisites) isNil ifTrue:[
+        holder := BlockValue with:[:m | m notNil] argument:(self selectedProjectInPrerequisites).
+        builder aspectAt:#canAddSelectedProjectToPrerequisites put:holder.
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
+canRemoveSelectedProjectFromPrerequisites
+    |holder|
+
+    (holder := builder bindingAt:#canRemoveSelectedProjectFromPrerequisites) isNil ifTrue:[
+        holder := BlockValue with:[:m | m notNil] argument:(self selectedRequiredProjectInPrerequisites).
+        builder aspectAt:#canRemoveSelectedProjectFromPrerequisites put:holder.
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
 classList
     "automatically generated by UIPainter ..."
 
@@ -1317,6 +1482,46 @@
     "Created: / 23.3.1999 / 14:18:05 / cg"
 !
 
+listOfAllProjectsInPrerequisites
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept in the browser."
+
+    |holder projects|
+
+    (holder := builder bindingAt:#listOfAllProjectsInPrerequisites) isNil ifTrue:[
+        builder aspectAt:#listOfAllProjectsInPrerequisites put:(holder := List new).
+        projects := Set new.
+        Project allInstancesDo:[:p |
+            projects add:p name
+        ].
+        projects := projects asOrderedCollection sort.
+        holder addAll:projects.
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
+listOfRequiredProjectsInPrerequisites
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#listOfRequiredProjectsInPrerequisites) isNil ifTrue:[
+        builder aspectAt:#listOfRequiredProjectsInPrerequisites put:(holder := List new).
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
 modifiedChannel
     "automatically generated by UIPainter ..."
 
@@ -1449,6 +1654,40 @@
     ^ holder.
 !
 
+selectedProjectInPrerequisites
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#selectedProjectInPrerequisites) isNil ifTrue:[
+        builder aspectAt:#selectedProjectInPrerequisites put:(holder := ValueHolder new).
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
+selectedRequiredProjectInPrerequisites
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#selectedRequiredProjectInPrerequisites) isNil ifTrue:[
+        builder aspectAt:#selectedRequiredProjectInPrerequisites put:(holder := ValueHolder new).
+    ].
+    ^ holder.
+
+    "Created: / 23.3.1999 / 14:18:05 / cg"
+!
+
 selectedTreeNode
     "automatically generated by UIPainter ..."
 
@@ -1632,6 +1871,7 @@
 
     prerequisitesNode contents:#prerequisites.
     prerequisitesNode icon:(self class prerequisitesIcon).
+    prerequisitesNode spec:(self class rightCanvasSpecForPrerequisites).
 
     classesNode contents:#classes.
     classesNode icon:(self class classesIcon).
@@ -1686,7 +1926,7 @@
         self currentProjectWasNotLoadedFromFile value:p wasLoadedFromFile not.
         self projectType value:(p type).
         self projectDirectory value:(p directory).
-self halt.
+
         self repositoryModule value:(p repositoryModule).
         self repositoryDirectory value:(p repositoryDirectory).
 
@@ -1791,6 +2031,15 @@
     self saveAspectsIntoProject.
 !
 
+addToPrerequisites
+    |sel|
+
+    sel := self selectedProjectInPrerequisites value.
+    self listOfRequiredProjectsInPrerequisites add:sel.
+    self listOfAllProjectsInPrerequisites remove:sel.
+    self selectedProjectInPrerequisites value:nil.
+!
+
 cancel
     "reload aspects from the project"
 
@@ -1882,6 +2131,15 @@
     ]
 !
 
+removeFromPrerequisites
+    |sel|
+
+    sel := self selectedRequiredProjectInPrerequisites value.
+    self listOfAllProjectsInPrerequisites add:sel.
+    self listOfRequiredProjectsInPrerequisites remove:sel.
+    self selectedRequiredProjectInPrerequisites value:nil.
+!
+
 removeProject
     |projectToRemove selectedNode subNode newNode parentNode parentProject newProject|