source: osm/applications/editors/josm/plugins/smed2/src/panels/ShowFrame.java@ 30014

Last change on this file since 30014 was 30014, checked in by malcolmh, 11 years ago

save

File size: 1.5 KB
Line 
1package panels;
2
3import java.awt.Color;
4import java.awt.Graphics;
5import java.awt.Graphics2D;
6import java.awt.geom.Point2D;
7import java.util.ArrayList;
8
9import javax.swing.JFrame;
10import javax.swing.JPanel;
11
12import org.openstreetmap.josm.data.osm.OsmPrimitive;
13
14import seamap.MapHelper;
15import seamap.Renderer;
16import seamap.SeaMap;
17import seamap.SeaMap.*;
18
19public class ShowFrame extends JFrame {
20
21 SeaMap showMap;
22 Picture picture;
23
24 class Picture extends JPanel implements MapHelper {
25
26 public void drawPicture(OsmPrimitive osm, SeaMap map) {
27 long id;
28 Feature feature;
29
30 id = osm.getUniqueId();
31 feature = map.index.get(id);
32 showMap = new SeaMap();
33 showMap.nodes = map.nodes;
34 showMap.edges = map.edges;
35 showMap.areas = map.areas;
36 showMap.index = map.index;
37 if (feature != null) {
38 showMap.features.put(feature.type, new ArrayList<Feature>());
39 showMap.features.get(feature.type).add(feature);
40 }
41 repaint();
42 }
43
44 public void paintComponent(Graphics g) {
45 Graphics2D g2 = (Graphics2D)g;
46 g2.setBackground(new Color(0xb5d0d0));
47 g2.clearRect(0, 0, 300, 300);
48 Renderer.reRender(g2, 16, 32, showMap, this);
49 }
50
51 @Override
52 public Point2D getPoint(Snode coord) {
53 return new Point2D.Double(150, 150);
54 }
55 }
56
57 public ShowFrame(String title) {
58 super(title);
59 picture = new Picture();
60 picture.setVisible(true);
61 add(picture);
62 pack();
63 }
64
65 public void showFeature(OsmPrimitive osm, SeaMap map) {
66 picture.drawPicture(osm, map);
67 }
68
69
70}
Note: See TracBrowser for help on using the repository browser.