import ch.psi.pshell.core.Context; import ch.psi.pshell.swing.DeviceValuePanel; import ch.psi.pshell.ui.Panel; import ch.psi.utils.Arr; import ch.psi.utils.State; import ch.psi.utils.swing.SwingUtils; import java.awt.Component; import java.awt.Font; import java.io.IOException; import java.util.HashMap; import javax.swing.JComboBox; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.JToggleButton; import javax.swing.SwingConstants; /** * */ public class Beamline extends Panel { boolean updatingControls; public enum ID { PGM_ID1, PGM_ID2, PGM_ID1_ID2 } public enum Polarization { Circ_Plus, Circ_Minus, Lin_Hor, Lin_Ver, Lin } public enum Grating { G1_300, G2_1200, G3_600 } final Component[] parameterControls; public Beamline() { initComponents(); ((JSpinner.ListEditor) spinnerHar1.getEditor()).getTextField().setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); ((JSpinner.ListEditor) spinnerHar2.getEditor()).getTextField().setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); SwingUtils.setEnumCombo(comboID, Beamline.ID.class, true); SwingUtils.setEnumCombo(comboPol1, Beamline.Polarization.class, true); SwingUtils.setEnumCombo(comboPol2, Beamline.Polarization.class, true); SwingUtils.setEnumCombo(comboGrating, Beamline.Grating.class, true); Component[] parameterControls = new Component[]{}; for (JPanel panel : new JPanel[]{panelBeamline}) { for (Class cls : new Class[]{JComboBox.class, JSpinner.class, JToggleButton.class}) { parameterControls = Arr.append(parameterControls, SwingUtils.getComponentsByType(panel, cls)); } } Font devValueFont = deviceValuePanel1.getFont().deriveFont(9.0f); for (Component panel : SwingUtils.getComponentsByType(panelBeamline, DeviceValuePanel.class)){ ((DeviceValuePanel)panel).getLabel().setFont(devValueFont); //((DeviceValuePanel)panel).getLabel().setVerticalAlignment(SwingConstants.CENTER); ((DeviceValuePanel)panel).getLabel().setVerticalTextPosition(SwingConstants.TOP); } deviceValuePanel1.getLabel().setVerticalAlignment(SwingConstants.TOP); deviceValuePanel1.getLabel().setFont(deviceValuePanel1.getFont().deriveFont(8.0f)); this.parameterControls = parameterControls; } //Overridable callbacks @Override public void onInitialize(int runCount) { try { updateBeamlineSetup(); } catch (IOException ex) { showException(ex); } } @Override public void onStateChange(State state, State former) { try{ updatingControls = true; checkDryMode.setSelected((boolean) this.eval("get_dry_run()", true)); //updateBeamlineSetup(); } catch (Exception ex){ checkDryMode.setSelected(false); } finally{ updatingControls = false; } updateControls(); } @Override public void onExecutedFile(String fileName, Object result) { } //Callback to perform update - in event thread @Override protected void doUpdate() { } void updateBeamlineSetup() throws IOException{ String id = getSetting("ID"); Double en = Double.valueOf(getSetting("ENERGY")); String pol1 = getSetting("POL_ID_1"); Double alp1 = Double.valueOf(getSetting("ALPHA_ID_1")); String har1 = getSetting("HARMONIC_ID_1"); Double off1 = Double.valueOf(getSetting("OFFSET_ID_1")); String pol2 = getSetting("POL_ID_2"); Double alp2 = Double.valueOf(getSetting("ALPHA_ID_2")); String har2 = getSetting("HARMONIC_ID_2"); Double off2 = Double.valueOf(getSetting("OFFSET_ID_2")); String grat = getSetting("GRATING"); Double order= Double.valueOf(getSetting("DIFF_ORD")); Double cff = Double.valueOf(getSetting("CFF")); comboID.setSelectedItem(id); spinnerImgEng.setValue(en); comboPol1.setSelectedItem(pol1); spinnerAlp1.setValue(alp1); spinnerHar1.setValue(har1); spinnerOff1.setValue(off1); comboPol2.setSelectedItem(pol2); spinnerAlp2.setValue(alp2); spinnerHar2.setValue(har2); spinnerOff2.setValue(off2); comboGrating.setSelectedItem(grat); comboDiffOrder.setSelectedItem(order); spinnerCff.setValue(cff); checkAutoValve.setSelected(String.valueOf(getSetting("AUTO_SWITCH_VALVE")).equalsIgnoreCase("true")); checkAutoShutter.setSelected(String.valueOf(getSetting("AUTO_SWITCH_SHUTTER")).equalsIgnoreCase("true")); } void updateControls() { updatingControls = true; try{ boolean editable = getState().isInitialized() && !getState().isProcessing(); boolean is_id1 = comboID.getSelectedIndex() != 1; boolean is_id2 = comboID.getSelectedIndex() != 0; buttonApply.setEnabled(editable); for (Component c : parameterControls) { c.setEnabled(editable); } if (editable) { spinnerAlp1.setEnabled(is_id1 && (comboPol1.getSelectedItem() == Beamline.Polarization.Lin.toString())); spinnerAlp2.setEnabled(is_id2 & (comboPol2.getSelectedItem() == Beamline.Polarization.Lin.toString())); spinnerHar1.setEnabled(is_id1 ); spinnerHar2.setEnabled(is_id2 ); spinnerOff1.setEnabled(is_id1 ); spinnerOff2.setEnabled(is_id2 ); comboPol1.setEnabled(is_id1 ); comboPol2.setEnabled(is_id2 ); } } finally { updatingControls = false; } } void setBeamlineArgs(HashMap args) { args.put("ID", comboID.getSelectedItem()); args.put("ENERGY", spinnerImgEng.getValue()); args.put("POL_ID_1", comboPol1.getSelectedItem()); args.put("ALPHA_ID_1", spinnerAlp1.getValue()); args.put("HARMONIC_ID_1", spinnerHar1.getValue()); args.put("OFFSET_ID_1", spinnerOff1.getValue()); args.put("POL_ID_2", comboPol2.getSelectedItem()); args.put("ALPHA_ID_2", spinnerAlp2.getValue()); args.put("HARMONIC_ID_2", spinnerHar2.getValue()); args.put("OFFSET_ID_2", spinnerOff2.getValue()); args.put("GRATING", comboGrating.getSelectedItem()); args.put("DIFF_ORD", comboDiffOrder.getSelectedItem()); args.put("CFF", spinnerCff.getValue()); } void applyBeamline() throws Context.ContextStateException { HashMap args = new HashMap(); setBeamlineArgs(args); runAsync("templates/SetupBeamline", args).handle((ret, t) -> { if ((t != null) && (!getContext().isAborted())) { showException((Exception) t); } return t; }); } @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { panelBeamline = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); comboID = new javax.swing.JComboBox<>(); jPanel7 = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); comboPol1 = new javax.swing.JComboBox<>(); jLabel6 = new javax.swing.JLabel(); spinnerAlp1 = new javax.swing.JSpinner(); jLabel7 = new javax.swing.JLabel(); spinnerHar1 = new javax.swing.JSpinner(); jLabel8 = new javax.swing.JLabel(); spinnerOff1 = new javax.swing.JSpinner(); jPanel9 = new javax.swing.JPanel(); jLabel13 = new javax.swing.JLabel(); comboPol2 = new javax.swing.JComboBox<>(); jLabel14 = new javax.swing.JLabel(); spinnerAlp2 = new javax.swing.JSpinner(); jLabel15 = new javax.swing.JLabel(); spinnerHar2 = new javax.swing.JSpinner(); jLabel16 = new javax.swing.JLabel(); spinnerOff2 = new javax.swing.JSpinner(); buttonApply = new javax.swing.JButton(); jLabel27 = new javax.swing.JLabel(); spinnerImgEng = new javax.swing.JSpinner(); checkAutoValve = new javax.swing.JCheckBox(); deviceValuePanel1 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel10 = new ch.psi.pshell.swing.DeviceValuePanel(); buttonUndo = new javax.swing.JButton(); checkAutoShutter = new javax.swing.JCheckBox(); jPanel1 = new javax.swing.JPanel(); comboGrating = new javax.swing.JComboBox<>(); jLabel2 = new javax.swing.JLabel(); comboDiffOrder = new javax.swing.JComboBox<>(); spinnerCff = new javax.swing.JSpinner(); jLabel4 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); checkAutoBeamline = new javax.swing.JCheckBox(); checkDryMode = new javax.swing.JCheckBox(); jLabel1 = new javax.swing.JLabel(); jPanel2 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); deviceValuePanel3 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel2 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel4 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel5 = new ch.psi.pshell.swing.DeviceValuePanel(); labelOffID1a2 = new javax.swing.JLabel(); dvpOffID1b2 = new ch.psi.pshell.swing.DeviceValuePanel(); jPanel4 = new javax.swing.JPanel(); jLabel18 = new javax.swing.JLabel(); jLabel19 = new javax.swing.JLabel(); jLabel20 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); labelOffID2a2 = new javax.swing.JLabel(); dvpOffID2b2 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel6 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel7 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel8 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel9 = new ch.psi.pshell.swing.DeviceValuePanel(); jPanel6 = new javax.swing.JPanel(); jLabel22 = new javax.swing.JLabel(); jLabel23 = new javax.swing.JLabel(); jLabel24 = new javax.swing.JLabel(); deviceValuePanel11 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel12 = new ch.psi.pshell.swing.DeviceValuePanel(); deviceValuePanel13 = new ch.psi.pshell.swing.DeviceValuePanel(); panelBeamline.setBorder(javax.swing.BorderFactory.createTitledBorder("Setup")); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel3.setText("Mode:"); comboID.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboID.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboIDActionPerformed(evt); } }); jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("ID1")); jLabel5.setText("Polarization:"); comboPol1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboPol1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboPol1ActionPerformed(evt); } }); jLabel6.setText("Alpha:"); spinnerAlp1.setModel(new javax.swing.SpinnerNumberModel(0.0d, -360.0d, 360.0d, 1.0d)); jLabel7.setText("Harmonic:"); spinnerHar1.setModel(new javax.swing.SpinnerListModel(new String[] {"1", "3"})); jLabel8.setText("Offset:"); spinnerOff1.setModel(new javax.swing.SpinnerNumberModel(0.0d, -10.0d, 10.0d, 1.0d)); javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); jPanel7.setLayout(jPanel7Layout); jPanel7Layout.setHorizontalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup() .addContainerGap(12, Short.MAX_VALUE) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel8, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(spinnerAlp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(spinnerHar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboPol1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(spinnerOff1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) ); jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel5, jLabel6, jLabel7, jLabel8}); jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboPol1, spinnerAlp1, spinnerHar1, spinnerOff1}); jPanel7Layout.setVerticalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(comboPol1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel6) .addComponent(spinnerAlp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel7) .addComponent(spinnerHar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel8) .addComponent(spinnerOff1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel7Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerAlp1, spinnerHar1, spinnerOff1}); jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder("ID2")); jLabel13.setText("Polarization:"); comboPol2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboPol2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboPol2ActionPerformed(evt); } }); jLabel14.setText("Alpha:"); spinnerAlp2.setModel(new javax.swing.SpinnerNumberModel(0.0d, -360.0d, 360.0d, 1.0d)); jLabel15.setText("Harmonic:"); spinnerHar2.setModel(new javax.swing.SpinnerListModel(new String[] {"1", "3"})); jLabel16.setText("Offset:"); spinnerOff2.setModel(new javax.swing.SpinnerNumberModel(0.0d, -10.0d, 10.0d, 1.0d)); javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9); jPanel9.setLayout(jPanel9Layout); jPanel9Layout.setHorizontalGroup( jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel13, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel14, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel15, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel16, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(spinnerOff2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(spinnerHar2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(spinnerAlp2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboPol2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel9Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel13, jLabel14, jLabel15, jLabel16}); jPanel9Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboPol2, spinnerAlp2, spinnerHar2, spinnerOff2}); jPanel9Layout.setVerticalGroup( jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(comboPol2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel13)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(spinnerAlp2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel14)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel15) .addComponent(spinnerHar2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel16) .addComponent(spinnerOff2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel9Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {spinnerAlp2, spinnerHar2, spinnerOff2}); buttonApply.setText("Apply"); buttonApply.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonApplyActionPerformed(evt); } }); jLabel27.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel27.setText("Photon Energy:"); spinnerImgEng.setModel(new javax.swing.SpinnerNumberModel(1000.0d, 90.0d, 2520.0d, 1.0d)); checkAutoValve.setText("Auto Switch Valve"); checkAutoValve.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkAutoValveActionPerformed(evt); } }); deviceValuePanel1.setDeviceName("energy"); deviceValuePanel10.setDeviceName("energy_opt_desc"); buttonUndo.setText("Undo"); buttonUndo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonUndoActionPerformed(evt); } }); checkAutoShutter.setText("Auto Fast Shutter"); checkAutoShutter.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkAutoShutterActionPerformed(evt); } }); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Mono")); comboGrating.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); jLabel2.setText("Grating:"); comboDiffOrder.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1", "2", "3" })); jLabel4.setText("cff:"); jLabel9.setText("Diff. order:"); 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() .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(comboGrating, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(21, 21, 21) .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(spinnerCff, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel9) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(comboDiffOrder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(14, 14, 14)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel2) .addComponent(comboGrating, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4) .addComponent(spinnerCff, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel9) .addComponent(comboDiffOrder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); checkAutoBeamline.setText("Auto Beamline"); checkAutoBeamline.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkAutoBeamlineActionPerformed(evt); } }); javax.swing.GroupLayout panelBeamlineLayout = new javax.swing.GroupLayout(panelBeamline); panelBeamline.setLayout(panelBeamlineLayout); panelBeamlineLayout.setHorizontalGroup( panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelBeamlineLayout.createSequentialGroup() .addContainerGap() .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(checkAutoValve) .addGroup(panelBeamlineLayout.createSequentialGroup() .addComponent(jLabel27) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(deviceValuePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(spinnerImgEng))) .addGroup(panelBeamlineLayout.createSequentialGroup() .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(comboID, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(deviceValuePanel10, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))) .addComponent(checkAutoShutter) .addComponent(checkAutoBeamline)) .addGap(24, 24, 24) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelBeamlineLayout.createSequentialGroup() .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(panelBeamlineLayout.createSequentialGroup() .addComponent(buttonUndo, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(buttonApply, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) ); panelBeamlineLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel27, jLabel3}); panelBeamlineLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboID, deviceValuePanel1, deviceValuePanel10, spinnerImgEng}); panelBeamlineLayout.setVerticalGroup( panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelBeamlineLayout.createSequentialGroup() .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelBeamlineLayout.createSequentialGroup() .addGap(30, 30, 30) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(comboID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deviceValuePanel10, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel27) .addComponent(spinnerImgEng, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deviceValuePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(checkAutoValve)) .addGroup(panelBeamlineLayout.createSequentialGroup() .addContainerGap() .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGap(6, 6, 6) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelBeamlineLayout.createSequentialGroup() .addComponent(checkAutoShutter) .addGap(4, 4, 4) .addComponent(checkAutoBeamline)) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(buttonApply) .addComponent(buttonUndo)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); panelBeamlineLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {comboID, deviceValuePanel1, deviceValuePanel10, spinnerImgEng}); checkDryMode.setEnabled(false); checkDryMode.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkDryModeActionPerformed(evt); } }); jLabel1.setText("Dry Run"); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Status")); jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("ID1")); jLabel10.setText("Polarization:"); jLabel11.setText("Alpha:"); jLabel12.setText("Harmonic:"); jLabel17.setText("Offset:"); deviceValuePanel3.setDeviceName("id1_pol"); deviceValuePanel2.setDeviceName("id1_alpha"); deviceValuePanel4.setDeviceName("id1_harmonic"); deviceValuePanel5.setDeviceName("id1_offset"); labelOffID1a2.setText("Gap:"); dvpOffID1b2.setDeviceName("id1_gap"); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel17) .addComponent(jLabel12) .addComponent(labelOffID1a2) .addComponent(jLabel11) .addComponent(jLabel10)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(deviceValuePanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE) .addComponent(deviceValuePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(deviceValuePanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(dvpOffID1b2, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE) .addComponent(deviceValuePanel5, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))) .addContainerGap(14, Short.MAX_VALUE)) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel10) .addComponent(deviceValuePanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel11) .addComponent(deviceValuePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel12) .addComponent(deviceValuePanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel17) .addComponent(deviceValuePanel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(labelOffID1a2) .addComponent(dvpOffID1b2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0)) ); jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("ID2")); jLabel18.setText("Polarization:"); jLabel19.setText("Alpha:"); jLabel20.setText("Harmonic:"); jLabel21.setText("Offset:"); labelOffID2a2.setText("Gap:"); dvpOffID2b2.setDeviceName("id2_gap"); deviceValuePanel6.setDeviceName("id2_pol"); deviceValuePanel7.setDeviceName("id2_alpha"); deviceValuePanel8.setDeviceName("id2_harmonic"); deviceValuePanel9.setDeviceName("id2_offset"); 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(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addComponent(labelOffID2a2) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel4Layout.createSequentialGroup() .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel18) .addComponent(jLabel21) .addComponent(jLabel20) .addComponent(jLabel19)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(deviceValuePanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(deviceValuePanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(deviceValuePanel8, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(deviceValuePanel9, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(dvpOffID2b2, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(15, 15, 15)))) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel18) .addComponent(deviceValuePanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel19) .addComponent(deviceValuePanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel20) .addComponent(deviceValuePanel8, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel21) .addComponent(deviceValuePanel9, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, 0) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(labelOffID2a2) .addComponent(dvpOffID2b2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))) ); jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Mono")); jLabel22.setText("Grating:"); jLabel23.setText("cff:"); jLabel24.setText("Diff. order:"); deviceValuePanel11.setDeviceName("Grating"); deviceValuePanel12.setDeviceName("cff"); deviceValuePanel13.setDeviceName("DiffOrd"); javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); jPanel6Layout.setHorizontalGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel22) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deviceValuePanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(26, 26, 26) .addComponent(jLabel23) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deviceValuePanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel24) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deviceValuePanel13, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); jPanel6Layout.setVerticalGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel22) .addComponent(deviceValuePanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel23) .addComponent(deviceValuePanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel24) .addComponent(deviceValuePanel13, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) ); 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, false) .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(41, 41, 41) .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(18, 18, 18) .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(49, 49, 49)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(checkDryMode) .addGap(2, 2, 2) .addComponent(jLabel1) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(panelBeamline, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(0, 12, Short.MAX_VALUE)))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(21, 21, 21) .addComponent(panelBeamline, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 326, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(checkDryMode) .addComponent(jLabel1)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// //GEN-END:initComponents private void comboIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboIDActionPerformed updateControls(); }//GEN-LAST:event_comboIDActionPerformed private void comboPol1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboPol1ActionPerformed updateControls(); }//GEN-LAST:event_comboPol1ActionPerformed private void comboPol2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboPol2ActionPerformed updateControls(); }//GEN-LAST:event_comboPol2ActionPerformed private void buttonApplyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonApplyActionPerformed try { applyBeamline(); } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_buttonApplyActionPerformed private void checkAutoValveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkAutoValveActionPerformed if (!updatingControls){ try{ setSetting("AUTO_SWITCH_VALVE", checkAutoValve.isSelected()); } catch (Exception ex){ showException (ex); } } }//GEN-LAST:event_checkAutoValveActionPerformed private void checkDryModeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkDryModeActionPerformed if (!updatingControls){ try{ this.eval("set_dry_run("+ (checkDryMode.isSelected() ? "True" : "False") + ")", true); } catch (Exception ex){ showException (ex); } } }//GEN-LAST:event_checkDryModeActionPerformed private void buttonUndoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonUndoActionPerformed try{ updateBeamlineSetup(); } catch (Exception ex){ showException (ex); } }//GEN-LAST:event_buttonUndoActionPerformed private void checkAutoShutterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkAutoShutterActionPerformed if (!updatingControls){ try{ setSetting("AUTO_SWITCH_SHUTTER", checkAutoShutter.isSelected()); } catch (Exception ex){ showException (ex); } } }//GEN-LAST:event_checkAutoShutterActionPerformed private void checkAutoBeamlineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkAutoBeamlineActionPerformed if (!updatingControls){ try{ this.eval("beamline_auto("+ (checkAutoBeamline.isSelected() ? "On" : "Off") + ")",true); } catch (Exception ex){ showException (ex); } } }//GEN-LAST:event_checkAutoBeamlineActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton buttonApply; private javax.swing.JButton buttonUndo; private javax.swing.JCheckBox checkAutoBeamline; private javax.swing.JCheckBox checkAutoShutter; private javax.swing.JCheckBox checkAutoValve; private javax.swing.JCheckBox checkDryMode; private javax.swing.JComboBox comboDiffOrder; private javax.swing.JComboBox comboGrating; private javax.swing.JComboBox comboID; private javax.swing.JComboBox comboPol1; private javax.swing.JComboBox comboPol2; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel1; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel10; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel11; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel12; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel13; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel2; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel3; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel4; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel5; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel6; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel7; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel8; private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel9; private ch.psi.pshell.swing.DeviceValuePanel dvpOffID1b2; private ch.psi.pshell.swing.DeviceValuePanel dvpOffID2b2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel14; 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 jLabel27; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel9; private javax.swing.JLabel labelOffID1a2; private javax.swing.JLabel labelOffID2a2; private javax.swing.JPanel panelBeamline; private javax.swing.JSpinner spinnerAlp1; private javax.swing.JSpinner spinnerAlp2; private javax.swing.JSpinner spinnerCff; private javax.swing.JSpinner spinnerHar1; private javax.swing.JSpinner spinnerHar2; private javax.swing.JSpinner spinnerImgEng; private javax.swing.JSpinner spinnerOff1; private javax.swing.JSpinner spinnerOff2; // End of variables declaration//GEN-END:variables }