!7 sclass TaskBar extends DynSCP { transient SimpleLiveValue lvInvisible = stringLiveValue(); JComponent visualize2() { ret centerAndEast(hgrid(makeButtons()), withLeftAndRightMargin(6, 3, jLiveValueLabel(lvInvisible))); } void update { revisualize2(); } L makeButtons() { new L out; new L invisible; L modules = dm_listModules(); for (fO m : modules) if (dm_isVisible(m)) out.add(jbutton(dm_moduleName(m), r { dm_showModule(m) })); else invisible.add(m); lvInvisible.set(empty(invisible) ? "" : "+ " + l(invisible) + " invisible"); ret out; } }