PickOrPlaceProgramNodeService.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.ur.urcap.examples.pickorplaceswing.pickorplace;
  2. import java.util.Locale;
  3. import com.ur.urcap.api.contribution.ViewAPIProvider;
  4. import com.ur.urcap.api.contribution.program.ContributionConfiguration;
  5. import com.ur.urcap.api.contribution.program.CreationContext;
  6. import com.ur.urcap.api.contribution.program.ProgramAPIProvider;
  7. import com.ur.urcap.api.contribution.program.swing.SwingProgramNodeService;
  8. import com.ur.urcap.api.domain.SystemAPI;
  9. import com.ur.urcap.api.domain.data.DataModel;
  10. public class PickOrPlaceProgramNodeService
  11. implements SwingProgramNodeService<PickOrPlaceProgramNodeContribution, PickOrPlaceProgramNodeView> {
  12. @Override
  13. public String getId() {
  14. return "PickOrPlaceProgramNode";
  15. }
  16. @Override
  17. public String getTitle(Locale locale) {
  18. return "Pick or Place Swing";
  19. }
  20. @Override
  21. public void configureContribution(ContributionConfiguration configuration) {
  22. configuration.setDeprecated(false);
  23. configuration.setChildrenAllowed(true);
  24. configuration.setUserInsertable(true);
  25. }
  26. @Override
  27. public PickOrPlaceProgramNodeView createView(ViewAPIProvider apiProvider) {
  28. SystemAPI systemAPI = apiProvider.getSystemAPI();
  29. Style style = systemAPI.getSoftwareVersion().getMajorVersion() >= 5 ? new V5Style() : new V3Style();
  30. return new PickOrPlaceProgramNodeView(style);
  31. }
  32. @Override
  33. public PickOrPlaceProgramNodeContribution createNode(ProgramAPIProvider apiProvider,
  34. PickOrPlaceProgramNodeView view, DataModel model, CreationContext context) {
  35. return new PickOrPlaceProgramNodeContribution(apiProvider, view, model, context);
  36. }
  37. }