Fix motors, recovery & stage not properly highlighting

This commit is contained in:
SiboVG 2022-07-31 10:33:23 +02:00
parent 71e9315ec9
commit 6ff6265c3a

View File

@ -302,6 +302,7 @@ public class SimulationPanel extends JPanel {
} }
fireMaintainSelection(); fireMaintainSelection();
takeTheSpotlight();
openDialog(true, sim); openDialog(true, sim);
} }
@ -363,6 +364,7 @@ public class SimulationPanel extends JPanel {
SimulationPanel.this), document, sims).setVisible(true); SimulationPanel.this), document, sims).setVisible(true);
log.info("Running simulations took " + (System.currentTimeMillis() - t) + " ms"); log.info("Running simulations took " + (System.currentTimeMillis() - t) + " ms");
fireMaintainSelection(); fireMaintainSelection();
takeTheSpotlight();
} }
public void editSimulation() { public void editSimulation() {
@ -499,6 +501,7 @@ public class SimulationPanel extends JPanel {
} }
d.setVisible(true); d.setVisible(true);
fireMaintainSelection(); fireMaintainSelection();
takeTheSpotlight();
} }
private void openDialog(final Simulation sim) { private void openDialog(final Simulation sim) {
@ -518,7 +521,6 @@ public class SimulationPanel extends JPanel {
break; break;
simulationTable.addRowSelectionInterval(row, row); simulationTable.addRowSelectionInterval(row, row);
} }
takeTheSpotlight();
} }
private abstract static class SimulationAction extends AbstractAction { private abstract static class SimulationAction extends AbstractAction {
@ -1003,6 +1005,9 @@ public class SimulationPanel extends JPanel {
*/ */
public void takeTheSpotlight() { public void takeTheSpotlight() {
simulationTable.requestFocusInWindow(); simulationTable.requestFocusInWindow();
if (simulationTable.getSelectedRows().length > 0) {
return;
}
if (previousSelection == null || previousSelection.length == 0) { if (previousSelection == null || previousSelection.length == 0) {
simulationTable.setRowSelectionInterval(0, 0); simulationTable.setRowSelectionInterval(0, 0);
} else { } else {