!7 module SaveGoodResult { S moduleIDAndName, comment; visualize { ret withRightMargin(makeForm2( "Module", dm_moduleSelectorComboBox(dm_fieldLiveValue('moduleIDAndName)), "Comment", dm_fieldTextField('comment), "", jbutton("Save", rThread saveResult))); } void saveResult enter { O mod = dm_getModule(firstIntAsString(moduleIDAndName)); if (mod == null) ret; BufferedImage screenshot = dm_moduleScreenShot(mod); S moduleID = dm_moduleID(mod); File jpgFile = makeFileNameUnique_withExtension(goodResultsDir(ymd_minus_hms()), ".jpg"); saveJPEG(jpgFile, screenshot); dm_persistModule(mod); saveTextFile(replaceExtension(jpgFile, ".data"), dm_getStructure(mod)); setFileInfoFields(jpgFile, Comment := comment, "Module ID" := moduleID, "Module Lib ID" := dm_moduleLibID(mod)); infoBox("Saved " + jpgFile + " (plus data)"); } }