Mount/unmount in GUI

This commit is contained in:
2023-04-27 16:48:33 +02:00
parent 5266ef751b
commit 8b4accefde
3 changed files with 26 additions and 9 deletions

View File

@@ -161,9 +161,6 @@ public class BasePlate extends DeviceBase {
BasePlate() {
super("BasePlate", new BasePlateConfig());
if (MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.rt){
//Controller.getInstance().getContext().getDevicePool().removeDevice("puck_detection");
}
ArrayList<Puck> pucks = new ArrayList<>();
for (int i = 0; i < numberOfPucks; i++) {
new Puck(this, i);

View File

@@ -46,7 +46,11 @@ public class BasePlatePanel extends DevicePanel {
menuLoadSample = new JMenuItem("Load");
menuLoadSample.addActionListener((ActionEvent e) -> {
try {
getDevice().loadSample();
//getDevice().loadSample();
int sample = clickedSample.getNumber();
int puck = clickedPuck.getNumber();
char segment = clickedPuck.getSegment();
Controller.instance.execute("mount('" + segment + "'," + puck + "," + sample + ")");
} catch (Exception ex) {
SwingUtils.showException(this, ex);
}
@@ -54,7 +58,11 @@ public class BasePlatePanel extends DevicePanel {
menuUnloadSample = new JMenuItem("Unload");
menuUnloadSample.addActionListener((ActionEvent e) -> {
try {
getDevice().unloadSample(getDevice().getSelectedSample());
//getDevice().unloadSample(getDevice().getSelectedSample());
int sample = clickedSample.getNumber();
int puck = clickedPuck.getNumber();
char segment = clickedPuck.getSegment();
Controller.instance.execute("unmount('" + segment + "'," + puck + "," + sample + ")");
} catch (Exception ex) {
SwingUtils.showException(this, ex);
}
@@ -238,7 +246,10 @@ public class BasePlatePanel extends DevicePanel {
}
repaint();
}
Sample clickedSample;
Puck clickedPuck;
MouseAdapter mouseAdapter = new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
@@ -254,7 +265,10 @@ public class BasePlatePanel extends DevicePanel {
if (isEnabled() && (getDevice()!=null)) {
try {
Sample sample = getSample(e.getX(), e.getY());
Puck puck = getPuck(e.getX(), e.getY());
Puck puck = getPuck(e.getX(), e.getY());
clickedSample = sample;
clickedPuck = puck;
if (e.isPopupTrigger()) {
if (sample != null) {
onSamplePopupMenu(e, sample);
@@ -391,8 +405,10 @@ public class BasePlatePanel extends DevicePanel {
}
void onSamplePopupMenu(MouseEvent e,Sample sample){
menuLoadSample.setEnabled(sample.isPresent() && getDevice().getLoadedSample()==null);
menuUnloadSample.setEnabled(!sample.isPresent() && getDevice().getLoadedSample()!=null);
//menuLoadSample.setEnabled(sample.isPresent() && getDevice().getLoadedSample()==null);
//menuUnloadSample.setEnabled(!sample.isPresent() && getDevice().getLoadedSample()!=null);
menuLoadSample.setEnabled(!sample.isLoaded() && getDevice().getLoadedSample()==null);
menuUnloadSample.setEnabled(sample.isLoaded() && getDevice().getLoadedSample()!=null);
samplePopupMenu.show(e.getComponent(), e.getX(), e.getY());
}

View File

@@ -32,6 +32,10 @@ public class Sample extends DeviceBase {
public int getIndex() {
return index;
}
public int getNumber() {
return index+1;
}
boolean enabled;