--- 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__();
}