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

Last change on this file since 30013 was 30013, checked in by malcolmh, 13 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 class Picture extends JPanel implements MapHelper {
22
23 public void drawPicture(OsmPrimitive osm, SeaMap map) {
24 long id;
25 Feature feature;
26
27 id = osm.getUniqueId();
28 feature = map.index.get(id);
29 showMap = new SeaMap();
30 showMap.nodes = map.nodes;
31 showMap.edges = map.edges;
32 showMap.areas = map.areas;
33 showMap.index = map.index;
34 if (feature != null) {
35 showMap.features.put(feature.type, new ArrayList<Feature>());
36 showMap.features.get(feature.type).add(feature);
37 }
38 repaint();
39 }
40
41 public void paintComponent(Graphics g) {
42 Graphics2D g2 = (Graphics2D)g;
43 g2.setBackground(new Color(0xb5d0d0));
44 g2.clearRect(0, 0, 300, 300);
45 Renderer.reRender(g2, 16, 32, showMap, this);
46 }
47
48 @Override
49 public Point2D getPoint(Snode coord) {
50 return new Point2D.Double(150, 150);
51 }
52 }
53
54 SeaMap showMap;
55 Picture picture;
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.