Inceptum/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceThumbnail.java

45 lines
1.6 KiB
Java
Raw Normal View History

2022-09-30 18:07:18 +02:00
package io.gitlab.jfronny.inceptum.gtk.control;
import ch.bailu.gtk.gtk.*;
2022-10-19 20:28:49 +02:00
import ch.bailu.gtk.type.*;
2022-09-30 18:07:18 +02:00
import io.gitlab.jfronny.inceptum.launcher.util.InstanceList;
import io.gitlab.jfronny.inceptum.launcher.util.InstanceLock;
public class InstanceThumbnail extends Stack {
private static final Str SPINNER = new Str("spinner");
private static final Str IMAGE = new Str("image");
private static final Str GENERIC = new Str("generic");
public InstanceThumbnail(CPointer pointer) {
super(pointer);
}
public InstanceThumbnail() {
super();
var spinner = new Spinner();
var image = new Image();
var generic = new Image();
2022-10-19 20:28:49 +02:00
spinner.setName(SPINNER);
image.setName(IMAGE);
generic.setName(GENERIC);
2022-09-30 18:07:18 +02:00
generic.setFromIconName(new Str("media-playback-start-symbolic")); //TODO better default icon
addNamed(spinner, SPINNER);
addNamed(image, IMAGE);
addNamed(generic, GENERIC);
}
public void bind(InstanceList.Entry entry) {
var spinner = new Spinner(getChildByName(SPINNER).cast());
var image = new Image(getChildByName(IMAGE).cast()); //TODO
var generic = new Image(getChildByName(GENERIC).cast());
//TODO mark instance being played
if (InstanceLock.isSetupLocked(entry.path())) {
setVisibleChild(spinner);
} else if (false) { // if the instance has an image, load the image data and set it as the visible child
setVisibleChild(image);
} else {
setVisibleChild(generic);
}
}
}