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.Item; import org.simantics.utils.ui.ExceptionUtils; public class AddEquipmentAction extends Action { P3DRootNode root; private Item item; public AddEquipmentAction(P3DRootNode root, Item item) { this.root = root; this.item = item; setText("Add " + item.getName()); } @Override public void run() { try { Equipment equipment = root.createEquipment(); equipment.setType(item.getUri()); String n = root.getUniqueName(item.getName()); equipment.setName(n); root.addChild(equipment); root.getNodeMap().commit("Add equipment " + n); } catch (Exception e) { ExceptionUtils.logAndShowError("Cannot create equipment",e); } } }