source: josm/src/org/openstreetmap/josm/gui/dialogs/LayerListPopup.java@ 79

Last change on this file since 79 was 79, checked in by imi, 18 years ago
  • fixed bug in osm import (now reject id=0)
  • added WMS server layer (not finished)
  • added save state for dialogs
File size: 2.5 KB
Line 
1package org.openstreetmap.josm.gui.dialogs;
2
3import java.awt.Color;
4import java.awt.event.ActionEvent;
5import java.awt.event.ActionListener;
6
7import javax.swing.JColorChooser;
8import javax.swing.JList;
9import javax.swing.JMenuItem;
10import javax.swing.JOptionPane;
11import javax.swing.JPopupMenu;
12
13import org.openstreetmap.josm.Main;
14import org.openstreetmap.josm.actions.GpxExportAction;
15import org.openstreetmap.josm.actions.SaveAction;
16import org.openstreetmap.josm.gui.layer.Layer;
17import org.openstreetmap.josm.gui.layer.OsmDataLayer;
18import org.openstreetmap.josm.gui.layer.RawGpsDataLayer;
19import org.openstreetmap.josm.gui.layer.WmsServerLayer;
20import org.openstreetmap.josm.tools.ColorHelper;
21import org.openstreetmap.josm.tools.ImageProvider;
22
23/**
24 * Popup menu handler for the layer list.
25 */
26public class LayerListPopup extends JPopupMenu {
27
28 public LayerListPopup(final JList layers, final Layer layer) {
29 add(new LayerList.ShowHideLayerAction(layers, layer));
30 add(new LayerList.DeleteLayerAction(layers, layer));
31 addSeparator();
32
33 if (layer instanceof OsmDataLayer)
34 add(new JMenuItem(new SaveAction()));
35
36 if (!(layer instanceof WmsServerLayer))
37 add(new JMenuItem(new GpxExportAction(layer)));
38
39 if (layer instanceof RawGpsDataLayer) {
40 JMenuItem color = new JMenuItem("Customize Color", ImageProvider.get("colorchooser"));
41 color.addActionListener(new ActionListener(){
42 public void actionPerformed(ActionEvent e) {
43 String col = Main.pref.get("color.layer "+layer.name, Main.pref.get("color.gps point", ColorHelper.color2html(Color.gray)));
44 JColorChooser c = new JColorChooser(ColorHelper.html2color(col));
45 Object[] options = new Object[]{"OK", "Cancel", "Default"};
46 int answer = JOptionPane.showOptionDialog(Main.main, c, "Choose a color", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
47 switch (answer) {
48 case 0:
49 Main.pref.put("color.layer "+layer.name, ColorHelper.color2html(c.getColor()));
50 break;
51 case 1:
52 return;
53 case 2:
54 Main.pref.put("color.layer "+layer.name, null);
55 break;
56 }
57 Main.main.repaint();
58 }
59 });
60 add(color);
61 }
62
63 if (!(layer instanceof WmsServerLayer))
64 addSeparator();
65
66 JMenuItem info = new JMenuItem("Info", ImageProvider.get("info"));
67 info.addActionListener(new ActionListener(){
68 public void actionPerformed(ActionEvent e) {
69 JOptionPane.showMessageDialog(Main.main, layer.getInfoComponent());
70 }
71 });
72 add(info);
73 }
74}
Note: See TracBrowser for help on using the repository browser.