/* * 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; } }