MultipleItemSelectionWidget.st
changeset 2520 83dce5294ade
parent 2404 2b7591c982ac
child 2787 559ae498c994
--- a/MultipleItemSelectionWidget.st	Tue May 27 08:15:34 2003 +0200
+++ b/MultipleItemSelectionWidget.st	Wed May 28 15:49:42 2003 +0200
@@ -7,7 +7,7 @@
 		selectedItemsLabelHolder listOfSelectedItems
 		canAddItemToSelection canRemoveItemFromSelection
 		canAddAllItemsToSelection canRemoveAllItemsFromSelection
-		enableChannel'
+		enableChannel accepted'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Views-Lists'
@@ -61,6 +61,74 @@
 
 !MultipleItemSelectionWidget class methodsFor:'interface specs'!
 
+dialogSpec
+    "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:MultipleItemSelectionWidget andSelector:#dialogSpec
+     MultipleItemSelectionWidget new openInterface:#dialogSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #dialogSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'dialogSpec'
+          #name: 'dialogSpec'
+          #min: #(#Point 10 10)
+          #max: #(#Point 1280 1024)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#UISubSpecification
+              #name: 'SubSpecification1'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -30 1.0)
+              #minorKey: #windowSpec
+            )
+           #(#HorizontalPanelViewSpec
+              #name: 'HorizontalPanel1'
+              #layout: #(#LayoutFrame 0 0 -30 1 0 1 0 1)
+              #horizontalLayout: #center
+              #verticalLayout: #center
+              #horizontalSpace: 3
+              #verticalSpace: 3
+              #reverseOrderIfOKAtLeft: true
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: 'Cancel'
+                    #name: 'CancelButton'
+                    #translateLabel: true
+                    #model: #doCancel
+                    #extent: #(#Point 125 22)
+                  )
+                 #(#ActionButtonSpec
+                    #label: 'OK'
+                    #name: 'OkButton'
+                    #translateLabel: true
+                    #model: #doAccept
+                    #extent: #(#Point 125 22)
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
+      )
+!
+
 windowSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -78,141 +146,141 @@
 
     ^ 
      #(#FullSpec
-	#name: #windowSpec
-	#window: 
+        #name: #windowSpec
+        #window: 
        #(#WindowSpec
-	  #label: 'NewApplication'
-	  #name: 'NewApplication'
-	  #min: #(#Point 10 10)
-	  #max: #(#Point 1280 1024)
-	  #bounds: #(#Rectangle 12 22 312 322)
-	)
-	#component: 
+          #label: 'NewApplication'
+          #name: 'NewApplication'
+          #min: #(#Point 10 10)
+          #max: #(#Point 1280 1024)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
        #(#SpecCollection
