1 package fr.ifremer.tutti.ui.swing.content.protocol.zones.actions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.persistence.entities.protocol.Zone;
28 import fr.ifremer.tutti.persistence.entities.protocol.Zones;
29 import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIModel;
30 import fr.ifremer.tutti.ui.swing.content.protocol.zones.ZoneEditorUI;
31 import fr.ifremer.tutti.ui.swing.content.protocol.zones.tree.node.ZoneNode;
32 import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport;
33 import org.apache.commons.lang3.StringUtils;
34
35 import javax.swing.JOptionPane;
36 import javax.swing.JTree;
37 import javax.swing.tree.TreePath;
38
39 import java.util.UUID;
40
41 import static org.nuiton.i18n.I18n.t;
42
43
44
45
46
47 public class CreateZoneAction extends SimpleActionSupport<ZoneEditorUI> {
48
49 public CreateZoneAction(ZoneEditorUI zoneEditorUI) {
50 super(zoneEditorUI);
51 }
52
53 @Override
54 protected void onActionPerformed(ZoneEditorUI zoneEditorUI) {
55
56 String zoneLabel = JOptionPane.showInputDialog(zoneEditorUI,
57 t("tutti.zoneEditor.createZone.message"),
58 t("tutti.zoneEditor.createZone.title"),
59 JOptionPane.QUESTION_MESSAGE);
60
61 if (StringUtils.isNotEmpty(zoneLabel)) {
62
63 Zone zone = Zones.newZone();
64 zone.setId(UUID.randomUUID().toString());
65 zone.setLabel(zoneLabel);
66
67 EditProtocolUIModel model = zoneEditorUI.getModel();
68
69 ZoneNode zoneNode = model.getZonesTreeModel().addZone(zone);
70
71
72 JTree zonesTree = zoneEditorUI.getZonesTree();
73 TreePath path = new TreePath(zoneNode.getPath());
74 zonesTree.setSelectionPath(path);
75 }
76 }
77 }