X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Factions%2FAddEquipmentAction2.java;fp=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Factions%2FAddEquipmentAction2.java;h=f232937fe7fc5df1d0d1edcdabbf79c4486a8d22;hb=df57dcb3ec91ed3393991d6f890776772d742128;hp=0000000000000000000000000000000000000000;hpb=8f71b333e7b1d116e55c2d39054aeb90dd93028d;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddEquipmentAction2.java b/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddEquipmentAction2.java new file mode 100644 index 00000000..f232937f --- /dev/null +++ b/org.simantics.plant3d/src/org/simantics/plant3d/actions/AddEquipmentAction2.java @@ -0,0 +1,45 @@ +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; + 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); + } + } +}