source: josm/trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/PresetLink.java@ 9665

Last change on this file since 9665 was 9665, checked in by stoecker, 8 years ago

fix eol-style issues and similar formating stuff, see #12410

File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.tagging.presets.items;
3
4import java.awt.event.MouseAdapter;
5import java.awt.event.MouseEvent;
6import java.util.Collection;
7import java.util.List;
8
9import javax.swing.JLabel;
10import javax.swing.JPanel;
11
12import org.openstreetmap.josm.data.osm.OsmPrimitive;
13import org.openstreetmap.josm.data.osm.Tag;
14import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
15import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
16import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetLabel;
17import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
18import org.openstreetmap.josm.tools.GBC;
19import org.openstreetmap.josm.tools.Predicate;
20import org.openstreetmap.josm.tools.Utils;
21
22/**
23 * Adds a link to an other preset.
24 * @since 8863
25 */
26public class PresetLink extends TaggingPresetItem {
27
28 /** The exact name of the preset to link to. Required. */
29 public String preset_name = ""; // NOSONAR
30
31 @Override
32 public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel, boolean presetInitiallyMatches) {
33 final String presetName = preset_name;
34 final TaggingPreset t = Utils.filter(TaggingPresets.getTaggingPresets(), new Predicate<TaggingPreset>() {
35 @Override
36 public boolean evaluate(TaggingPreset object) {
37 return presetName.equals(object.name);
38 }
39 }).iterator().next();
40 if (t == null)
41 return false;
42 JLabel lbl = new TaggingPresetLabel(t);
43 lbl.addMouseListener(new MouseAdapter() {
44 @Override
45 public void mouseClicked(MouseEvent arg0) {
46 t.actionPerformed(null);
47 }
48 });
49 p.add(lbl, GBC.eol().fill(GBC.HORIZONTAL));
50 return false;
51 }
52
53 @Override
54 public void addCommands(List<Tag> changedTags) {
55 // Do nothing
56 }
57}
Note: See TracBrowser for help on using the repository browser.