--- 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 $'
! !