static L moduleLibraryForNiceButtons(L list, final VF1 action) { final SS iconMap = mechMap("Icons for modules"); ret map(list, func(fS line) -> TextImageAction { fL l = splitAtSlash(line); S moduleID = first(l); TextImageAction tia = textImageActionToolTip( line, #1101288, r { pcallF(action, line) }, moduleID); tia.more = litmapOrNull(lazyImageID := lookup_first(iconMap, line, moduleID, last(l))); ret tia; }); }