import ch.psi.pshell.device.Device; import ch.psi.pshell.ui.App; import ch.psi.pshell.swing.DevicePanel; import ch.psi.pshell.core.Context; import ch.psi.utils.State; import java.awt.Color; import java.util.Map; import javax.swing.JSpinner; import javax.swing.JTextField; /** * */ public class RobotPanel extends DevicePanel { /** * Creates new form RobotPanel */ public RobotPanel() { initComponents(); ((JSpinner.DefaultEditor)spinnerSpeed.getEditor()).getTextField().setHorizontalAlignment(JTextField.CENTER); } @Override public void setDevice(Device device) { super.setDevice(device); if (device == null) { } panelState.setDevice(device); } @Override protected void onDeviceStateChanged(State state, State former) { boolean enabled = state.isNormal(); spinnerSpeed.setEnabled(enabled); buttonAbort.setEnabled(enabled); if (!enabled){ buttonEnable.setEnabled(enabled); buttonDisable.setEnabled(enabled); butonStop.setEnabled(enabled); buttonPause.setEnabled(enabled); buttonResume.setEnabled(enabled); } } boolean updating; @Override protected void onDeviceCacheChanged(Object value, Object former, long timestamp, boolean valueChange) { updating = true; try{ Boolean powered = null; Boolean empty = null; Boolean settled = null; Boolean moving = null; Boolean open = null; Integer speed = null; String task = null; String mode = null; String position = null; if ((value != null) && (value instanceof Map)) { Map status = (Map) value; try { powered = (Boolean) status.get("powered"); } catch (Exception ex) { } try { empty = (Boolean) status.get("empty"); } catch (Exception ex) { } try { settled = (Boolean) status.get("settled"); } catch (Exception ex) { } try { open = (Boolean) status.get("open"); } catch (Exception ex) { } try { speed = (Integer) status.get("speed"); } catch (Exception ex) { } try { position = (String) status.get("pos"); if (position==null){ position = ""; } } catch (Exception ex) { } try { task = ((status.containsKey("task")) && (status.get("task") == null)) ? "" : ((String) status.get("task")).trim(); } catch (Exception ex) { System.out.println(ex); ex.printStackTrace(); } try { mode = ((String) status.get("mode")).trim(); //mode = (String) Context.getInstance().evalLineBackground(getDevice().getName() + ".working_mode"); } catch (Exception ex) { } try { //if (status.get("status").equals("hold")){ // moving = false; //} else if (status.get("status").equals("move")){ // moving = true; //} moving = Boolean.FALSE.equals(settled) || Boolean.FALSE.equals(empty); } catch (Exception ex) { } } boolean remote = mode.equals("remote"); boolean enabled = Boolean.TRUE.equals(powered); buttonEnable.setEnabled((powered != null) && (powered == false)); buttonDisable.setEnabled(enabled); butonStop.setEnabled(remote && Boolean.TRUE.equals(moving)); buttonPause.setEnabled(remote && enabled && Boolean.TRUE.equals(moving) && Boolean.FALSE.equals(settled)); buttonResume.setEnabled(remote && enabled && Boolean.TRUE.equals(moving) && Boolean.TRUE.equals(settled)); ledPowered.setColor((powered == null) ? Color.GRAY : (powered ? Color.YELLOW : Color.DARK_GRAY)); ledEmpty.setColor((empty == null) ? Color.GRAY : (empty ? Color.GREEN : Color.YELLOW)); ledSettled.setColor((settled == null) ? Color.GRAY : (settled ? Color.GREEN : Color.YELLOW)); ledOpen.setColor((open == null) ? Color.GRAY : (open ? Color.GREEN : Color.DARK_GRAY)); ledMoving.setColor((moving == null) ? Color.GRAY : (moving ? Color.YELLOW : Color.DARK_GRAY)); textTask.setText((task == null) ? "" : task); ledTask.setColor((task == null) ? Color.GRAY : (task.isEmpty() ? Color.DARK_GRAY : Color.YELLOW)); textPosition.setText((position == null) ? "" : position); ledPosition.setColor((position == null) ? Color.GRAY : (position.isEmpty() ? Color.DARK_GRAY : Color.GREEN)); //buttonAbort.setEnabled(!textTask.getText().isEmpty()); spinnerSpeed.setEnabled(speed != null); if (speed == null) { spinnerSpeed.setValue(0); } else { spinnerSpeed.setValue(speed); } ledMode.setColor((mode == null) ? Color.BLACK : (remote ? Color.GREEN : Color.YELLOW)); textMode.setText((mode == null) ? "" : mode); } finally{ updating = false; } } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jPanel1 = new javax.swing.JPanel(); ledPowered = new ch.psi.pshell.swing.Led(); jLabel1 = new javax.swing.JLabel(); panelPowerCtr = new javax.swing.JPanel(); buttonDisable = new javax.swing.JButton(); buttonEnable = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jLabel2 = new javax.swing.JLabel(); spinnerSpeed = new ch.psi.utils.swing.HorizontalSpinner(); jLabel7 = new javax.swing.JLabel(); ledMoving = new ch.psi.pshell.swing.Led(); panelMotionCtr = new javax.swing.JPanel(); butonStop = new javax.swing.JButton(); buttonResume = new javax.swing.JButton(); buttonPause = new javax.swing.JButton(); jPanel3 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); ledSettled = new ch.psi.pshell.swing.Led(); jLabel4 = new javax.swing.JLabel(); ledEmpty = new ch.psi.pshell.swing.Led(); textTask = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); textMode = new javax.swing.JTextField(); buttonAbort = new javax.swing.JButton(); jLabel8 = new javax.swing.JLabel(); ledTask = new ch.psi.pshell.swing.Led(); ledMode = new ch.psi.pshell.swing.Led(); textPosition = new javax.swing.JTextField(); ledPosition = new ch.psi.pshell.swing.Led(); jLabel9 = new javax.swing.JLabel(); panelState = new ch.psi.pshell.swing.DeviceStatePanel(); jPanel4 = new javax.swing.JPanel(); ledOpen = new ch.psi.pshell.swing.Led(); jLabel5 = new javax.swing.JLabel(); panelPowerCtr1 = new javax.swing.JPanel(); buttonClose = new javax.swing.JButton(); buttonOpen = new javax.swing.JButton(); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Power")); ledPowered.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel1.setText("Powered:"); buttonDisable.setText("Disable"); buttonDisable.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonDisableActionPerformed(evt); } }); buttonEnable.setText("Enable"); buttonEnable.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonEnableActionPerformed(evt); } }); javax.swing.GroupLayout panelPowerCtrLayout = new javax.swing.GroupLayout(panelPowerCtr); panelPowerCtr.setLayout(panelPowerCtrLayout); panelPowerCtrLayout.setHorizontalGroup( panelPowerCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelPowerCtrLayout.createSequentialGroup() .addGap(0, 0, 0) .addComponent(buttonEnable) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE) .addComponent(buttonDisable)) ); panelPowerCtrLayout.setVerticalGroup( panelPowerCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelPowerCtrLayout.createSequentialGroup() .addGap(0, 0, 0) .addGroup(panelPowerCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(buttonDisable, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonEnable)) .addGap(0, 0, 0)) ); 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(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledPowered, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(panelPowerCtr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel1) .addComponent(ledPowered, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(panelPowerCtr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2)) ); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Motion")); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel2.setText("Speed:"); spinnerSpeed.setModel(new javax.swing.SpinnerNumberModel(10, null, 100, 1)); spinnerSpeed.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { spinnerSpeedStateChanged(evt); } }); jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel7.setText("Moving:"); ledMoving.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N butonStop.setIcon(new javax.swing.ImageIcon(App.class.getResource("/ch/psi/pshell/ui/Stop.png"))); butonStop.setText(" "); butonStop.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); butonStop.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { butonStopActionPerformed(evt); } }); buttonResume.setIcon(new javax.swing.ImageIcon(App.class.getResource("/ch/psi/pshell/ui/Play.png"))); buttonResume.setText(" "); buttonResume.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); buttonResume.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonResumeActionPerformed(evt); } }); buttonPause.setIcon(new javax.swing.ImageIcon(App.class.getResource("/ch/psi/pshell/ui/Pause.png"))); buttonPause.setText(" "); buttonPause.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); buttonPause.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonPauseActionPerformed(evt); } }); javax.swing.GroupLayout panelMotionCtrLayout = new javax.swing.GroupLayout(panelMotionCtr); panelMotionCtr.setLayout(panelMotionCtrLayout); panelMotionCtrLayout.setHorizontalGroup( panelMotionCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelMotionCtrLayout.createSequentialGroup() .addGap(0, 0, 0) .addComponent(butonStop, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonPause, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonResume, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE) .addGap(0, 0, 0)) ); panelMotionCtrLayout.setVerticalGroup( panelMotionCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelMotionCtrLayout.createSequentialGroup() .addGap(0, 0, 0) .addGroup(panelMotionCtrLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(butonStop, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonPause, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonResume, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(0, 0, 0)) ); 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() .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledMoving, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(14, 14, 14) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(panelMotionCtr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(spinnerSpeed)) .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel7) .addComponent(ledMoving, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(panelMotionCtr, 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.BASELINE) .addComponent(jLabel2) .addComponent(spinnerSpeed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2)) ); jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Status")); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel3.setText("Settled:"); ledSettled.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel4.setText("Empty:"); ledEmpty.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N textTask.setEditable(false); textTask.setHorizontalAlignment(javax.swing.JTextField.CENTER); jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel6.setText("Mode:"); textMode.setEditable(false); textMode.setHorizontalAlignment(javax.swing.JTextField.CENTER); buttonAbort.setText("Abort"); buttonAbort.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonAbortActionPerformed(evt); } }); jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel8.setText("Task:"); ledTask.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N ledMode.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N textPosition.setEditable(false); textPosition.setHorizontalAlignment(javax.swing.JTextField.CENTER); ledPosition.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel9.setText("Position:"); 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) .addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledTask, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledEmpty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledSettled, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(textTask) .addComponent(textPosition))) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(textMode))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonAbort) .addContainerGap()) ); jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel3, jLabel4, jLabel6, jLabel8, jLabel9}); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel3) .addComponent(ledSettled, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel4) .addComponent(ledEmpty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(textMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ledMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel6)) .addGap(2, 2, 2) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(buttonAbort) .addComponent(jLabel8) .addComponent(ledTask, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(textTask, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel9) .addComponent(ledPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(textPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2)) ); jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Tool")); ledOpen.setFont(new java.awt.Font("SansSerif", 0, 18)); // NOI18N jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel5.setText("Open:"); buttonClose.setText(" Close "); buttonClose.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonCloseActionPerformed(evt); } }); buttonOpen.setText(" Open "); buttonOpen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonOpenActionPerformed(evt); } }); javax.swing.GroupLayout panelPowerCtr1Layout = new javax.swing.GroupLayout(panelPowerCtr1); panelPowerCtr1.setLayout(panelPowerCtr1Layout); panelPowerCtr1Layout.setHorizontalGroup( panelPowerCtr1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelPowerCtr1Layout.createSequentialGroup() .addGap(0, 0, 0) .addComponent(buttonOpen) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE) .addComponent(buttonClose)) ); panelPowerCtr1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonClose, buttonOpen}); panelPowerCtr1Layout.setVerticalGroup( panelPowerCtr1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(panelPowerCtr1Layout.createSequentialGroup() .addGap(0, 0, 0) .addGroup(panelPowerCtr1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(buttonClose, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonOpen)) .addGap(0, 0, 0)) ); 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() .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ledOpen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(panelPowerCtr1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel5) .addComponent(ledOpen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(panelPowerCtr1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(panelState, 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) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(panelState, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); }// //GEN-END:initComponents private void buttonEnableActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonEnableActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".enable()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonEnableActionPerformed private void buttonDisableActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDisableActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".disable()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonDisableActionPerformed private void spinnerSpeedStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerSpeedStateChanged try{ if (!updating){ Context.getInstance().evalLineBackground(getDevice().getName() + ".set_monitor_speed(" + spinnerSpeed.getValue() + ")"); } } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_spinnerSpeedStateChanged private void butonStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_butonStopActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".reset_motion()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_butonStopActionPerformed private void buttonPauseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonPauseActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".stop()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonPauseActionPerformed private void buttonResumeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResumeActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".resume()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonResumeActionPerformed private void buttonAbortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonAbortActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".stop_task()"); //Context.getInstance().evalLineBackground(getDevice().getName() + ".task_kill('" + textTask.getText() + "')"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonAbortActionPerformed private void buttonCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCloseActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".close_tool()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonCloseActionPerformed private void buttonOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonOpenActionPerformed try{ Context.getInstance().evalLineBackground(getDevice().getName() + ".open_tool()"); } catch (Exception ex){ this.showException(ex); } }//GEN-LAST:event_buttonOpenActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton butonStop; private javax.swing.JButton buttonAbort; private javax.swing.JButton buttonClose; private javax.swing.JButton buttonDisable; private javax.swing.JButton buttonEnable; private javax.swing.JButton buttonOpen; private javax.swing.JButton buttonPause; private javax.swing.JButton buttonResume; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; 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 ch.psi.pshell.swing.Led ledEmpty; private ch.psi.pshell.swing.Led ledMode; private ch.psi.pshell.swing.Led ledMoving; private ch.psi.pshell.swing.Led ledOpen; private ch.psi.pshell.swing.Led ledPosition; private ch.psi.pshell.swing.Led ledPowered; private ch.psi.pshell.swing.Led ledSettled; private ch.psi.pshell.swing.Led ledTask; private javax.swing.JPanel panelMotionCtr; private javax.swing.JPanel panelPowerCtr; private javax.swing.JPanel panelPowerCtr1; private ch.psi.pshell.swing.DeviceStatePanel panelState; private javax.swing.JSpinner spinnerSpeed; private javax.swing.JTextField textMode; private javax.swing.JTextField textPosition; private javax.swing.JTextField textTask; // End of variables declaration//GEN-END:variables }