!7 sclass SearchInFullSpeechLog > DynTableWithSearcher { bool copyFromAIBar; L calc() { ret data; } void start { L log = katze_getFullLog(); data = new L; for i over log: data.add(litorderedmap('Text, log.get(i), 'Nr := i+1)); onSpeechRecognized_withoutMine(voidfunc(S s) { Map row = litorderedmap(Text := s, 'Nr := l(data)+1); data = listPlus(data, row); addRowToTableWithSearcher(tableSearcher, row); }); } afterVisualize { replaceComponent(tableSearcher.panel, func(JComponent panel) -> JComponent { westAndCenter(jLiveValueCheckBox("Copy from AI bar", dm_fieldLiveValue('copyFromAIBar)), panel) }); } }