package urgrip.programnodes; import com.ur.urcap.api.contribution.ContributionProvider; import com.ur.urcap.api.contribution.program.swing.SwingProgramNodeView; import com.ur.urcap.api.domain.userinteraction.keyboard.KeyboardNumberInput; import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class GripperGripNodeView implements SwingProgramNodeView{ private final Style style; private JTextField jtfPosition, jtfSpeed; private JRadioButton gripButton, ungripButton; public GripperGripNodeView(Style style) { this.style = style; } @Override public void buildUI(JPanel jPanel, final ContributionProvider provider) { jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS)); jPanel.add(createVerticalSpacing(style.getVerticalSpacing())); jPanel.add(createInputSpeed(provider)); jPanel.add(createVerticalSpacing(style.getExtraLargeVerticalSpacing())); } private Box createInputSpeed(final ContributionProvider provider) { Box inputBox = Box.createHorizontalBox(); inputBox.setAlignmentX(Component.LEFT_ALIGNMENT); inputBox.add(new JLabel("Speed %:")); inputBox.add(createHorizontalSpacing()); gripButton = new JRadioButton("Grip"); ungripButton = new JRadioButton("Ungrip"); ButtonGroup group = new ButtonGroup(); group.add(gripButton); group.add(ungripButton); inputBox.add(gripButton); inputBox.add(ungripButton); return inputBox; } private Component createVerticalSpacing(int height) { return Box.createRigidArea(new Dimension(0, height)); } private Component createHorizontalSpacing() { return Box.createRigidArea(new Dimension(style.getHorizontalSpacing(), 0)); } public void setAction(String which) { if(which.equals("COUPLE")) gripButton.setSelected(true); else ungripButton.setSelected(true); } public String getAction() { if(gripButton.isSelected()) return "COUPLE"; return "DECOUPLE"; } }