1 package org.opentrafficsim.editor.extensions;
2
3 import javax.swing.Icon;
4 import javax.swing.JComponent;
5 import javax.swing.JLabel;
6
7 import org.djutils.event.Event;
8 import org.djutils.event.EventListener;
9 import org.opentrafficsim.animation.data.util.IconUtil;
10 import org.opentrafficsim.editor.OtsEditor;
11 import org.opentrafficsim.editor.XsdTreeNode;
12
13
14
15
16
17
18
19
20
21 public class OdEditor implements EventListener
22 {
23
24
25 private final OtsEditor editor;
26
27
28
29
30
31 public OdEditor(final OtsEditor editor)
32 {
33 Icon odIcon = IconUtil.of("Table24.png").imageSize(18, 18).get();
34 editor.addTab("OD", odIcon, buildOdPane(), null);
35 editor.addListener(this, OtsEditor.SELECTION_CHANGED);
36 this.editor = editor;
37 }
38
39
40
41
42
43 private static JComponent buildOdPane()
44 {
45 JLabel od = new JLabel("od");
46 od.setOpaque(true);
47 od.setHorizontalAlignment(JLabel.CENTER);
48 return od;
49 }
50
51 @Override
52 public void notify(final Event event)
53 {
54
55 if (event.getType().equals(OtsEditor.SELECTION_CHANGED))
56 {
57 JLabel label = ((JLabel) this.editor.getTab("OD").get());
58 XsdTreeNode node = (XsdTreeNode) event.getContent();
59 if (node.getPathString().startsWith("Ots.Demand.Od"))
60 {
61 label.setText(node.getPathString());
62 }
63 else
64 {
65 label.setText("od");
66 }
67 }
68 }
69
70 }