Files
MXSC/src/main/java/ch/psi/mxsc/Sample.java

102 lines
2.0 KiB
Java

/*
* Copyright (c) 2014 Paul Scherrer Institute. All rights reserved.
*/
package ch.psi.mxsc;
import ch.psi.pshell.device.Device;
import ch.psi.pshell.device.DeviceBase;
import ch.psi.pshell.imaging.DimensionDouble;
/**
*
*/
public class Sample extends DeviceBase {
final int index;
public Sample(Puck puck, int index){
super(puck.getName() + ":" + (index+1));
setParent(puck);
this.index = index;
}
public Puck getPuck() {
return (Puck) getParent();
}
DimensionDouble getSize(){
return new DimensionDouble(12.0, 12.0);
}
public int getIndex() {
return index;
}
boolean enabled;
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean value) {
enabled = value;
}
boolean selected;
public boolean isSelected() {
return selected;
}
public void toggleSelected(boolean value) {
setSelected(!selected);
}
public void setSelected(boolean value) {
if (value != selected){
if (value == true){
((Puck)getParent()).setSelected(true);
for (Device d : getParent().getChildren()){
if (d instanceof Sample){
((Sample)d).selected = false;
}
}
}
selected = value;
}
getPuck().getBasePlate().onSelectionChanged();
}
boolean present;
public boolean isPresent() {
return present;
}
public void setPresent(boolean value) {
present = value;
}
boolean loaded;
public boolean isLoaded() {
return loaded;
}
public void setLoaded(boolean value) {
loaded = value;
if (value) {
wasLoaded = true;
}
}
boolean wasLoaded;
public boolean wasLoaded() {
return wasLoaded;
}
}