package org.simantics.plant3d.actions; import org.eclipse.jface.action.Action; import org.simantics.plant3d.scenegraph.Equipment; import org.simantics.plant3d.scenegraph.P3DRootNode; import org.simantics.plant3d.utils.ComponentUtils; import org.simantics.plant3d.utils.Item; import org.simantics.utils.ui.ExceptionUtils; /** * Action that creates given Equipment. * * @author luukkainen * */ public class AddEquipmentAction2 extends Action { P3DRootNode root; private Item item; private Item nozzleItem; public AddEquipmentAction2(P3DRootNode root, Item item) { this(root, item, null); } public AddEquipmentAction2(P3DRootNode root, Item item, Item nozzleItem) { this.root = root; this.item = item; this.nozzleItem = nozzleItem; setText("Add " + item.getName()); } @Override public void run() { try { Equipment equipment = null; if (nozzleItem == null) equipment = ComponentUtils.createEquipment(root, item); else equipment = ComponentUtils.createEquipmentWithNozzles(root, item, nozzleItem); root.getNodeMap().commit("Add equipment " + equipment.getName()); } catch (Exception e) { ExceptionUtils.logAndShowError("Cannot create equipment",e); } } }