-	  #collection: #(
-	   #(#LabelSpec
-	      #label: 'Selected'
-	      #name: 'SelectedLabel'
-	      #layout: #(#LayoutFrame 0 0 0 0 0 0.5 25 0)
-	      #translateLabel: true
-	      #labelChannel: #selectedItemsLabelHolder
-	    )
-	   #(#SequenceViewSpec
-	      #name: 'SelectedList'
-	      #layout: #(#LayoutFrame 0 0 25 0 -20 0.5 0 1)
-	      #tabable: true
-	      #model: #selectedItemListSelection
-	      #hasHorizontalScrollBar: true
-	      #hasVerticalScrollBar: true
-	      #miniScrollerHorizontal: true
-	      #miniScrollerVertical: true
-	      #isMultiSelect: true
-	      #doubleClickSelector: #removeItemsFromSelection
-	      #valueChangeSelector: #showInfoForItem:
-	      #useIndex: false
-	      #sequenceList: #listOfSelectedItems
-	      #enableChannel: #enableChannel
-	    )
-	   #(#LabelSpec
-	      #label: 'Not Selected'
-	      #name: 'NotSelectedLabel'
-	      #layout: #(#LayoutFrame 0 0.5 0 0 0 1 25 0)
-	      #translateLabel: true
-	      #labelChannel: #possibleItemsLabelHolder
-	    )
-	   #(#SequenceViewSpec
-	      #name: 'NotSelectedList'
-	      #layout: #(#LayoutFrame 20 0.5 25 0 0 1 0 1)
-	      #tabable: true
-	      #model: #possibleItemListSelection
-	      #hasHorizontalScrollBar: true
-	      #hasVerticalScrollBar: true
-	      #miniScrollerHorizontal: true
-	      #miniScrollerVertical: true
-	      #isMultiSelect: true
-	      #doubleClickSelector: #addItemsToSelection
-	      #valueChangeSelector: #showInfoForItem:
-	      #useIndex: false
-	      #sequenceList: #listOfPossibleItems
-	      #enableChannel: #enableChannel
-	    )
-	   #(#VerticalPanelViewSpec
-	      #name: 'VerticalPanel1'
-	      #layout: #(#LayoutFrame -20 0.5 25 0 20 0.5 5 0.5)
-	      #horizontalLayout: #fitSpace
-	      #verticalLayout: #center
-	      #horizontalSpace: 3
-	      #verticalSpace: 3
-	      #component: 
-	     #(#SpecCollection
-		#collection: #(
-		 #(#ActionButtonSpec
-		    #label: '<<<'
-		    #name: 'AddButton'
-		    #translateLabel: true
-		    #labelChannel: #addButtonLabelHolder
-		    #resizeForLabel: false
-		    #tabable: true
-		    #model: #addItemsToSelection
-		    #enableChannel: #canAddItemToSelection
-		    #actionValue: ''
-		    #useDefaultExtent: true
-		  )
-		 #(#ActionButtonSpec
-		    #label: '>>>'
-		    #name: 'RemoveButton'
-		    #translateLabel: true
-		    #labelChannel: #removeButtonLabelHolder
-		    #resizeForLabel: false
-		    #tabable: true
-		    #model: #removeItemsFromSelection
-		    #enableChannel: #canRemoveItemFromSelection
-		    #useDefaultExtent: true
-		  )
-		 )
+          #collection: #(
+           #(#LabelSpec
+              #label: 'Selected'
+              #name: 'SelectedLabel'
+              #layout: #(#LayoutFrame 0 0.5 0 0 0 1 25 0)
+              #translateLabel: true
+              #labelChannel: #selectedItemsLabelHolder
+            )
+           #(#SequenceViewSpec
+              #name: 'SelectedList'
+              #layout: #(#LayoutFrame 20 0.5 25 0 0 1 0 1)
+              #enableChannel: #enableChannel
+              #tabable: true
+              #model: #selectedItemListSelection
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #miniScrollerVertical: true
+              #isMultiSelect: true
+              #doubleClickSelector: #removeItemsFromSelection
+              #valueChangeSelector: #showInfoForItem:
+              #useIndex: false
+              #sequenceList: #listOfSelectedItems
+            )
+           #(#LabelSpec
+              #label: 'Not Selected'
+              #name: 'NotSelectedLabel'
+              #layout: #(#LayoutFrame 0 0 0 0 0 0.5 25 0)
+              #translateLabel: true
+              #labelChannel: #possibleItemsLabelHolder
+            )
+           #(#SequenceViewSpec
+              #name: 'NotSelectedList'
+              #layout: #(#LayoutFrame 0 0 25 0 -20 0.5 0 1)
+              #enableChannel: #enableChannel
+              #tabable: true
+              #model: #possibleItemListSelection
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #miniScrollerVertical: true
+              #isMultiSelect: true
+              #doubleClickSelector: #addItemsToSelection
+              #valueChangeSelector: #showInfoForItem:
+              #useIndex: false
+              #sequenceList: #listOfPossibleItems
+            )
+           #(#VerticalPanelViewSpec
+              #name: 'VerticalPanel1'
+              #layout: #(#LayoutFrame -20 0.5 25 0 20 0.5 5 0.5)
+              #horizontalLayout: #fitSpace
+              #verticalLayout: #center
+              #horizontalSpace: 3
+              #verticalSpace: 3
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: '<<<'
+                    #name: 'AddButton'
+                    #translateLabel: true
+                    #labelChannel: #addButtonLabelHolder
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #addItemsToSelection
+                    #enableChannel: #canAddItemToSelection
+                    #actionValue: ''
+                    #useDefaultExtent: true
+                  )
+                 #(#ActionButtonSpec
+                    #label: '>>>'
+                    #name: 'RemoveButton'
+                    #translateLabel: true
+                    #labelChannel: #removeButtonLabelHolder
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #removeItemsFromSelection
+                    #enableChannel: #canRemoveItemFromSelection
+                    #useDefaultExtent: true
+                  )
+                 )
                
