source: josm/trunk/src/org/openstreetmap/josm/actions/relation/DownloadMembersAction.java@ 7937

Last change on this file since 7937 was 7937, checked in by bastiK, 9 years ago

add subversion property svn:eol=native

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions.relation;
3
4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
5import static org.openstreetmap.josm.tools.I18n.tr;
6
7import java.awt.event.ActionEvent;
8import java.util.Collection;
9
10import org.openstreetmap.josm.Main;
11import org.openstreetmap.josm.data.osm.OsmPrimitive;
12import org.openstreetmap.josm.data.osm.Relation;
13import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationTask;
14import org.openstreetmap.josm.io.OnlineResource;
15import org.openstreetmap.josm.tools.ImageProvider;
16import org.openstreetmap.josm.tools.Predicate;
17import org.openstreetmap.josm.tools.Utils;
18
19/**
20 * The action for downloading members of relations
21 * @since 5793
22 */
23public class DownloadMembersAction extends AbstractRelationAction {
24
25 /**
26 * Constructs a new <code>DownloadMembersAction</code>.
27 */
28 public DownloadMembersAction() {
29 putValue(SHORT_DESCRIPTION, tr("Download all members of the selected relations"));
30 putValue(NAME, tr("Download members"));
31 putValue(SMALL_ICON, ImageProvider.get("dialogs", "downloadincomplete"));
32 putValue("help", ht("/Dialog/RelationList#DownloadMembers"));
33 }
34
35 @Override
36 public void actionPerformed(ActionEvent e) {
37 if (!isEnabled() || relations.isEmpty() || !Main.isDisplayingMapView()) return;
38 Main.worker.submit(new DownloadRelationTask(relations, Main.main.getEditLayer()));
39 }
40
41 @Override
42 public void setPrimitives(Collection<? extends OsmPrimitive> primitives) {
43 // selected non-new relations
44 this.relations = Utils.filter(getRelations(primitives), new Predicate<Relation>(){
45 @Override public boolean evaluate(Relation r) {
46 return !r.isNew();
47 }});
48 updateEnabledState();
49 }
50
51 @Override
52 protected void updateEnabledState() {
53 setEnabled(!relations.isEmpty() && !Main.isOffline(OnlineResource.OSM_API));
54 }
55}
Note: See TracBrowser for help on using the repository browser.