| | 1191 | |
| | 1192 | |
| | 1193 | /** |
| | 1194 | * Sets the current selection to the members of selected relation |
| | 1195 | * |
| | 1196 | */ |
| | 1197 | class SelectRelationMembersAction extends AbstractAction { |
| | 1198 | Relation relation; |
| | 1199 | public SelectRelationMembersAction(Relation r) { |
| | 1200 | relation = r; |
| | 1201 | putValue(SHORT_DESCRIPTION,tr("Select the members of selected relation")); |
| | 1202 | putValue(SMALL_ICON, ImageProvider.get("selectall")); |
| | 1203 | putValue(NAME, tr("Select members")); |
| | 1204 | } |
| | 1205 | |
| | 1206 | public void actionPerformed(ActionEvent e) { |
| | 1207 | HashSet<OsmPrimitive> members = new HashSet<OsmPrimitive>(); |
| | 1208 | members.addAll(relation.getMemberPrimitives()); |
| | 1209 | Main.map.mapView.getEditLayer().data.setSelected(members); |
| | 1210 | } |
| | 1211 | |
| | 1212 | } |
| | 1213 | |
| | 1214 | /** |
| | 1215 | * Action for downloading incomplete members of selected relation |
| | 1216 | * |
| | 1217 | */ |
| | 1218 | class DownloadIncompleteMembersAction extends AbstractAction { |
| | 1219 | Relation relation; |
| | 1220 | public DownloadIncompleteMembersAction(Relation r) { |
| | 1221 | relation = r; |
| | 1222 | putValue(SHORT_DESCRIPTION, tr("Download incomplete members of selected relations")); |
| | 1223 | putValue(SMALL_ICON, ImageProvider.get("dialogs/relation", "downloadincompleteselected")); |
| | 1224 | putValue(NAME, tr("Download incomplete members")); |
| | 1225 | } |
| | 1226 | |
| | 1227 | public Set<OsmPrimitive> buildSetOfIncompleteMembers(Relation r) { |
| | 1228 | Set<OsmPrimitive> ret = new HashSet<OsmPrimitive>(); |
| | 1229 | ret.addAll(r.getIncompleteMembers()); |
| | 1230 | return ret; |
| | 1231 | } |
| | 1232 | |
| | 1233 | public void actionPerformed(ActionEvent e) { |
| | 1234 | if (!relation.hasIncompleteMembers()) return; |
| | 1235 | ArrayList<Relation> rels = new ArrayList<Relation>(); |
| | 1236 | rels.add(relation); |
| | 1237 | Main.worker.submit(new DownloadRelationMemberTask( |
| | 1238 | rels, |
| | 1239 | buildSetOfIncompleteMembers(relation), |
| | 1240 | Main.map.mapView.getEditLayer() |
| | 1241 | )); |
| | 1242 | } |
| | 1243 | } |
| | 1244 | |
| | 1245 | |