*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Sat, 07 Oct 2000 16:31:13 +0200
changeset 1863 b4130d1fea7d
parent 1862 ffbe4c06defd
child 1864 cbc44ec70112
*** empty log message ***
Make.proto
MultipleItemSelectionWidget.st
libInit.cc
--- a/Make.proto	Thu Oct 05 08:13:52 2000 +0200
+++ b/Make.proto	Sat Oct 07 16:31:13 2000 +0200
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/libwidg2/Make.proto,v 1.102 1999-12-01 17:39:25 cg Exp $
+# $Header: /cvs/stx/stx/libwidg2/Make.proto,v 1.103 2000-10-07 14:31:13 cg Exp $
 #
 # -------------- no need to change anything below ----------
 
@@ -120,7 +120,9 @@
 	SelectionInListModelView.$(O) \
 	HierarchicalListView.$(O) \
 	HierarchicalList.$(O) \
-	ExtendedComboBox.$(O)
+	ExtendedComboBox.$(O) \
+	MultipleItemSelectionWidget.$(O) \
+
 
 # obsolete:                     \
 #                RetButton.$(O) \
--- a/MultipleItemSelectionWidget.st	Thu Oct 05 08:13:52 2000 +0200
+++ b/MultipleItemSelectionWidget.st	Sat Oct 07 16:31:13 2000 +0200
@@ -24,7 +24,7 @@
     your applications aspects.
 
     [author:]
-         (cg@smc1)
+	 (cg@smc1)
 
     [see also:]
 
@@ -36,26 +36,26 @@
 
 examples
 "
-                                                                [exBegin]
-        |box|
+								[exBegin]
+	|box|
 
-        box := MultipleItemSelectionWidget new.
-        box listOfPossibleItems value:#('one' 'two' 'three' 'four' 'five').  
-        box listOfSelectedItems value:#().  
-        box open.
-        box listOfSelectedItems inspect
-                                                                [exEnd]
+	box := MultipleItemSelectionWidget new.
+	box listOfPossibleItems value:#('one' 'two' 'three' 'four' 'five').  
+	box listOfSelectedItems value:#().  
+	box open.
+	box listOfSelectedItems inspect
+								[exEnd]
 
 
-                                                                [exBegin]
-        |box|
+								[exBegin]
+	|box|
 
-        box := MultipleItemSelectionWidget new.
-        box listOfPossibleItems value:#('one' 'two' 'three' 'four' 'five') asSortedCollection.  
-        box listOfSelectedItems value:#() asSortedCollection.  
-        box open.
-        box listOfSelectedItems inspect
-                                                                [exEnd]
+	box := MultipleItemSelectionWidget new.
+	box listOfPossibleItems value:#('one' 'two' 'three' 'four' 'five') asSortedCollection.  
+	box listOfSelectedItems value:#() asSortedCollection.  
+	box open.
+	box listOfSelectedItems inspect
+								[exEnd]
 "
 ! !
 
@@ -78,141 +78,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 12 22 312 322)
+	)
+	#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 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
+		  )
+		 )
                
-              )
-            )
-           #(#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,13 +230,13 @@
      (if this app is embedded in a subCanvas)."
 
     ^ #(
-        #addButtonLabelHolder
-        #listOfPossibleItems
-        #listOfSelectedItems
-        #possibleItemsLabelHolder
-        #removeButtonLabelHolder
-        #selectedItemsLabelHolder
-        #enableChannel
+	#addButtonLabelHolder
+	#listOfPossibleItems
+	#listOfSelectedItems
+	#possibleItemsLabelHolder
+	#removeButtonLabelHolder
+	#selectedItemsLabelHolder
+	#enableChannel
       ).
 ! !
 
@@ -248,7 +248,7 @@
     |newSel|
 
     newSel := self listOfSelectedItems value asOrderedCollection
