abstract sclass DynCopiedObjectTable extends DynObjectTable { S srcModuleLibID; transient bool autoScrollDown; void init {} // override this in subclasses start { init(); dm_require(srcModuleLibID); dm_vmBus_onMessage listChanged(voidfunc(O mod, L list) { if (empty(srcModuleLibID) || dm_isMe(mod) || !eq(dm_moduleLibID(mod), srcModuleLibID)) ret; updateMe(); // goes through RST + Q }); updateMe(); } void update { L l = cast dm_callModuleWithLibID(srcModuleLibID, 'getList); if (l == null) ret; setList(quickImport(l)); if (autoScrollDown) scrollDown(); } }