diff --git a/src/Scienta.java b/src/Scienta.java index 39cd346..776ff66 100644 --- a/src/Scienta.java +++ b/src/Scienta.java @@ -28,7 +28,8 @@ public class Scienta extends AreaDetector { final ControlledVariable excitationEnergy; final GenericArray data; final ChannelInteger totalSteps, currentStep, exposuresComplete; - final ChannelString lensMode, acquisitionMode, passEnergy, estTime, detectorState, status; + final ChannelString lensMode, acquisitionMode, passEnergy, estTime, detectorState; + final ChannelByteArray status; final ChannelInteger slices, slicesReadback, channels, channelsReadback; final Stats[] stats; final String channelCtrl; @@ -50,16 +51,16 @@ public class Scienta extends AreaDetector { stepSize = new ControlledVariable(name + " step size", channelCtrl + ":STEP_SIZE", channelCtrl + ":STEP_SIZE_RBV", false); energyWidth = new ChannelDouble(name + " energy width", channelCtrl + ":ENERGY_WIDTH_RBV", 3, false); energyWidth.setAccessType(AccessType.Read); - energyCount = new ChannelInteger(name + " energy width", channelCtrl + ":COUNT_RBV", false); + energyCount = new ChannelInteger(name + " energy count", channelCtrl + ":COUNT_RBV", false); energyCount.setAccessType(AccessType.Read); lowThetaY = new ControlledVariable(name + " low Theta Y", channelCtrl + ":LOW_THETA_Y", channelCtrl + ":LOW_THETA_Y_RBV", false); centerThetaY = new ControlledVariable(name + " center Theta Y", channelCtrl + ":CENTRE_THETA_Y", channelCtrl + ":CENTRE_THETA_Y_RBV", false); highThetaY = new ControlledVariable(name + " high Theta Y", channelCtrl + ":HIGH_THETA_Y", channelCtrl + ":HIGH_THETA_Y_RBV", false); stepSizeThetaY = new ControlledVariable(name + " Theta Y step size", channelCtrl + ":THETA_Y_STEP_SIZE", channelCtrl + ":THETA_Y_STEP_SIZE_RBV", false); - ThetaYWidth = new ChannelDouble(name + " Theta Y energy width", channelCtrl + ":THETA_Y_WIDTH_RBV", 3, false); + ThetaYWidth = new ChannelDouble(name + " Theta Y width", channelCtrl + ":THETA_Y_WIDTH_RBV", 3, false); ThetaYWidth.setAccessType(AccessType.Read); - ThetaYCount = new ChannelInteger(name + " Theta Y energy width", channelCtrl + ":THETA_Y_COUNT_RBV", false); + ThetaYCount = new ChannelInteger(name + " Theta Y count", channelCtrl + ":THETA_Y_COUNT_RBV", false); ThetaYCount.setAccessType(AccessType.Read); lowThetaX = new ChannelDouble(name + " low Theta X", channelCtrl + ":LOW_SLICE_RBV", 3, false); @@ -69,9 +70,9 @@ public class Scienta extends AreaDetector { highThetaX.setAccessType(AccessType.Read); stepSizeThetaX = new ChannelDouble(name + " Theta X step size", channelCtrl + ":SLICE_STEP_SIZE_RBV", 3, false); stepSizeThetaX.setAccessType(AccessType.Read); - ThetaXWidth = new ChannelDouble(name + " ThetaX energy width", channelCtrl + ":SLICE_WIDTH_RBV", 3, false); + ThetaXWidth = new ChannelDouble(name + " ThetaX width", channelCtrl + ":SLICE_WIDTH_RBV", 3, false); ThetaXWidth.setAccessType(AccessType.Read); - ThetaXCount = new ChannelInteger(name + " Theta X energy width", channelCtrl + ":SLICE_COUNT_RBV", false); + ThetaXCount = new ChannelInteger(name + " Theta count", channelCtrl + ":SLICE_COUNT_RBV", false); ThetaXCount.setAccessType(AccessType.Read); passEnergy = new ChannelString(name + " pass energy", channelCtrl + ":PASS_ENERGY", false); @@ -99,26 +100,22 @@ public class Scienta extends AreaDetector { estTime.setAccessType(AccessType.Read); detectorState= new ChannelString(name + " detector state", channelCtrl + ":DetectorState_RBV", false); detectorState.setAccessType(AccessType.Read); - status= new ChannelString(name + " status", channelCtrl + ":StatusMessage_RBV", false); + status= new ChannelByteArray(name + " status", channelCtrl + ":StatusMessage_RBV"); status.setAccessType(AccessType.Read); - addChildren(new Device[]{acquire, - lowEnergy, centerEnergy, highEnergy, stepSize, energyWidth,energyCount, - lowThetaY, centerThetaY, highThetaY, stepSizeThetaY, ThetaYWidth,ThetaYCount, - data, - totalSteps, currentStep, estTime, detectorState, status, exposuresComplete, - passEnergy, lensMode, acquisitionMode, - slices, slicesReadback, channels, channelsReadback, excitationEnergy - }); - monitoredChildren = new Device[]{acquire, lowEnergy,centerEnergy,highEnergy,energyWidth,energyCount, lowThetaY, centerThetaY, highThetaY, stepSizeThetaY, ThetaYWidth,ThetaYCount, + lowThetaX, centerThetaX, highThetaX, stepSizeThetaX, ThetaXWidth,ThetaXCount, stepSize,totalSteps,currentStep, exposuresComplete, passEnergy, lensMode,acquisitionMode, slices, slicesReadback, channels, channelsReadback, excitationEnergy, estTime, detectorState, status }; - + addChildren(monitoredChildren); + addChildren(new Device[]{ + data, + }); + stats = new Stats[5]; stats[0] = new Stats("CountsR1", 1); stats[1] = new Stats("CountsR2", 2); @@ -347,6 +344,30 @@ public class Scienta extends AreaDetector { return ThetaYCount; } + public ChannelDouble getLowThetaX() { + return lowThetaX; + } + + public ControlledVariable getCenterThetaX() { + return centerThetaX; + } + + public ChannelDouble getHighThetaX() { + return highThetaX; + } + + public ChannelDouble getThetaXStepSize() { + return stepSizeThetaX; + } + + public ChannelDouble getThetaXWidth() { + return ThetaXWidth; + } + + public ChannelInteger getThetaXCount() { + return ThetaXCount; + } + public ChannelString getEstTime() { return estTime; } @@ -355,7 +376,7 @@ public class Scienta extends AreaDetector { return detectorState; } - public ChannelString getStatus() { + public ChannelByteArray getStatus() { return status; } @@ -474,11 +495,14 @@ public class Scienta extends AreaDetector { if (imageCounter == null) { return false; } + /* Integer id = uid.take(); if ((id == null) || (!imageCounter.equals(id))) { uid.update(); } return imageCounter.equals(uid.take()); + */ + return true; } @Override diff --git a/src/ScientaPanel.form b/src/ScientaPanel.form index d647676..68d3f41 100644 --- a/src/ScientaPanel.form +++ b/src/ScientaPanel.form @@ -25,11 +25,8 @@ - - - - - + + @@ -46,138 +43,35 @@ - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - + + + + @@ -195,22 +89,55 @@ - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -219,32 +146,61 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + - - - - - - - - - - - + @@ -295,7 +251,7 @@ - + @@ -355,75 +311,164 @@ - - - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -449,64 +494,371 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + @@ -514,57 +866,31 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + @@ -572,26 +898,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -606,53 +912,174 @@ + + + + + + + + - + - + - + - + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ScientaPanel.java b/src/ScientaPanel.java index afb40f9..3859250 100644 --- a/src/ScientaPanel.java +++ b/src/ScientaPanel.java @@ -31,11 +31,11 @@ public final class ScientaPanel extends DevicePanel { getDevice().getCenterEnergy().writeAsync(value); } else if (origin == valueHigh) { getDevice().getHighEnergy().writeAsync(value); - } else if (origin == valueSize) { + } else if (origin == valueStep) { getDevice().getEnergyStepSize().writeAsync(value); } else if (origin == valueSlices) { getDevice().getSlices().writeAsync((int) value); - } else if (origin == valueIterations) { + } else if (origin == valueChannels) { getDevice().setIterations((int) value); }/*else if (origin == valueFrames) { getDevice().getFrames().writeAsync((int) value); @@ -138,44 +138,88 @@ public final class ScientaPanel extends DevicePanel { Scienta.AcquisitionMode acquisitionMode; Scienta.EnergyMode energyMode; Scienta.DetectorMode detectorMode; + double low; double center; double high; + double step; double width; - //int frames; - //double time; - double size; - int slices; + int count; + + double lowTY; + double centerTY; + double highTY; + double stepTY; + double widthTY; + int countTY; + + double lowTX; + double centerTX; + double highTX; + double stepTX; + double widthTX; + int countTX; + int pass; - int iterations; + int slices; + int channels; + double excit; + String est; int current; int total; + String state; + String status; + int imageCount; } @Override protected DeviceData doBackgroundUpdate() throws IOException, InterruptedException { DeviceData dd = new DeviceData(); - //read-once + try{ + //read-once + dd.lensMode = getDevice().getLensMode(); + dd.elementSet = getDevice().getElementSet(); + dd.acquisitionMode = getDevice().getAcquisitionMode(); + dd.energyMode = getDevice().getEnergyMode(); + dd.detectorMode = getDevice().getDetectorMode(); + dd.pass = getDevice().getPassEnergy(); - dd.lensMode = getDevice().getLensMode(); - dd.elementSet = getDevice().getElementSet(); - dd.acquisitionMode = getDevice().getAcquisitionMode(); - dd.energyMode = getDevice().getEnergyMode(); - dd.detectorMode = getDevice().getDetectorMode(); - dd.pass = getDevice().getPassEnergy(); + dd.low = getDevice().getLowEnergy().getValue(); + dd.center = getDevice().getCenterEnergy().getValue(); + dd.high = getDevice().getHighEnergy().getValue(); + dd.step = getDevice().getEnergyStepSize().getValue(); + dd.width = getDevice().getEnergyWidth().getValue(); + dd.count = getDevice().getEnergyCount().getValue(); - dd.low = getDevice().getLowEnergy().getValue(); - dd.center = getDevice().getCenterEnergy().getValue(); - dd.high = getDevice().getHighEnergy().getValue(); - dd.width = getDevice().getEnergyWidth().getValue(); - //dd.frames = getDevice().getFrames().getValue(); - dd.size = getDevice().getEnergyStepSize().getValue(); - dd.slices = getDevice().getSlices().getValue(); + dd.lowTY = getDevice().getLowThetaY().getValue(); + dd.centerTY = getDevice().getCenterThetaY().getValue(); + dd.highTY = getDevice().getHighThetaY().getValue(); + dd.stepTY = getDevice().getThetaYStepSize().getValue(); + dd.widthTY = getDevice().getThetaYWidth().getValue(); + dd.countTY = getDevice().getThetaYCount().getValue(); - dd.current = getDevice().getCurrentStep().getValue().intValue(); - dd.total = getDevice().getTotalSteps().getValue().intValue(); - dd.iterations = getDevice().getIterations(); + dd.lowTX = getDevice().getLowThetaX().getValue(); + dd.centerTX = getDevice().getCenterThetaX().getValue(); + dd.highTX = getDevice().getHighThetaX().getValue(); + dd.stepTX = getDevice().getThetaXStepSize().getValue(); + dd.widthTX = getDevice().getThetaXWidth().getValue(); + dd.countTX = getDevice().getThetaXCount().getValue(); + + dd.current = getDevice().getCurrentStep().getValue().intValue(); + dd.total = getDevice().getTotalSteps().getValue().intValue(); + dd.slices = getDevice().getSlices().getValue(); + dd.channels = getDevice().getChannels().getValue().intValue(); + + dd.status = new String( getDevice().getStatus().getValue()); + dd.state = getDevice().getDetectorState().getValue(); + dd.imageCount = getDevice().getImageCounter().getValue(); + + dd.excit = getDevice().getExcitationEnergy().getValue(); + dd.est = getDevice().getEstTime().getValue(); + } catch (Exception ex) { + getLogger().log(Level.WARNING, null, ex); + } return dd; } @@ -199,29 +243,49 @@ public final class ScientaPanel extends DevicePanel { @Override protected void onBackgroundUpdateFinished(Object data) { - DeviceData dd = (DeviceData) data; - updateValueField(valueLow, dd.low); - updateValueField(valueCenter, dd.center); - updateValueField(valueHigh, dd.high); - updateValueField(valueWidth, dd.width); - //updateValue(valueFrames, dd.frames); - updateValueField(valueSize, dd.size); - updateValueField(valueSlices, dd.slices); - updateValueField(valueIterations, dd.iterations); - updateValueField(valueTotal, dd.total); - updateValueField(valueCurrent, dd.current); - - updateComboField(comboLens, dd.lensMode); - updateComboField(comboAcquisition, dd.acquisitionMode); - updateComboField(comboDetector, dd.detectorMode); - updateComboField(comboEnergy, dd.energyMode); - updateComboField(comboElement, dd.elementSet); - updateComboField(comboPass, dd.pass); - try { + DeviceData dd = (DeviceData) data; + updateValueField(valueLow, dd.low); + updateValueField(valueCenter, dd.center); + updateValueField(valueHigh, dd.high); + updateValueField(valueStep, dd.step); + updateValueField(valueWidth, dd.width); + updateValueField(valueCount, dd.count); + + updateValueField(valueLowTY, dd.lowTY); + updateValueField(valueCenterTY, dd.centerTY); + updateValueField(valueHighTY, dd.highTY); + updateValueField(valueStepTY, dd.stepTY); + updateValueField(valueWidthTY, dd.widthTY); + updateValueField(valueCountTY, dd.countTY); + + updateValueField(valueLowTX, dd.lowTX); + updateValueField(valueCenterTX, dd.centerTX); + updateValueField(valueHighTX, dd.highTX); + updateValueField(valueStepTX, dd.stepTX); + updateValueField(valueWidthTX, dd.widthTX); + updateValueField(valueCountTX, dd.countTX); + + updateValueField(valueSlices, dd.slices); + updateValueField(valueChannels, dd.channels); + updateValueField(valueTotal, dd.total); + updateValueField(valueCurrent, dd.current); + updateValueField(valueImageCounter, dd.imageCount); + updateValueField(valuExcit, dd.excit); + + updateComboField(comboLens, dd.lensMode); + updateComboField(comboAcquisition, dd.acquisitionMode); + updateComboField(comboDetector, dd.detectorMode); + updateComboField(comboEnergy, dd.energyMode); + updateComboField(comboElement, dd.elementSet); + updateComboField(comboPass, dd.pass); + + textStatus.setText(String.valueOf(dd.status)); + textState.setText(String.valueOf(dd.state)); + textEst.setText(String.valueOf(dd.est)); progress.setValue((int) (getDevice().getProgress() * 1000)); } catch (Exception ex) { - getLogger().log(Level.FINE, null, ex); + getLogger().log(Level.WARNING, null, ex); } } @@ -236,12 +300,6 @@ public final class ScientaPanel extends DevicePanel { cameraPanel = new ch.psi.pshell.swing.CameraPanel(); scientaPanel = new javax.swing.JPanel(); - jPanel5 = new javax.swing.JPanel(); - progress = new javax.swing.JProgressBar(); - jLabel6 = new javax.swing.JLabel(); - valueCurrent = new ch.psi.pshell.swing.ValueSelection(); - jLabel16 = new javax.swing.JLabel(); - valueTotal = new ch.psi.pshell.swing.ValueSelection(); jPanel6 = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); @@ -255,8 +313,6 @@ public final class ScientaPanel extends DevicePanel { jLabel5 = new javax.swing.JLabel(); comboElement = new javax.swing.JComboBox(); jPanel4 = new javax.swing.JPanel(); - jLabel11 = new javax.swing.JLabel(); - comboPass = new javax.swing.JComboBox(); jLabel12 = new javax.swing.JLabel(); valueLow = new ch.psi.pshell.swing.ValueSelection(); jLabel13 = new javax.swing.JLabel(); @@ -265,69 +321,63 @@ public final class ScientaPanel extends DevicePanel { valueHigh = new ch.psi.pshell.swing.ValueSelection(); jLabel15 = new javax.swing.JLabel(); valueWidth = new ch.psi.pshell.swing.ValueSelection(); - jPanel2 = new javax.swing.JPanel(); - jLabel8 = new javax.swing.JLabel(); + valueCount = new ch.psi.pshell.swing.ValueSelection(); + jLabel20 = new javax.swing.JLabel(); + jLabel33 = new javax.swing.JLabel(); + valueStep = new ch.psi.pshell.swing.ValueSelection(); + jLabel11 = new javax.swing.JLabel(); + comboPass = new javax.swing.JComboBox(); + jPanel10 = new javax.swing.JPanel(); + jLabel34 = new javax.swing.JLabel(); + valueLowTY = new ch.psi.pshell.swing.ValueSelection(); + jLabel35 = new javax.swing.JLabel(); + valueCenterTY = new ch.psi.pshell.swing.ValueSelection(); + jLabel36 = new javax.swing.JLabel(); + valueHighTY = new ch.psi.pshell.swing.ValueSelection(); + jLabel37 = new javax.swing.JLabel(); + valueWidthTY = new ch.psi.pshell.swing.ValueSelection(); + valueCountTY = new ch.psi.pshell.swing.ValueSelection(); + jLabel38 = new javax.swing.JLabel(); + jLabel39 = new javax.swing.JLabel(); + valueStepTY = new ch.psi.pshell.swing.ValueSelection(); + jPanel11 = new javax.swing.JPanel(); + jLabel40 = new javax.swing.JLabel(); + jLabel41 = new javax.swing.JLabel(); + valueCenterTX = new ch.psi.pshell.swing.ValueSelection(); + jLabel42 = new javax.swing.JLabel(); + jLabel43 = new javax.swing.JLabel(); + valueWidthTX = new ch.psi.pshell.swing.ValueSelection(); + valueCountTX = new ch.psi.pshell.swing.ValueSelection(); + jLabel44 = new javax.swing.JLabel(); + jLabel45 = new javax.swing.JLabel(); + valueStepTX = new ch.psi.pshell.swing.ValueSelection(); + valueHighTX = new ch.psi.pshell.swing.ValueSelection(); + valueLowTX = new ch.psi.pshell.swing.ValueSelection(); + jLabel46 = new javax.swing.JLabel(); + textEst = new javax.swing.JTextField(); jLabel9 = new javax.swing.JLabel(); - valueSize = new ch.psi.pshell.swing.ValueSelection(); + valuExcit = new ch.psi.pshell.swing.ValueSelection(); + jPanel7 = new javax.swing.JPanel(); jLabel10 = new javax.swing.JLabel(); valueSlices = new ch.psi.pshell.swing.ValueSelection(); - jLabel17 = new javax.swing.JLabel(); - valueIterations = new ch.psi.pshell.swing.ValueSelection(); buttonZeroSupplies = new javax.swing.JButton(); - jPanel7 = new javax.swing.JPanel(); + jLabel17 = new javax.swing.JLabel(); + valueChannels = new ch.psi.pshell.swing.ValueSelection(); + jPanel5 = new javax.swing.JPanel(); + progress = new javax.swing.JProgressBar(); + jLabel6 = new javax.swing.JLabel(); + valueCurrent = new ch.psi.pshell.swing.ValueSelection(); + jLabel16 = new javax.swing.JLabel(); + valueTotal = new ch.psi.pshell.swing.ValueSelection(); + jLabel7 = new javax.swing.JLabel(); + jLabel18 = new javax.swing.JLabel(); + valueImageCounter = new ch.psi.pshell.swing.ValueSelection(); + jLabel19 = new javax.swing.JLabel(); + textState = new javax.swing.JTextField(); + textStatus = new javax.swing.JTextField(); cameraPanel.setBorder(null); - jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Progress")); - - progress.setMaximum(1000); - - jLabel6.setText("Current step:"); - - valueCurrent.setDecimals(0); - valueCurrent.setEnabled(false); - valueCurrent.setMaxValue(100000.0); - valueCurrent.setMinValue(0.0); - valueCurrent.setShowButtons(false); - - jLabel16.setText("Total:"); - - valueTotal.setDecimals(0); - valueTotal.setEnabled(false); - valueTotal.setMaxValue(100000.0); - valueTotal.setMinValue(0.0); - valueTotal.setShowButtons(false); - - javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); - jPanel5.setLayout(jPanel5Layout); - jPanel5Layout.setHorizontalGroup( - jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel6) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(jLabel16) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addContainerGap()) - ); - jPanel5Layout.setVerticalGroup( - jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup() - .addGap(4, 4, 4) - .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel6) - .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel16)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Modes")); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); @@ -351,7 +401,7 @@ public final class ScientaPanel extends DevicePanel { }); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel3.setText("Energy:"); + jLabel3.setText("Pass Energy:"); comboEnergy.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboEnergy.addActionListener(new java.awt.event.ActionListener() { @@ -380,60 +430,111 @@ public final class ScientaPanel extends DevicePanel { } }); - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Energy")); + + jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel12.setText("Low:"); + + valueLow.setDecimals(3); + valueLow.setShowButtons(false); + + jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel13.setText("Center:"); + + valueCenter.setDecimals(3); + valueCenter.setMinValue(0.0); + valueCenter.setShowButtons(false); + + jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel14.setText("High:"); + + valueHigh.setDecimals(3); + valueHigh.setShowButtons(false); + + jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel15.setText("Width:"); + + valueWidth.setDecimals(3); + valueWidth.setEnabled(false); + valueWidth.setMaxValue(2000.0); + valueWidth.setMinValue(0.0); + valueWidth.setShowButtons(false); + + valueCount.setDecimals(3); + valueCount.setEnabled(false); + valueCount.setMaxValue(2000.0); + valueCount.setShowButtons(false); + + jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel20.setText("Count:"); + + jLabel33.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel33.setText("Step:"); + + valueStep.setDecimals(3); + valueStep.setMaxValue(2000.0); + valueStep.setMinValue(0.0); + valueStep.setShowButtons(false); + + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel5) - .addComponent(jLabel4) - .addComponent(jLabel3) - .addComponent(jLabel2) - .addComponent(jLabel1)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel15) + .addComponent(jLabel14) + .addComponent(jLabel13) + .addComponent(jLabel12) + .addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING)) + .addComponent(jLabel33)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboElement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboDetector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(valueWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueCount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueStep, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); - jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4, jLabel5}); + jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenter, valueCount, valueHigh, valueLow, valueStep, valueWidth}); - jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboAcquisition, comboDetector, comboElement, comboEnergy, comboLens}); + jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel12, jLabel13, jLabel14, jLabel15, jLabel20, jLabel33}); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1) - .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGap(4, 4, 4) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel12) + .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2) - .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel13) + .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3) - .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel14) + .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel4) - .addComponent(comboDetector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel33) + .addComponent(valueStep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5) - .addComponent(comboElement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(17, Short.MAX_VALUE)) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel15) + .addComponent(valueWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(valueCount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel20)) + .addContainerGap()) ); - jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Energy")); - jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel11.setText("Pass:"); @@ -445,97 +546,342 @@ public final class ScientaPanel extends DevicePanel { } }); - jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel12.setText("Low:"); + jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder("Theta Y")); - valueLow.setDecimals(2); - valueLow.setShowButtons(false); + jLabel34.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel34.setText("Low:"); - jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel13.setText("Center:"); + valueLowTY.setDecimals(3); + valueLowTY.setMaxValue(1000.0); + valueLowTY.setMinValue(-1000.0); + valueLowTY.setShowButtons(false); - valueCenter.setDecimals(2); - valueCenter.setMinValue(0.0); - valueCenter.setShowButtons(false); + jLabel35.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel35.setText("Center:"); - jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel14.setText("High:"); + valueCenterTY.setDecimals(3); + valueCenterTY.setMaxValue(1000.0); + valueCenterTY.setMinValue(-1000.0); + valueCenterTY.setShowButtons(false); - valueHigh.setDecimals(2); - valueHigh.setShowButtons(false); + jLabel36.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel36.setText("High:"); - jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel15.setText("Width:"); + valueHighTY.setDecimals(3); + valueHighTY.setMaxValue(1000.0); + valueHighTY.setMinValue(-1000.0); + valueHighTY.setShowButtons(false); - valueWidth.setDecimals(2); - valueWidth.setEnabled(false); - valueWidth.setMaxValue(2000.0); - valueWidth.setShowButtons(false); + jLabel37.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel37.setText("Width:"); - javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); - jPanel4.setLayout(jPanel4Layout); - jPanel4Layout.setHorizontalGroup( - jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel4Layout.createSequentialGroup() + valueWidthTY.setDecimals(3); + valueWidthTY.setEnabled(false); + valueWidthTY.setMaxValue(2000.0); + valueWidthTY.setMinValue(0.0); + valueWidthTY.setShowButtons(false); + + valueCountTY.setDecimals(3); + valueCountTY.setEnabled(false); + valueCountTY.setMaxValue(2000.0); + valueCountTY.setMinValue(0.0); + valueCountTY.setShowButtons(false); + + jLabel38.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel38.setText("Count:"); + + jLabel39.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel39.setText("Step:"); + + valueStepTY.setDecimals(3); + valueStepTY.setMaxValue(2000.0); + valueStepTY.setMinValue(0.0); + valueStepTY.setShowButtons(false); + + javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10); + jPanel10.setLayout(jPanel10Layout); + jPanel10Layout.setHorizontalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel15) - .addComponent(jLabel14) - .addComponent(jLabel13) - .addComponent(jLabel12) - .addComponent(jLabel11)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel34) + .addComponent(jLabel35) + .addComponent(jLabel36) + .addComponent(jLabel39) + .addComponent(jLabel37) + .addComponent(jLabel38)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(valueWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(valueWidthTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueCountTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueHighTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueCenterTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueLowTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueStepTY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) ); - jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboPass, valueCenter, valueHigh, valueLow, valueWidth}); + jPanel10Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel34, jLabel35, jLabel36, jLabel37, jLabel38, jLabel39}); - jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel11, jLabel12, jLabel13, jLabel14, jLabel15}); + jPanel10Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenterTY, valueCountTY, valueHighTY, valueLowTY, valueStepTY, valueWidthTY}); - jPanel4Layout.setVerticalGroup( - jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel4Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel11) - .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + jPanel10Layout.setVerticalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(4, 4, 4) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel34) + .addComponent(valueLowTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel12) - .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel35) + .addComponent(valueCenterTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel13) - .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel36) + .addComponent(valueHighTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel14) - .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel39) + .addComponent(valueStepTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(jLabel15) - .addComponent(valueWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(37, Short.MAX_VALUE)) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel37) + .addComponent(valueWidthTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(valueCountTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel38)) + .addContainerGap()) ); - jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Step")); + jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder("Theta X")); - jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel8.setText("Time:"); + jLabel40.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel40.setText("Low:"); + + jLabel41.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel41.setText("Center:"); + + valueCenterTX.setDecimals(3); + valueCenterTX.setMaxValue(1000.0); + valueCenterTX.setMinValue(-1000.0); + valueCenterTX.setShowButtons(false); + + jLabel42.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel42.setText("High:"); + + jLabel43.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel43.setText("Width:"); + + valueWidthTX.setDecimals(3); + valueWidthTX.setEnabled(false); + valueWidthTX.setMaxValue(2000.0); + valueWidthTX.setMinValue(0.0); + valueWidthTX.setShowButtons(false); + + valueCountTX.setDecimals(3); + valueCountTX.setEnabled(false); + valueCountTX.setMaxValue(2000.0); + valueCountTX.setMinValue(0.0); + valueCountTX.setShowButtons(false); + + jLabel44.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel44.setText("Count:"); + + jLabel45.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel45.setText("Step:"); + + valueStepTX.setDecimals(3); + valueStepTX.setEnabled(false); + valueStepTX.setMaxValue(2000.0); + valueStepTX.setMinValue(0.0); + valueStepTX.setShowButtons(false); + + valueHighTX.setDecimals(3); + valueHighTX.setEnabled(false); + valueHighTX.setMaxValue(1000.0); + valueHighTX.setMinValue(-1000.0); + valueHighTX.setShowButtons(false); + + valueLowTX.setDecimals(3); + valueLowTX.setEnabled(false); + valueLowTX.setMaxValue(1000.0); + valueLowTX.setMinValue(-1000.0); + valueLowTX.setShowButtons(false); + + javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); + jPanel11.setLayout(jPanel11Layout); + jPanel11Layout.setHorizontalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel42, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel43, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel44, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel45, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel40, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel41, javax.swing.GroupLayout.Alignment.TRAILING)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(valueCenterTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueStepTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(valueHighTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(valueLowTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(valueWidthTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueCountTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + + jPanel11Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel40, jLabel41, jLabel42, jLabel43, jLabel44, jLabel45}); + + jPanel11Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenterTX, valueCountTX, valueHighTX, valueLowTX, valueStepTX, valueWidthTX}); + + jPanel11Layout.setVerticalGroup( + jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel11Layout.createSequentialGroup() + .addGap(4, 4, 4) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel40) + .addComponent(valueLowTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel41) + .addComponent(valueCenterTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel42) + .addComponent(valueHighTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel45) + .addComponent(valueStepTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel43) + .addComponent(valueWidthTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(valueCountTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel44)) + .addContainerGap()) + ); + + jLabel46.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel46.setText("Time Estimated:"); + + textEst.setEditable(false); jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel9.setText("Size:"); + jLabel9.setText("Excit.:"); - valueSize.setDecimals(2); - valueSize.setMaxValue(1000.0); - valueSize.setMinValue(0.0); - valueSize.setShowButtons(false); + valuExcit.setDecimals(3); + valuExcit.setMaxValue(2000.0); + valuExcit.setMinValue(0.0); + valuExcit.setShowButtons(false); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel5) + .addComponent(jLabel4))) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jLabel11)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() + .addComponent(valuExcit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel46))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(comboPass, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(comboElement, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(comboDetector, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(textEst, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap()) + ); + + jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4, jLabel5}); + + jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboAcquisition, comboDetector, comboElement, comboEnergy, comboLens, comboPass, textEst, valuExcit}); + + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGap(4, 4, 4) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel1) + .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel2) + .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel4) + .addComponent(comboDetector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel5) + .addComponent(comboElement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel3) + .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(valuExcit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel11)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel46) + .addComponent(textEst, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel9)))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(4, 4, 4)) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Detector")); jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel10.setText("Slices:"); @@ -545,66 +891,6 @@ public final class ScientaPanel extends DevicePanel { valueSlices.setMinValue(0.0); valueSlices.setShowButtons(false); - jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); - jLabel17.setText("Iter:"); - - valueIterations.setDecimals(0); - valueIterations.setMaxValue(1000.0); - valueIterations.setMinValue(0.0); - valueIterations.setShowButtons(false); - - javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); - jPanel2.setLayout(jPanel2Layout); - jPanel2Layout.setHorizontalGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel2Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel2Layout.createSequentialGroup() - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel9) - .addComponent(jLabel8)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(valueSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() - .addComponent(jLabel10) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() - .addComponent(jLabel17) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))) - .addContainerGap()) - ); - - jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel17, jLabel8, jLabel9}); - - jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueIterations, valueSize, valueSlices}); - - jPanel2Layout.setVerticalGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel2Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel10) - .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel8) - .addGap(10, 10, 10) - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel9) - .addComponent(valueSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel17) - .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) - ); - buttonZeroSupplies.setText("Zero Supplies"); buttonZeroSupplies.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -612,67 +898,172 @@ public final class ScientaPanel extends DevicePanel { } }); - javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); - jPanel6.setLayout(jPanel6Layout); - jPanel6Layout.setHorizontalGroup( - jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel6Layout.createSequentialGroup() - .addGap(0, 0, 0) - .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(jPanel6Layout.createSequentialGroup() - .addComponent(buttonZeroSupplies, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addContainerGap()))) - ); - jPanel6Layout.setVerticalGroup( - jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel6Layout.createSequentialGroup() - .addGap(0, 0, 0) - .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(jPanel6Layout.createSequentialGroup() - .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(buttonZeroSupplies))) - .addGap(0, 0, 0)) - ); + jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel17.setText("Channels:"); - jPanel6Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jPanel1, jPanel4}); - - jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Collect")); + valueChannels.setDecimals(0); + valueChannels.setMaxValue(10000.0); + valueChannels.setMinValue(0.0); + valueChannels.setShowButtons(false); javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); jPanel7.setLayout(jPanel7Layout); jPanel7Layout.setHorizontalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 0, Short.MAX_VALUE) + .addGroup(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel17) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(valueChannels, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, Short.MAX_VALUE) + .addComponent(buttonZeroSupplies, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) ); + + jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel17}); + + jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueChannels, valueSlices}); + jPanel7Layout.setVerticalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 125, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup() + .addGap(4, 4, 4) + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel10) + .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel17) + .addComponent(valueChannels, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(buttonZeroSupplies)) + .addContainerGap()) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Progress")); + + progress.setMaximum(1000); + + jLabel6.setText("Current step:"); + + valueCurrent.setDecimals(0); + valueCurrent.setEnabled(false); + valueCurrent.setMaxValue(100000.0); + valueCurrent.setMinValue(0.0); + valueCurrent.setShowButtons(false); + + jLabel16.setText("Total:"); + + valueTotal.setDecimals(0); + valueTotal.setEnabled(false); + valueTotal.setMaxValue(100000.0); + valueTotal.setMinValue(0.0); + valueTotal.setShowButtons(false); + + jLabel7.setText("Det. State:"); + + jLabel18.setText("Image Counter:"); + + valueImageCounter.setDecimals(0); + valueImageCounter.setEnabled(false); + valueImageCounter.setMaxValue(100000.0); + valueImageCounter.setMinValue(0.0); + valueImageCounter.setShowButtons(false); + + jLabel19.setText("Status:"); + + textState.setEditable(false); + + textStatus.setEditable(false); + + javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addComponent(jLabel6) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jLabel16) + .addGap(12, 12, 12) + .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(progress, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(jPanel5Layout.createSequentialGroup() + .addComponent(jLabel19) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(textStatus)) + .addGroup(jPanel5Layout.createSequentialGroup() + .addComponent(jLabel7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(textState) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel18) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(valueImageCounter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + + jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel19, jLabel6, jLabel7}); + + jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCurrent, valueImageCounter, valueTotal}); + + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel7) + .addComponent(jLabel18) + .addComponent(valueImageCounter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(textState, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel19) + .addComponent(textStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel6) + .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel16)) + .addContainerGap()) + ); + + javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0) + .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0) + .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); javax.swing.GroupLayout scientaPanelLayout = new javax.swing.GroupLayout(scientaPanel); scientaPanel.setLayout(scientaPanelLayout); scientaPanelLayout.setHorizontalGroup( scientaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); scientaPanelLayout.setVerticalGroup( scientaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(scientaPanelLayout.createSequentialGroup() - .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -686,9 +1077,7 @@ public final class ScientaPanel extends DevicePanel { ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(cameraPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 5, Short.MAX_VALUE)) + .addComponent(cameraPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(scientaPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); }// //GEN-END:initComponents @@ -796,29 +1185,91 @@ public final class ScientaPanel extends DevicePanel { private javax.swing.JLabel jLabel15; private javax.swing.JLabel jLabel16; private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel21; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel26; + private javax.swing.JLabel jLabel27; + private javax.swing.JLabel jLabel28; + private javax.swing.JLabel jLabel29; private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel34; + private javax.swing.JLabel jLabel35; + private javax.swing.JLabel jLabel36; + private javax.swing.JLabel jLabel37; + private javax.swing.JLabel jLabel38; + private javax.swing.JLabel jLabel39; private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel40; + private javax.swing.JLabel jLabel41; + private javax.swing.JLabel jLabel42; + private javax.swing.JLabel jLabel43; + private javax.swing.JLabel jLabel44; + private javax.swing.JLabel jLabel45; + private javax.swing.JLabel jLabel46; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; - private javax.swing.JLabel jLabel8; + private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; - private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel10; + private javax.swing.JPanel jPanel11; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; + private javax.swing.JPanel jPanel9; private javax.swing.JProgressBar progress; private javax.swing.JPanel scientaPanel; + private javax.swing.JTextField textEst; + private javax.swing.JTextField textState; + private javax.swing.JTextField textStatus; + private ch.psi.pshell.swing.ValueSelection valuExcit; private ch.psi.pshell.swing.ValueSelection valueCenter; + private ch.psi.pshell.swing.ValueSelection valueCenter1; + private ch.psi.pshell.swing.ValueSelection valueCenter2; + private ch.psi.pshell.swing.ValueSelection valueCenterTX; + private ch.psi.pshell.swing.ValueSelection valueCenterTY; + private ch.psi.pshell.swing.ValueSelection valueChannels; + private ch.psi.pshell.swing.ValueSelection valueCount; + private ch.psi.pshell.swing.ValueSelection valueCount1; + private ch.psi.pshell.swing.ValueSelection valueCount2; + private ch.psi.pshell.swing.ValueSelection valueCountTX; + private ch.psi.pshell.swing.ValueSelection valueCountTY; private ch.psi.pshell.swing.ValueSelection valueCurrent; private ch.psi.pshell.swing.ValueSelection valueHigh; - private ch.psi.pshell.swing.ValueSelection valueIterations; + private ch.psi.pshell.swing.ValueSelection valueHigh1; + private ch.psi.pshell.swing.ValueSelection valueHigh2; + private ch.psi.pshell.swing.ValueSelection valueHighTX; + private ch.psi.pshell.swing.ValueSelection valueHighTY; + private ch.psi.pshell.swing.ValueSelection valueImageCounter; private ch.psi.pshell.swing.ValueSelection valueLow; - private ch.psi.pshell.swing.ValueSelection valueSize; + private ch.psi.pshell.swing.ValueSelection valueLow1; + private ch.psi.pshell.swing.ValueSelection valueLow2; + private ch.psi.pshell.swing.ValueSelection valueLowTX; + private ch.psi.pshell.swing.ValueSelection valueLowTY; + private ch.psi.pshell.swing.ValueSelection valueSize1; + private ch.psi.pshell.swing.ValueSelection valueSize2; private ch.psi.pshell.swing.ValueSelection valueSlices; + private ch.psi.pshell.swing.ValueSelection valueStep; + private ch.psi.pshell.swing.ValueSelection valueStepTX; + private ch.psi.pshell.swing.ValueSelection valueStepTY; private ch.psi.pshell.swing.ValueSelection valueTotal; private ch.psi.pshell.swing.ValueSelection valueWidth; + private ch.psi.pshell.swing.ValueSelection valueWidth1; + private ch.psi.pshell.swing.ValueSelection valueWidth2; + private ch.psi.pshell.swing.ValueSelection valueWidthTX; + private ch.psi.pshell.swing.ValueSelection valueWidthTY; // End of variables declaration//GEN-END:variables }