Warning: session_start(): open(/var/lib/php/sessions/sess_tjqnc6p022vfsp1fun0uh8ht98, 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 CollapsibleLeftPanel > MetaWithChangeListeners is Swingable {
S sidePanelName;
JComponent sideComponent, mainComponent;
JSplitPane splitPane;
settableWithVar bool expanded;
SingleComponentPanel scp = singleComponentPanel();
*(bool *expanded, S *sidePanelName, JComponent *sideComponent, JComponent *mainComponent) {
splitPane = jhsplit(0.25, wrappedSideComponent(), null);
varExpanded().onChangeAndNow(r updateScp);
}
void expand { setExpanded(true); }
void collapse { setExpanded(false); }
void updateScp {
if (expanded) {
splitPane.setRightComponent(mainComponent);
scp.set(splitPane);
} else
scp.set(westAndCenterWithMargin(
vstack(expandButton()), mainComponent));
}
JComponent expandButton() {
ret jClickableImage_instantToolTip(#1103075, "Expand " + sidePanelName, r expand);
}
JComponent collapseButton() {
ret jClickableImage_instantToolTip(#1103076, "Collapse " + sidePanelName, r collapse);
}
JComponent wrappedSideComponent() {
//ret jSection(sidePanelName, sideComponent);
ret northAndCenterWithMargin(
westAndCenterWithMargin(collapseButton(), jlabel(sidePanelName)),
sideComponent
);
}
visual scp;
}