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