X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Factions%2FAddNozzleAction.java;fp=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Factions%2FAddNozzleAction.java;h=e6b8ecd6b75ca420ad5ab9c9d7b2cc1e584ba2d0;hb=a460e609147d064dd3da464bcf1626845e0f93b4;hp=0000000000000000000000000000000000000000;hpb=3e2205a22ddee674f7936da114f5d520bd83e0ff;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddNozzleAction.java b/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddNozzleAction.java new file mode 100644 index 00000000..e6b8ecd6 --- /dev/null +++ b/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddNozzleAction.java @@ -0,0 +1,49 @@ +package org.simantics.plant3d.actions; + +import org.eclipse.jface.action.Action; +import org.simantics.plant3d.Activator; +import org.simantics.plant3d.scenegraph.Equipment; +import org.simantics.plant3d.scenegraph.Nozzle; +import org.simantics.plant3d.scenegraph.P3DRootNode; +import org.simantics.plant3d.scenegraph.PipeRun; +import org.simantics.plant3d.utils.Item; +import org.simantics.utils.ui.ExceptionUtils; + +public class AddNozzleAction extends Action { + + P3DRootNode root; + private Item item; + private Equipment equipment; + + public AddNozzleAction(P3DRootNode root, Item item) { + this.root = root; + this.item = item; + setText("Add " + item.getName()); + setImageDescriptor(Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/Nozzle.png")); + } + + public void setEquipment(Equipment equipment) { + this.equipment = equipment; + } + + @Override + public void run() { + try { + Nozzle nozzle = root.createNozzle(); + nozzle.setType(item.getUri()); + String n = root.getUniqueName(item.getName()); + nozzle.setName(n); + PipeRun pipeRun = new PipeRun(); + n = root.getUniqueName("PipeRun"); + pipeRun.setName(n); + nozzle.setPipeRun(pipeRun); + + equipment.addChild(nozzle); + //root.addChild(nozzle); + root.addChild(pipeRun); + root.getNodeMap().commit(); + } catch (Exception e) { + ExceptionUtils.logAndShowError("Cannot create equipment",e); + } + } +}