1 package org.simantics.plant3d.actions;
3 import org.eclipse.jface.action.Action;
4 import org.simantics.plant3d.Activator;
5 import org.simantics.plant3d.scenegraph.Equipment;
6 import org.simantics.plant3d.scenegraph.Nozzle;
7 import org.simantics.plant3d.scenegraph.P3DRootNode;
8 import org.simantics.plant3d.utils.ComponentUtils;
9 import org.simantics.plant3d.utils.Item;
10 import org.simantics.utils.ui.ExceptionUtils;
12 public class AddNozzleAction extends Action {
16 private Equipment equipment;
18 public AddNozzleAction(P3DRootNode root, Item item) {
21 setText("Add " + item.getName());
22 setImageDescriptor(Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/Nozzle.png"));
25 public void setEquipment(Equipment equipment) {
26 this.equipment = equipment;
27 int fixedNozzles = equipment.numberOfFixedNozzles();
28 if (fixedNozzles > 0) {
29 int currentNozzles = equipment.getNodes().size();
30 setEnabled(currentNozzles < fixedNozzles);
39 Nozzle nozzle = ComponentUtils.createNozzle(root, equipment, item);
40 root.getNodeMap().commit("Add nozzle " + nozzle.getName());
41 } catch (Exception e) {
42 ExceptionUtils.logAndShowError("Cannot create equipment",e);