!7 compact module AutoGoogleImage > DynImageSurface { S typingText; transient S text; enhanceFrame { minFrameSize(f, 300, 300); } visualize { ret northCenterSouthWithMargins(makeAllBold(withLabel("Text:", fontSizePlus_textField(5, dm_textFieldAndSubmit('typingText, rThread { show(typingText) }, buttonText := "Visualize", centered := true)))), super.visualize(), centeredLiveValueLabel(dm_fieldLiveValue('text))); } // API void show(S query) q { BufferedImage img = quickVisualize(query); if (img == null) ret; setImage(img); setField(text := query); } }