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;
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);
}