]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d/src/org/simantics/plant3d/actions/AddEquipmentAction.java
Merge "Publish Plant3D feature"
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / actions / AddEquipmentAction.java
1 package org.simantics.plant3d.actions;
2
3 import org.eclipse.jface.action.Action;
4 import org.simantics.plant3d.scenegraph.Equipment;
5 import org.simantics.plant3d.scenegraph.P3DRootNode;
6 import org.simantics.plant3d.utils.Item;
7 import org.simantics.utils.ui.ExceptionUtils;
8
9 public class AddEquipmentAction extends Action {
10
11         P3DRootNode root;
12         private Item item;
13         
14         public AddEquipmentAction(P3DRootNode root, Item item) {
15                 this.root = root;
16                 this.item = item;
17                 setText("Add " + item.getName());
18         }
19         
20         @Override
21         public void run() {
22                 try {
23                         Equipment equipment = root.createEquipment();
24                         equipment.setType(item.getUri());
25                         String n = root.getUniqueName(item.getName());
26                         equipment.setName(n);
27                         root.addChild(equipment);
28                         root.getNodeMap().commit();
29                 } catch (Exception e) {
30                         ExceptionUtils.logAndShowError("Cannot create equipment",e);
31                 }
32         }
33 }