!7 // Show programs with data as nice buttons cmodule ProgramsWithData { visualize { L ids = programsWithData(); final SS programNames = getSnippetTitles_cached(ids); ret jHigherScrollPane(jfullcenter(makeNiceButtons( map(ids, func(fS progID) -> TextImageAction { TextImageAction(programNames.get(progID), #1101229, r-thread { showProgramDir(progID) }) })))); } enhanceFrame { frameIcon(f, #1101233); } void showProgramDir(S progID) { File[] files = listFiles(programDir(progID)); moveFrameUp(50, frameIcon(#1101234, frameTitle("Files of: " + getSnippetTitle_cached(progID) + " [" + progID + "]", showNiceButtons_higher( map(files, func(final File f) -> TextImageAction { TextImageAction(f.getName(), #1101231, r-thread { genericUI_openFile(f) }) }))))); } }