Browse Source

program nodes wip

Martin Kunz 4 years ago
parent
commit
63ceb27ec0

+ 4 - 36
src/main/java/urgrip/programnodes/GripperGripNodeContribution.java

@@ -11,7 +11,7 @@ import com.ur.urcap.api.domain.userinteraction.keyboard.KeyboardInputFactory;
 import com.ur.urcap.api.domain.userinteraction.keyboard.KeyboardNumberInput;
 
 public class GripperGripNodeContribution implements ProgramNodeContribution {
-    private static final String KEY_DELAY = "KEY_DELAY";
+    private static final String KEY_ACTION = "KEY_ACTION";
     private final ProgramAPI programAPI;
     private final UndoRedoManager undoRedoManager;
     private final KeyboardInputFactory keyboardFactory;
@@ -28,14 +28,15 @@ public class GripperGripNodeContribution implements ProgramNodeContribution {
 
     @Override
     public void openView() {
-        view.setSpeed(model.get(KEY_DELAY, 20));
+        view.setAction(model.get(KEY_ACTION, "COUPLE"));
     }
 
     @Override
     public void closeView() {
-        model.set(KEY_DELAY, view.getSpeed());
+        model.set(KEY_ACTION, view.getAction());
     }
 
+
     @Override
     public String getTitle() {
         return "Gripper Grip";
@@ -43,40 +44,7 @@ public class GripperGripNodeContribution implements ProgramNodeContribution {
 
     @Override
     public void generateScript(ScriptWriter writer) {
-        writer.appendLine("write_output_integer_register(3," + 3 + ")");
-        writer.writeChildren();
-    }
-
-    public KeyboardNumberInput getKeyboardForPositionField() {
-        KeyboardNumberInput<Integer> keyboardInput = keyboardFactory.createIntegerKeypadInput();
-        keyboardInput.setInitialValue(model.get(KEY_DELAY, 0));
-        return keyboardInput;
-    }
-
-    public KeyboardInputCallback<Integer> getCallbackForPositionField() {
-        return new KeyboardInputCallback<Integer>() {
-            @Override
-            public void onOk(Integer value) {
-                model.set(KEY_DELAY, value);
-                view.setPosition(value);
-            }
-        };
-    }
-
-    public KeyboardNumberInput getKeyboardForSpeedField() {
-        KeyboardNumberInput<Integer> keyboardInput = keyboardFactory.createIntegerKeypadInput();
-        keyboardInput.setInitialValue(model.get(KEY_DELAY, 0));
-        return keyboardInput;
-    }
 
-    public KeyboardInputCallback<Integer> getCallbackForSpeedField() {
-        return new KeyboardInputCallback<Integer>() {
-            @Override
-            public void onOk(Integer value) {
-                model.set(KEY_DELAY, value);
-                view.setSpeed(value);
-            }
-        };
     }
 
     @Override

+ 16 - 25
src/main/java/urgrip/programnodes/GripperGripNodeView.java

@@ -13,6 +13,7 @@ public class GripperGripNodeView implements SwingProgramNodeView<GripperGripNode
 
     private final Style style;
     private JTextField jtfPosition, jtfSpeed;
+    private JRadioButton gripButton, ungripButton;
 
     public GripperGripNodeView(Style style) {
         this.style = style;
@@ -31,19 +32,13 @@ public class GripperGripNodeView implements SwingProgramNodeView<GripperGripNode
         inputBox.setAlignmentX(Component.LEFT_ALIGNMENT);
         inputBox.add(new JLabel("Speed %:"));
         inputBox.add(createHorizontalSpacing());
-
-        jtfSpeed = new JTextField();
-        jtfSpeed.setFocusable(false);
-        jtfSpeed.setPreferredSize(style.getInputfieldSize());
-        jtfSpeed.setMaximumSize(jtfSpeed.getPreferredSize());
-        jtfSpeed.addMouseListener(new MouseAdapter() {
-            @Override
-            public void mousePressed(MouseEvent e) {
-                KeyboardNumberInput keyboardInput = provider.get().getKeyboardForSpeedField();
-                keyboardInput.show(jtfSpeed, provider.get().getCallbackForSpeedField());
-            }
-        });
-        inputBox.add(jtfSpeed);
+        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;
     }
 
@@ -55,20 +50,16 @@ public class GripperGripNodeView implements SwingProgramNodeView<GripperGripNode
         return Box.createRigidArea(new Dimension(style.getHorizontalSpacing(), 0));
     }
 
-    public void setPosition(Integer value) {
-        jtfPosition.setText(value.toString());
+    public void setAction(String which) {
+        if(which.equals("COUPLE"))
+            gripButton.setSelected(true);
+        else
+            ungripButton.setSelected(true);
     }
 
-    public void setSpeed(Integer value) {
-        jtfSpeed.setText(value.toString());
-    }
 
-    public Integer getPosition() {
-        return Integer.parseInt(jtfPosition.getText());
-    }
-    public Integer getSpeed() {
-        return Integer.parseInt(jtfSpeed.getText());
+    public String getAction() {
+        if(gripButton.isSelected()) return "COUPLE";
+        return "DECOUPLE";
     }
-
-
 }