X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Factions%2FAddNozzleAction.java;h=c7cc4722ea4a94a68c8012326e6ebe81fba56ddf;hb=53d55c24c779745f188bdb18d32f71d20acb61b2;hp=e6b8ecd6b75ca420ad5ab9c9d7b2cc1e584ba2d0;hpb=22bb24d2a7e26c70b0dd4c57080f2c25ac3d40a8;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 index e6b8ecd6..c7cc4722 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddNozzleAction.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddNozzleAction.java @@ -5,7 +5,7 @@ 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.ComponentUtils; import org.simantics.plant3d.utils.Item; import org.simantics.utils.ui.ExceptionUtils; @@ -24,24 +24,20 @@ public class AddNozzleAction extends Action { public void setEquipment(Equipment equipment) { this.equipment = equipment; + int fixedNozzles = equipment.numberOfFixedNozzles(); + if (fixedNozzles > 0) { + int currentNozzles = equipment.getNodes().size(); + setEnabled(currentNozzles < fixedNozzles); + } else { + setEnabled(true); + } } @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(); + Nozzle nozzle = ComponentUtils.createNozzle(root, equipment, item); + root.getNodeMap().commit("Add nozzle " + nozzle.getName()); } catch (Exception e) { ExceptionUtils.logAndShowError("Cannot create equipment",e); }