Warning: session_start(): open(/var/lib/php/sessions/sess_l1tpl6f0kkflaigrdds2j49eap, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
module TaskBar_dev extends DynObjectTable {
S showWhat = "All modules";
start {
dontPersist();
defaultAction = voidfunc(S id) { dm_showModule(id) };
itemToMap = itemToMap_calcSingleColumn("Module", func(O mod) -> S { or2(dm_moduleName(mod), "[...]") });
ownResource(vmBus_onModulesListChange(rstUpdate()));
rstUpdate().trigger();
}
void update {
data = null; // force update
LS ids = containsWord(showWhat, "visible") ? dm_visibleModuleIDs()
: containsWord(showWhat, "invisible") ? dm_invisibleModuleIDs()
: dm_moduleIDs();
setData(sortedByCalculatedFieldIC(func(O m) -> S { or2(dm_moduleName(m), unicodeCharacterLastInSortOrder()) }, ids));
}
visualize {
JComponent theTable = super.visualize();
for (final Pair> p : dm_moduleMenuItems())
tablePopupMenuItem(table,
p.a, voidfunc(final int row) { thread { callF(p.b, dm_getModule(_get(data, row))); } });
tablePopupMenu(table, voidfunc(JPopupMenu menu, final int row) {
O mod = _get(data, row);
addMenuItem(menu, "ID: " + or(dm_moduleID(mod), mod), null)
});
onCharDown(table, voidfunc(char c) {
int i = indexOfStartingWithIC(data, str(c));
print("Searching for " + c + " => " + i);
selectRowIfNotNegative(table, i);
});
ret northAndCenter(
withMargin(jRightAlignedLine(dm_fieldComboBox('showWhat, ll("All modules", "Visible modules", "Invisible modules")))),
theTable);
}
enhanceFrame {
addTitlePopupMenuItems(f, "Place on the right", rThread placeOnRight);
}
void placeOnRight enter { dm_placeOnRight(); }
}