1 package org.xpilot.jxpmap;
2 
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 
6 import javax.swing.JMenuItem;
7 import javax.swing.JPopupMenu;
8 
9 public class MapObjectPopup extends JPopupMenu implements ActionListener {
10 
11 
12     protected MapCanvas canvas;
13     protected MapObject object;
14     private JMenuItem itemToFront;
15     private JMenuItem itemToBack;
16     private JMenuItem itemRemove;
17     private JMenuItem itemProperties;
18 
19 
MapObjectPopup(MapObject obj)20     public MapObjectPopup (MapObject obj) {
21         super();
22         object = obj;
23 
24         JMenuItem item;
25         item = new JMenuItem("Bring to front");
26         item.addActionListener(this);
27         add(item);
28         itemToFront = item;
29 
30         item = new JMenuItem("Send to back");
31         item.addActionListener(this);
32         add(item);
33         itemToBack = item;
34 
35         addSeparator();
36 
37         item = new JMenuItem("Remove");
38         item.addActionListener(this);
39         add(item);
40         itemRemove = item;
41 
42         addSeparator();
43 
44         item = new JMenuItem("Properties");
45         item.addActionListener(this);
46         add(item);
47         itemProperties = item;
48     }
49 
50 
show(MapCanvas canvas, int x, int y)51     public void show (MapCanvas canvas, int x, int y) {
52         this.canvas = canvas;
53         super.show(canvas, x, y);
54     }
55 
56 
actionPerformed(ActionEvent evt)57     public void actionPerformed (ActionEvent evt) {
58 
59         Object src = evt.getSource();
60         if (src == itemToFront) {
61             toFront();
62         } else if (src == itemToBack) {
63             toBack();
64         } else if (src == itemRemove) {
65             remove();
66         } else if (src == itemProperties) {
67             properties();
68         }
69     }
70 
71 
toFront()72     protected void toFront () {
73         canvas.bringMapObject(object, true);
74         canvas.repaint();
75     }
76 
77 
toBack()78     protected void toBack () {
79         canvas.bringMapObject(object, false);
80         canvas.repaint();
81     }
82 
83 
remove()84     protected void remove () {
85         canvas.removeMapObject(object);
86         canvas.repaint();
87     }
88 
89 
properties()90     protected void properties () {
91         EditorDialog.show(canvas, object);
92         canvas.repaint();
93     }
94 }
95