--- a/MultipleItemSelectionWidget.st Fri Mar 25 17:02:39 2016 +0100
+++ b/MultipleItemSelectionWidget.st Fri Mar 25 19:35:26 2016 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 2004 by eXept Software AG
All Rights Reserved
@@ -20,7 +22,8 @@
selectedItemsLabelHolder listOfSelectedItems
canAddItemToSelection canRemoveItemFromSelection
canAddAllItemsToSelection canRemoveAllItemsFromSelection
- enableChannel accepted'
+ enableChannel accepted addAllButtonLabelHolder
+ removeAllButtonLabelHolder'
classVariableNames:''
poolDictionaries:''
category:'Views-Lists'
@@ -172,142 +175,142 @@
<resource: #canvas>
^
- #(#FullSpec
- #name: #windowSpec
- #window:
- #(#WindowSpec
- #label: 'NewApplication'
- #name: 'NewApplication'
- #min: #(#Point 10 10)
- #bounds: #(#Rectangle 16 46 316 346)
- )
- #component:
- #(#SpecCollection
- #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
- )
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'NewApplication'
+ name: 'NewApplication'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 300 300)
+ )
+ component:
+ (SpecCollection
+ 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
)
-
- )
- )
- #(#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
- )
+ (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: addAllButtonLabelHolder
+ resizeForLabel: false
+ tabable: true
+ model: addAllItemsToSelection
+ enableChannel: canAddAllItemsToSelection
+ useDefaultExtent: true
+ )
+ (ActionButtonSpec
+ label: 'None'
+ name: 'RemoveAllButton'
+ translateLabel: true
+ labelChannel: removeAllButtonLabelHolder
+ resizeForLabel: false
+ tabable: true
+ model: removeAllItemsFromSelection
+ enableChannel: canRemoveAllItemsFromSelection
+ actionValue: ''
+ useDefaultExtent: true
+ )
+ )
+
+ )
+ )
+ )
+
+ )
+ )
! !
!MultipleItemSelectionWidget class methodsFor:'plugIn spec'!
@@ -537,6 +540,13 @@
!MultipleItemSelectionWidget methodsFor:'aspects-look'!
+addAllButtonLabelHolder
+ addAllButtonLabelHolder isNil ifTrue:[
+ addAllButtonLabelHolder := 'All' asValue.
+ ].
+ ^ addAllButtonLabelHolder.
+!
+
addButtonLabelHolder
addButtonLabelHolder isNil ifTrue:[
addButtonLabelHolder := '>>>' asValue.
@@ -561,6 +571,13 @@
!
+removeAllButtonLabelHolder
+ removeAllButtonLabelHolder isNil ifTrue:[
+ removeAllButtonLabelHolder := 'None' asValue.
+ ].
+ ^ removeAllButtonLabelHolder.
+!
+
removeButtonLabelHolder
removeButtonLabelHolder isNil ifTrue:[
removeButtonLabelHolder := '<<<' asValue