Warning: session_start(): open(/var/lib/php/sessions/sess_4b2souqa0d4sj27ltobotmnd3f, 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
transient sclass JGallery is Swingable {
L files;
gettable File selectedFile;
settable bool horizontal = true;
simplyCached DynamicStack buttons() {
ret horizontal ? makeNiceButtons() : verticalNiceButtons();
}
simplyCached ButtonImageLoader imageLoader() {
ret new ButtonImageLoader(buttons());
}
void setImageFiles(Cl filesCollection) swing {
var files = asList(filesCollection);
if (eq(this.files, files)) ret;
this.files = files;
printVars("JGallery.setImageFiles", n2(files));
L l = filesForNiceButtons(files, lambda1 openImage);
replaceNiceButtons(buttons(), l);
File selectedFile = selectedFile();
//buttonGroup = buttonGroupForAllButtons(buttons());
selectFile(selectedFile);
imageLoader().update();
}
void selectFile(File file) swing {
selectedFile = file;
int idx = indexOf(files, file);
for (int i, JButton btn : unpair iterateWithIndex(allButtons(buttons()))) {
bool selected = i == idx;
setSelected(btn, selected);
if (selected) {
print("Selected button: " + btn);
scrollIntoView(btn);
}
}
}
cachedVisual jHigherScrollPane(jfullcenter(buttons()));
swappable void openImage(File f) { showImage(f); }
}