Warning: session_start(): open(/var/lib/php/sessions/sess_l8i0qvdnb3fnketu6erqa6se8l, 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
sclass JControlsAndContent is Swingable, Updateable {
settable IF0/**/ makeContent;
SingleComponentPanel scpContent = singleComponentPanel();
ReliableSingleThread rstReloadContent = rst(l0 reloadImpl);
settable JButton btnReload;
SingleComponentPanel scpControls = singleComponentPanel();
gettable JPanel controls = /*rightAlignedLine*/centeredLine();
SingleComponentPanel scpBigControl = scp();
settable bool loadingScreenWhenReloading;
settable bool showControls = true;
public void reload aka update() { rstReloadContent.trigger(); }
cachedVisualize {
onComponentShown(scpContent, -> { if (scpContent.isEmpty()) reload(); });
if (!showControls) ret scpContent;
makeControls();
ret northAndCenter(
centerAndEastWithMargins(
centerAndEastWithMargin(scpBigControl, controls),
btnReload), scpContent);
}
void makeControls {
if (!showControls) ret;
btnReload = jReloadButton(l0 reload);
controls.add(btnReload);
}
swappable JComponent makeLoadingScreen() {
ret jCenteredLabel("Loading...");
}
void reloadImpl {
temp tempDisableButton(btnReload);
if (loadingScreenWhenReloading() || !scpContent.hasComponent())
scpContent.set(makeLoadingScreen());
try {
scpContent.set(wrap(makeContent?!));
} catch print e {
scpContent.set(jErrorView(e));
}
}
selfType setBigControl(JComponent etc bigControl) {
scpBigControl.set(bigControl);
this;
}
selfType addControl(S label, JComponent etc control) {
ret addControl(withLabel(label, control));
}
selfType addControl(JComponent etc control) {
addComponent(controls, control);
this;
}
selfType content(IF0 makeContent) {
ret makeContent(makeContent);
}
}