Profiler . → . :
| specArray widgets view layout |
" Configure the Spec models "
specArray := OrderedCollection new: 81 * 2.
1 to: 81 do: [ : index | specArray
add: ('textInput' , index asString) asSymbol;
add:
view := DynamicComposableModel new
instantiateModels: specArray;
extent: 300@800;
title: 'Title'
yourself.
" Configure the Spec layout "
widgets := specArray reject: [ : ti | ti =
layout := SpecLayout composed
newColumn: [ : r |
widgets doWithIndex: [ : ti : index | r add: ti ] ];
yourself.
" Set up the widgets "
widgets doWithIndex: [ : each : index | (view perform: each) text: index asString ].
" Open the Window "
(view openWithSpecLayout: layout) delete.
, TextInputFieldModel → defaultEntryCompletion, ( , )

,
- 3902, 3912 .
- 3916 , 3927 .
TextInputFieldModel → defaultEntryCompletion :
defaultEntryCompletion
| applicants |
applicants := (Array streamContents: [:strm |
Smalltalk globals keysDo: [ : each | (each notEmpty and: [each first canBeGlobalVarInitial])
ifTrue: [ strm nextPut: each ] ] ]) sort.
^ EntryCompletion new
dataSourceBlock: [:currText | applicants];
filterBlock: [:currApplicant :currText | currText size > 3
and: [currApplicant asUppercase includesSubstring: currText asString asUppercase]].