GripperGripNodeView.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package urgrip.programnodes;
  2. import com.ur.urcap.api.contribution.ContributionProvider;
  3. import com.ur.urcap.api.contribution.program.swing.SwingProgramNodeView;
  4. import com.ur.urcap.api.domain.userinteraction.keyboard.KeyboardNumberInput;
  5. import javax.swing.*;
  6. import java.awt.*;
  7. import java.awt.event.MouseAdapter;
  8. import java.awt.event.MouseEvent;
  9. public class GripperGripNodeView implements SwingProgramNodeView<GripperGripNodeContribution>{
  10. private final Style style;
  11. private JTextField jtfPosition, jtfSpeed;
  12. private JRadioButton gripButton, ungripButton;
  13. public GripperGripNodeView(Style style) {
  14. this.style = style;
  15. }
  16. @Override
  17. public void buildUI(JPanel jPanel, final ContributionProvider<GripperGripNodeContribution> provider) {
  18. jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS));
  19. jPanel.add(createVerticalSpacing(style.getVerticalSpacing()));
  20. jPanel.add(createInputSpeed(provider));
  21. jPanel.add(createVerticalSpacing(style.getExtraLargeVerticalSpacing()));
  22. }
  23. private Box createInputSpeed(final ContributionProvider<GripperGripNodeContribution> provider) {
  24. Box inputBox = Box.createHorizontalBox();
  25. inputBox.setAlignmentX(Component.LEFT_ALIGNMENT);
  26. inputBox.add(new JLabel("Speed %:"));
  27. inputBox.add(createHorizontalSpacing());
  28. gripButton = new JRadioButton("Grip");
  29. ungripButton = new JRadioButton("Ungrip");
  30. ButtonGroup group = new ButtonGroup();
  31. group.add(gripButton);
  32. group.add(ungripButton);
  33. inputBox.add(gripButton);
  34. inputBox.add(ungripButton);
  35. return inputBox;
  36. }
  37. private Component createVerticalSpacing(int height) {
  38. return Box.createRigidArea(new Dimension(0, height));
  39. }
  40. private Component createHorizontalSpacing() {
  41. return Box.createRigidArea(new Dimension(style.getHorizontalSpacing(), 0));
  42. }
  43. public void setAction(String which) {
  44. if(which.equals("COUPLE"))
  45. gripButton.setSelected(true);
  46. else
  47. ungripButton.setSelected(true);
  48. }
  49. public String getAction() {
  50. if(gripButton.isSelected()) return "COUPLE";
  51. return "DECOUPLE";
  52. }
  53. }