sclass G22RecognizersPanel { transient settable G22Utils g22utils; *(G22utils *g22utils) {} transient SimpleCRUD_v2 recognizerCRUD; transient G22RecognizerIDE recognizerIDE; simplyCached JComponent visualize() { recognizerCRUD = new SimpleCRUD_v2<>(g22utils.concepts(), G22RecognizerScript); recognizerCRUD.entityName = -> "Recognizer"; g22utils.setupScriptCRUD(recognizerCRUD); recognizerIDE = new G22RecognizerIDE(g22utils); var recognizerCRUDVis = recognizerCRUD.visualize(); var recognizerIDEVis = recognizerIDE.visualize(); recognizerCRUD.onSelectionChanged(-> recognizerIDE.setScript(recognizerCRUD.selected())); ret jvsplit( jCenteredSection("Recognizers", recognizerCRUDVis), recognizerIDE.visualize()); } void updateCount { recognizerCRUD.update(); } }