-	      )
-	    )
-	   #(#VerticalPanelViewSpec
-	      #name: 'VerticalPanel2'
-	      #layout: #(#LayoutFrame -20 0.5 5 0.5 20 0.5 -10 1)
-	      #horizontalLayout: #fitSpace
-	      #verticalLayout: #center
-	      #horizontalSpace: 3
-	      #verticalSpace: 3
-	      #component: 
-	     #(#SpecCollection
-		#collection: #(
-		 #(#ActionButtonSpec
-		    #label: 'All'
-		    #name: 'AddAllButton'
-		    #translateLabel: true
-		    #labelChannel: #addButtonLabelHolder
-		    #resizeForLabel: false
-		    #tabable: true
-		    #model: #addAllItemsToSelection
-		    #enableChannel: #canAddAllItemsToSelection
-		    #useDefaultExtent: true
-		  )
-		 #(#ActionButtonSpec
-		    #label: 'None'
-		    #name: 'RemoveAllButton'
-		    #translateLabel: true
-		    #labelChannel: #removeButtonLabelHolder
-		    #resizeForLabel: false
-		    #tabable: true
-		    #model: #removeAllItemsFromSelection
-		    #enableChannel: #canRemoveAllItemsFromSelection
-		    #actionValue: ''
-		    #useDefaultExtent: true
-		  )
-		 )
+              )
+            )
+           #(#VerticalPanelViewSpec
+              #name: 'VerticalPanel2'
+              #layout: #(#LayoutFrame -20 0.5 5 0.5 20 0.5 -10 1)
+              #horizontalLayout: #fitSpace
+              #verticalLayout: #center
+              #horizontalSpace: 3
+              #verticalSpace: 3
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ActionButtonSpec
+                    #label: 'All'
+                    #name: 'AddAllButton'
+                    #translateLabel: true
+                    #labelChannel: #addButtonLabelHolder
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #addAllItemsToSelection
+                    #enableChannel: #canAddAllItemsToSelection
+                    #useDefaultExtent: true
+                  )
+                 #(#ActionButtonSpec
+                    #label: 'None'
+                    #name: 'RemoveAllButton'
+                    #translateLabel: true
+                    #labelChannel: #removeButtonLabelHolder
+                    #resizeForLabel: false
+                    #tabable: true
+                    #model: #removeAllItemsFromSelection
+                    #enableChannel: #canRemoveAllItemsFromSelection
+                    #actionValue: ''
+                    #useDefaultExtent: true
+                  )
+                 )
                
-	      )
-	    )
-	   )
+              )
+            )
+           )
          
-	)
+        )
       )
 ! !
 
@@ -230,18 +298,26 @@
      (if this app is embedded in a subCanvas)."
 
     ^ #(
-	#addButtonLabelHolder
-	#listOfPossibleItems
-	#listOfSelectedItems
-	#possibleItemsLabelHolder
-	#removeButtonLabelHolder
-	#selectedItemsLabelHolder
-	#enableChannel
+        #addButtonLabelHolder
+        #enableChannel
+        #listOfPossibleItems
+        #listOfSelectedItems
+        #possibleItemsLabelHolder
+        #removeButtonLabelHolder
+        #selectedItemsLabelHolder
       ).
+
 ! !
 
 !MultipleItemSelectionWidget methodsFor:'actions'!
 
+accept
+    "only invoked if opened as modal box..."
+
+    accepted := true.
+    self closeRequest.
+!
+
 addAllItemsToSelection
     "add all items from unselected to the selected list"
 
@@ -273,6 +349,13 @@
     ]
 !
 
+cancel
+    "only invoked if opened as modal box..."
+
+    accepted := false.
+    self closeRequest.
+!
+
 removeAllItemsFromSelection
     "remove all items from selected to the unselected list"
 
@@ -309,6 +392,10 @@
 
 !MultipleItemSelectionWidget methodsFor:'aspects'!
 
+accepted
+    ^ accepted == true
+!
+
 canAddAllItemsToSelection
     canAddAllItemsToSelection isNil ifTrue:[
        canAddAllItemsToSelection := BlockValue with:[:m | m value size > 0]
@@ -500,5 +587,5 @@
 !MultipleItemSelectionWidget class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/MultipleItemSelectionWidget.st,v 1.5 2002-12-10 11:02:27 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/MultipleItemSelectionWidget.st,v 1.6 2003-05-28 13:49:42 cg Exp $'
 ! !