GripperCloseProgramNodeContribution.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.ur.urcap.examples.pickorplaceswing.close;
  2. import com.ur.urcap.api.contribution.ProgramNodeContribution;
  3. import com.ur.urcap.api.contribution.program.ProgramAPIProvider;
  4. import com.ur.urcap.api.domain.ProgramAPI;
  5. import com.ur.urcap.api.domain.program.ProgramModel;
  6. import com.ur.urcap.api.domain.program.nodes.ProgramNodeFactory;
  7. import com.ur.urcap.api.domain.program.structure.TreeNode;
  8. import com.ur.urcap.api.domain.program.structure.TreeStructureException;
  9. import com.ur.urcap.api.domain.script.ScriptWriter;
  10. public class GripperCloseProgramNodeContribution implements ProgramNodeContribution {
  11. private final ProgramAPIProvider apiProvider;
  12. GripperCloseProgramNodeContribution(ProgramAPIProvider apiProvider) {
  13. this.apiProvider = apiProvider;
  14. createSubtree();
  15. }
  16. @Override
  17. public String getTitle() {
  18. return "Gripper Close";
  19. }
  20. @Override
  21. public void openView() {
  22. }
  23. @Override
  24. public void closeView() {
  25. }
  26. @Override
  27. public boolean isDefined() {
  28. return true;
  29. }
  30. @Override
  31. public void generateScript(ScriptWriter writer) {
  32. // Place script for closing gripper here
  33. writer.writeChildren();
  34. }
  35. private void createSubtree() {
  36. ProgramAPI programAPI = apiProvider.getProgramAPI();
  37. ProgramModel programModel = programAPI.getProgramModel();
  38. ProgramNodeFactory nf = programModel.getProgramNodeFactory();
  39. TreeNode root = programModel.getRootTreeNode(this);
  40. try {
  41. root.addChild(nf.createCommentNode().setComment("Add your nodes here"));
  42. root.addChild(nf.createSetNode());
  43. root.addChild(nf.createWaitNode());
  44. } catch (TreeStructureException e) {
  45. e.printStackTrace();
  46. // See e.getMessage() for explanation
  47. }
  48. }
  49. }