Changeset 12778 in osm for applications/editors/josm/plugins/tagging-preset-tester
- Timestamp:
- 2009-01-01T18:28:53+01:00 (16 years ago)
- Location:
- applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTester.java
r10409 r12778 30 30 public class TaggingPresetTester extends JFrame { 31 31 32 33 34 35 32 private JComboBox taggingPresets; 33 private final String[] args; 34 private JPanel taggingPresetPanel = new JPanel(new BorderLayout()); 35 private JPanel panel = new JPanel(new BorderLayout()); 36 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 37 public void reload() { 38 Vector<TaggingPreset> allPresets = new Vector<TaggingPreset>(); 39 for (String source : args) { 40 InputStream in = null; 41 try { 42 if (source.startsWith("http") || source.startsWith("ftp") || source.startsWith("file")) 43 in = new URL(source).openStream(); 44 else 45 in = new FileInputStream(source); 46 allPresets.addAll(TaggingPreset.readAll(new BufferedReader(new InputStreamReader(in)))); 47 } catch (IOException e) { 48 e.printStackTrace(); 49 JOptionPane.showMessageDialog(null, "Could not read tagging preset source: "+source); 50 } catch (SAXException e) { 51 e.printStackTrace(); 52 JOptionPane.showMessageDialog(null, "Error parsing "+source+": "+e.getMessage()); 53 } 54 54 55 56 57 58 59 60 61 62 55 try { 56 if (in != null) 57 in.close(); 58 } catch (IOException e) { 59 } 60 } 61 taggingPresets.setModel(new DefaultComboBoxModel(allPresets)); 62 } 63 63 64 65 66 67 68 69 70 71 72 73 74 75 76 64 public void reselect() { 65 taggingPresetPanel.removeAll(); 66 TaggingPreset preset = (TaggingPreset)taggingPresets.getSelectedItem(); 67 if (preset == null) 68 return; 69 Collection<OsmPrimitive> x = Collections.emptySet(); 70 JPanel p = preset.createPanel(x); 71 p.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 72 if (p != null) 73 taggingPresetPanel.add(p, BorderLayout.NORTH); 74 panel.validate(); 75 panel.repaint(); 76 } 77 77 78 79 80 81 82 83 78 public TaggingPresetTester(String[] args) { 79 super("Tagging Preset Tester"); 80 this.args = args; 81 taggingPresets = new JComboBox(); 82 taggingPresets.setRenderer(new TaggingCellRenderer()); 83 reload(); 84 84 85 86 87 88 89 90 91 92 85 panel.add(taggingPresets, BorderLayout.NORTH); 86 panel.add(taggingPresetPanel, BorderLayout.CENTER); 87 taggingPresets.addActionListener(new ActionListener(){ 88 public void actionPerformed(ActionEvent e) { 89 reselect(); 90 } 91 }); 92 reselect(); 93 93 94 95 96 97 98 99 100 101 102 94 JButton b = new JButton("Reload"); 95 b.addActionListener(new ActionListener(){ 96 public void actionPerformed(ActionEvent e) { 97 int i = taggingPresets.getSelectedIndex(); 98 reload(); 99 taggingPresets.setSelectedIndex(i); 100 } 101 }); 102 panel.add(b, BorderLayout.SOUTH); 103 103 104 105 106 107 104 setContentPane(panel); 105 setSize(300,500); 106 setVisible(true); 107 } 108 108 109 110 111 112 113 114 115 116 117 118 109 public static void main(String[] args) { 110 if (args.length == 0) { 111 JFileChooser c = new JFileChooser(); 112 if (c.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) 113 return; 114 args = new String[]{c.getSelectedFile().getPath()}; 115 } 116 JFrame f = new TaggingPresetTester(args); 117 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 118 } 119 119 } -
applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTesterAction.java
r12588 r12778 19 19 public class TaggingPresetTesterAction extends JosmAction { 20 20 21 22 23 24 25 26 27 28 29 21 public TaggingPresetTesterAction() { 22 super(tr("Tagging Preset Tester"), "tagging-preset-tester", 23 tr("Open the tagging preset test tool for previewing tagging preset dialogs."), 24 Shortcut.registerShortcut("tools:taggingresettester", 25 tr("Tool: {0}", tr("Tagging Preset Tester")), 26 KeyEvent.VK_A, Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true); 27 Main.main.menu.helpMenu.addSeparator(); 28 MainMenu.add(Main.main.menu.helpMenu, this); 29 } 30 30 31 32 33 34 35 36 37 38 39 31 public void actionPerformed(ActionEvent e) { 32 String taggingPresetSources = Main.pref.get("taggingpreset.sources"); 33 if (taggingPresetSources.equals("")) { 34 JOptionPane.showMessageDialog(Main.parent, tr("You have to specify tagging preset sources in the preferences first.")); 35 return; 36 } 37 String[] args = taggingPresetSources.split(";"); 38 new TaggingPresetTester(args); 39 } 40 40 }
Note:
See TracChangeset
for help on using the changeset viewer.