Skip to content

Commit

Permalink
Merge pull request #128 from pharo-graphics/ToSelectionModelSelecter
Browse files Browse the repository at this point in the history
To selection model selecter
  • Loading branch information
plantec committed Mar 27, 2024
2 parents 208c07d + 7c103bd commit e2e6d2e
Show file tree
Hide file tree
Showing 54 changed files with 1,675 additions and 1,391 deletions.
2 changes: 1 addition & 1 deletion src/Toplo-Demo/ToploDemoPresenter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ ToploDemoPresenter >> demo2 [
| list colorAssociations |

(list := ToListElement new)
selectionMode: ToListNoneSelectionMode new;
selectionMode: (ToListSelectionMode primaryOn: list) disable;
nodeBuilder: [ :node :holder |
node addChild: (ToLabeledIcon new
label: (ToLabel new
Expand Down
122 changes: 8 additions & 114 deletions src/Toplo-Examples/ToListElementStresser.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -120,64 +120,6 @@ ToListElementStresser >> actionDeselectIndexesIn: aList [
aList selecter deselectIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionDisableAllIn: aList [

aList disabledSelecter selectAll
]

{ #category : #actions }
ToListElementStresser >> actionDisableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList disabledSelecter selectIndex: idx ]
]

{ #category : #actions }
ToListElementStresser >> actionDisableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList disabledSelecter selectIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionEnableAllIn: aList [

aList disabledSelecter deselectAll
]

{ #category : #actions }
ToListElementStresser >> actionEnableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList disabledSelecter deselectIndex: idx ]
]

{ #category : #actions }
ToListElementStresser >> actionEnableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList disabledSelecter deselectIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionHiddenIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList hiddenSelecter selectIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionRemoveAtIn: aList [

Expand Down Expand Up @@ -238,31 +180,6 @@ ToListElementStresser >> actionSelectOnlyIndexesIn: aList [
aList selecter selectOnlyIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionSelectableAllIn: aList [


aList unselectableSelecter deselectAll
]

{ #category : #actions }
ToListElementStresser >> actionSelectableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList unselectableSelecter deselectIndex: idx ]
]

{ #category : #actions }
ToListElementStresser >> actionSelectableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList unselectableSelecter deselectIndexes: selected
]

{ #category : #actions }
ToListElementStresser >> actionShiftSelectionFromIn: aList [

Expand All @@ -272,36 +189,6 @@ ToListElementStresser >> actionShiftSelectionFromIn: aList [
idx isZero ifFalse: [ aList selecter shiftSelection: nb from: idx ]
]

{ #category : #actions }
ToListElementStresser >> actionUnhiddenAllIn: aList [

aList hiddenSelecter deselectAll
]

{ #category : #actions }
ToListElementStresser >> actionUnselectableAllIn: aList [

aList unselectableSelecter selectAll
]

{ #category : #actions }
ToListElementStresser >> actionUnselectableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList unselectableSelecter selectIndex: idx ]
]

{ #category : #actions }
ToListElementStresser >> actionUnselectableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList unselectableSelecter selectIndexes: selected
]

{ #category : #private }
ToListElementStresser >> afterRoundInList: aList [

Expand Down Expand Up @@ -357,7 +244,7 @@ ToListElementStresser >> initialize [
{ #category : #accessing }
ToListElementStresser >> interRoundWaitDuration [

^ 50 milliSeconds
^ 30 milliSeconds
]

{ #category : #accessing }
Expand Down Expand Up @@ -398,10 +285,17 @@ ToListElementStresser >> minListSize [

]

{ #category : #initialization }
ToListElementStresser >> newListElement [

^ ToListElement new
]

{ #category : #initialization }
ToListElementStresser >> newStressedListNumber: aNumber [

| list process size ident priority suffix sieve |

list := ToListElement new.
sieve := ToListElementSieve new.
list userData at: #sieve put: sieve.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
Class {
#name : #ToListElementStresserWithAdditionalSelecters,
#superclass : #ToListElementStresser,
#category : #'Toplo-Examples'
}

{ #category : #running }
ToListElementStresserWithAdditionalSelecters class >> runInSDL [

<script>
self new runInHost: BlOSWindowSDL2Host new
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionDisableAllIn: aList [

aList disabledSelecter selectAll
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionDisableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList disabledSelecter selectIndex: idx ]
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionDisableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList disabledSelecter selectIndexes: selected
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionEnableAllIn: aList [

aList disabledSelecter deselectAll
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionEnableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList disabledSelecter deselectIndex: idx ]
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionEnableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList disabledSelecter deselectIndexes: selected
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionHiddenIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList hiddenSelecter selectIndexes: selected
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionSelectableAllIn: aList [


aList unselectableSelecter deselectAll
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionSelectableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList unselectableSelecter deselectIndex: idx ]
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionSelectableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList unselectableSelecter deselectIndexes: selected
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionUnhiddenAllIn: aList [

aList hiddenSelecter deselectAll
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionUnselectableAllIn: aList [

aList unselectableSelecter selectAll
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionUnselectableIndexIn: aList [

| idx |
idx := self randIndexIn: aList.
idx isZero ifFalse: [ aList unselectableSelecter selectIndex: idx ]
]

{ #category : #actions }
ToListElementStresserWithAdditionalSelecters >> actionUnselectableIndexesIn: aList [

| nb selected |
nb := (self randIndexIn: aList) min: 30.
nb isZero ifTrue: [ ^ self ].
selected := (1 to: nb) collect: [ :i | self randIndexIn: aList ].
aList unselectableSelecter selectIndexes: selected
]

{ #category : #initialization }
ToListElementStresserWithAdditionalSelecters >> newListElement [

^ super newListElement
withHiddenSelecter;
withUnselectableSelecter;
withDisabledSelecter;
yourself
]
14 changes: 8 additions & 6 deletions src/Toplo-Examples/ToSandBox.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ ToSandBox class >> example_List2WithAllClassesMono [

| l |
l := ToListElement new.
l selectionMode: (ToListSingleSelectionMode new operator: (ToPrimarySelectionModelOperator new selectionModel: l selectionModel)).
l selectionMode: (ToListSelectionMode primaryOn: l) beSingleSelection.
l dataAccessor addAll:
(Smalltalk globals allClasses collect: [ :cls | cls name ]).
l openInSpace
Expand All @@ -714,7 +714,7 @@ ToSandBox class >> example_List2WithAllClassesNone [

| l |
l := ToListElement new.
l selectionMode: ToListNoneSelectionMode new.
l selectionMode: (ToListSelectionMode primaryOn: l) disable.
l dataAccessor addAll:
(Smalltalk globals allClasses collect: [ :cls | cls name ]).
l openInSpace
Expand Down Expand Up @@ -1365,6 +1365,7 @@ ToSandBox class >> example_SelectMonoNotFiltrableWithGroups [

| select innerWindow phtext |
select := ToSelectElement new.
select inspect.
select listElement placeholderMinHeight: 35.
phtext := ('No Data' asRopedText
foreground: Color lightGray;
Expand Down Expand Up @@ -1397,7 +1398,7 @@ ToSandBox class >> example_SelectMultiFiltrable [

| select innerWindow |
select := ToSelectElement new.
select maxSelectedCount: 4.
"select maxSelectedCount: 4."

select inspect.
select hideSelected: false.
Expand All @@ -1421,7 +1422,8 @@ ToSandBox class >> example_SelectMultiFiltrableNoWrapping [

| select innerWindow |
select := ToSelectElement new.
select maxSelectedCount: 3.
select inspect.
select maxSelectedCount: 6.
select nodeWrapping: false.
select hideSelected: false.
select dataAccessor addAll: self statesOfAmerica.
Expand All @@ -1443,6 +1445,7 @@ ToSandBox class >> example_SelectMultiFiltrableWithHideSelected [

| select innerWindow |
select := ToSelectElement new.
select inspect.
select hideSelected: true.
select dataAccessor updateAllWith: self statesOfAmerica.
select strategy: ToMultipleSelectStrategy new.
Expand Down Expand Up @@ -1712,8 +1715,7 @@ ToSandBox class >> example_SieveOnList2With_AllMethods_MonoSelection [
| listElement assoc |
assoc := self example_SieveOnList2With_AllMethods.
listElement := assoc key.
listElement selectionMode: (ToListSingleSelectionMode new operator:
(ToPrimarySelectionModelOperator new selectionModel: listElement selectionModel))
listElement selectionMode: (ToListSelectionMode primaryOn: listElement) beSingleSelection
]

{ #category : #list }
Expand Down
8 changes: 2 additions & 6 deletions src/Toplo-Widget-List-Tests/ToListElementTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,7 @@ ToListElementTest >> testEmptyListAddOrRemoveNextInSelection [

| l |
l := ToListElement new.
l selectionMode: (ToListMultipleSelectionMode new operator:
(ToPrimarySelectionModelOperator new selectionModel:
l selectionModel)).
l selectionMode: (ToListSelectionMode primaryOn: l) beMultipleSelection.
l fitContent.
self assert: l dataAccessor isEmpty.
l forceLayout.
Expand All @@ -129,9 +127,7 @@ ToListElementTest >> testEmptyListAddOrRemovePreviousInSelection [

| l |
l := ToListElement new.
l selectionMode: (ToListMultipleSelectionMode new operator:
(ToPrimarySelectionModelOperator new selectionModel:
l selectionModel)).
l selectionMode: (ToListSelectionMode primaryOn: l) beMultipleSelection.
l fitContent.
self assert: l dataAccessor isEmpty.
l forceLayout.
Expand Down

0 comments on commit e2e6d2e

Please sign in to comment.