-              , self listOfPossibleItems value asOrderedCollection.
+	      , self listOfPossibleItems value asOrderedCollection.
 
     self listOfSelectedItems value:newSel asSortedCollection.
     self listOfPossibleItems value:(#() asSortedCollection).
@@ -257,17 +257,20 @@
 addItemsToSelection
     "add selected items from left list to the right list"
 
-    |sel|
+    |sel t|
 
     sel := self possibleItemListSelection value.
     sel size > 0 ifTrue:[
-        self listOfSelectedItems value:(self listOfSelectedItems value copy addAll:sel; yourself).
-        self listOfPossibleItems value:(self listOfPossibleItems value copy removeAll:sel; yourself).
+	t := self listOfSelectedItems value copy.
+	t addAll:sel.
+	self listOfSelectedItems value:t.
 
-        self possibleItemListSelection value:#()
+	t := self listOfPossibleItems value copy.
+	t removeAll:sel.
+	self listOfPossibleItems value:t.
+
+	self possibleItemListSelection value:#()
     ]
-
-
 !
 
 removeAllItemsFromSelection
@@ -276,7 +279,7 @@
     |newRem|
 
     newRem := self listOfSelectedItems value asOrderedCollection
-              , self listOfPossibleItems value asOrderedCollection.
+	      , self listOfPossibleItems value asOrderedCollection.
 
     self listOfPossibleItems value:newRem asSortedCollection.
     self listOfSelectedItems value:(#() asSortedCollection).
@@ -285,14 +288,19 @@
 removeItemsFromSelection
     "remove selected items from right list to the left list"
 
-    |sel|
+    |sel t|
 
     sel := self selectedItemListSelection value.
     sel size > 0 ifTrue:[
-        self listOfPossibleItems value:(self listOfPossibleItems value copy addAll:sel; yourself).
-        self listOfSelectedItems value:(self listOfSelectedItems value copy removeAll:sel; yourself).
+	t := self listOfPossibleItems value copy.
+	t addAll:sel.
+	self listOfPossibleItems value:t.
 
-        self selectedItemListSelection value:#()
+	t := self listOfSelectedItems value copy.
+	t removeAll:sel.
+	self listOfSelectedItems value:t.
+
+	self selectedItemListSelection value:#()
     ]
 !
 
@@ -304,7 +312,7 @@
 canAddAllItemsToSelection
     canAddAllItemsToSelection isNil ifTrue:[
        canAddAllItemsToSelection := BlockValue with:[:m | m value size > 0]
-                                    argument:self listOfPossibleItems 
+				    argument:self listOfPossibleItems 
     ].
     ^ canAddAllItemsToSelection.
 !
@@ -318,7 +326,7 @@
 
     canAddItemToSelection isNil ifTrue:[
        canAddItemToSelection := BlockValue with:[:m | m value size > 0]
-                                    argument:self possibleItemListSelection 
+				    argument:self possibleItemListSelection 
     ].
     ^ canAddItemToSelection.
 !
@@ -326,7 +334,7 @@
 canRemoveAllItemsFromSelection
     canRemoveAllItemsFromSelection isNil ifTrue:[
        canRemoveAllItemsFromSelection := BlockValue with:[:m | m value size > 0]
-                                    argument:self listOfSelectedItems 
+				    argument:self listOfSelectedItems 
     ].
     ^ canRemoveAllItemsFromSelection.
 !
@@ -340,7 +348,7 @@
 
     canRemoveItemFromSelection isNil ifTrue:[
        canRemoveItemFromSelection := BlockValue with:[:m | m value size > 0]
-                                    argument:self selectedItemListSelection 
+				    argument:self selectedItemListSelection 
     ].
     ^ canRemoveItemFromSelection.
 !
@@ -492,5 +500,5 @@
 !MultipleItemSelectionWidget class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/MultipleItemSelectionWidget.st,v 1.3 2000-09-14 19:55:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/MultipleItemSelectionWidget.st,v 1.4 2000-10-07 14:31:13 cg Exp $'
 ! !
--- a/libInit.cc	Thu Oct 05 08:13:52 2000 +0200
+++ b/libInit.cc	Sat Oct 07 16:31:13 2000 +0200
@@ -68,5 +68,6 @@
 _HierarchicalListView_Init(pass,__pRT__,snd);
 _HierarchicalList_Init(pass,__pRT__,snd);
 _ExtendedComboBox_Init(pass,__pRT__,snd);
+_MultipleItemSelectionWidget_Init(pass,__pRT__,snd);
 __END_PACKAGE__();
 }