!7 module ModuleInspector > DynSCP { S moduleIDAndName; visualize { ret northAndCenterWithMargins( withCenteredTitle("Module to inspect:", dm_moduleSelectorComboBox(dm_fieldLiveValue('moduleIDAndName))), super.visualize()); } void update { O module = dm_getModule(firstIntAsString(moduleIDAndName)); if (module == null) setComponent(jCenteredGoogledImage("Jester")); else { L fields = allFieldObjects(module); setComponent(makeForm(pairsToParams(map(fields, func(Field f) -> Pair { O value = f.get(module); ret pair(f.getName(), className(value)); })))); } } }