Changeset 13434 in josm for trunk/src/org/openstreetmap/josm/actions/relation
- Timestamp:
- 2018-02-18T05:02:23+01:00 (6 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/actions/relation
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/relation/AddSelectionToRelations.java
r13130 r13434 14 14 import org.openstreetmap.josm.command.SequenceCommand; 15 15 import org.openstreetmap.josm.data.SelectionChangedListener; 16 import org.openstreetmap.josm.data.osm.DataSet; 16 17 import org.openstreetmap.josm.data.osm.OsmPrimitive; 17 18 import org.openstreetmap.josm.data.osm.Relation; … … 39 40 Collection<Command> cmds = new LinkedList<>(); 40 41 for (Relation orig : relations) { 41 Command c = GenericRelationEditor.addPrimitivesToRelation(orig, MainApplication.getLayerManager().get EditDataSet().getSelected());42 Command c = GenericRelationEditor.addPrimitivesToRelation(orig, MainApplication.getLayerManager().getActiveDataSet().getSelected()); 42 43 if (c != null) { 43 44 cmds.add(c); … … 57 58 @Override 58 59 public void updateEnabledState() { 59 putValue(NAME, trn("Add selection to {0} relation", "Add selection to {0} relations", 60 relations.size(), relations.size())); 60 int size = relations.size(); 61 putValue(NAME, trn("Add selection to {0} relation", "Add selection to {0} relations", size, size)); 62 DataSet ds = MainApplication.getLayerManager().getActiveDataSet(); 63 if (ds != null) { 64 selectionChanged(ds.getSelected()); 65 } else { 66 setEnabled(false); 67 } 61 68 } 62 69 63 70 @Override 64 71 public void selectionChanged(final Collection<? extends OsmPrimitive> newSelection) { 65 GuiHelper.runInEDT(() -> setEnabled(newSelection != null && !newSelection.isEmpty())); 72 GuiHelper.runInEDT(() -> setEnabled(newSelection != null && !newSelection.isEmpty() && !relations.isEmpty() 73 && relations.stream().map(Relation::getDataSet).noneMatch(DataSet::isReadOnly))); 66 74 } 67 75 } -
trunk/src/org/openstreetmap/josm/actions/relation/DeleteRelationsAction.java
r12636 r13434 8 8 9 9 import org.openstreetmap.josm.actions.mapmode.DeleteAction; 10 import org.openstreetmap.josm.data.osm.DataSet; 10 11 import org.openstreetmap.josm.data.osm.Relation; 11 12 import org.openstreetmap.josm.gui.MainApplication; … … 47 48 deleteRelation(relations); 48 49 } 50 51 @Override 52 protected void updateEnabledState() { 53 setEnabled(!relations.isEmpty() && relations.stream().map(Relation::getDataSet).noneMatch(DataSet::isReadOnly)); 54 } 49 55 } -
trunk/src/org/openstreetmap/josm/actions/relation/DuplicateRelationAction.java
r12636 r13434 52 52 protected void updateEnabledState() { 53 53 // only one selected relation can be edited 54 setEnabled(relations.size() == 1 );54 setEnabled(relations.size() == 1 && !relations.iterator().next().getDataSet().isReadOnly()); 55 55 } 56 56 } -
trunk/src/org/openstreetmap/josm/actions/relation/EditRelationAction.java
r12846 r13434 13 13 14 14 import org.openstreetmap.josm.Main; 15 import org.openstreetmap.josm.data.osm.DataSet; 15 16 import org.openstreetmap.josm.data.osm.OsmPrimitive; 16 17 import org.openstreetmap.josm.data.osm.Relation; … … 88 89 protected void updateEnabledState() { 89 90 boolean enabled = false; 90 for (Relation r : relations) { 91 if (!r.isDeleted()) { 92 enabled = true; 93 break; 91 if (relations.stream().map(r -> r.getDataSet()).noneMatch(DataSet::isReadOnly)) { 92 for (Relation r : relations) { 93 if (!r.isDeleted()) { 94 enabled = true; 95 break; 96 } 94 97 } 95 98 } -
trunk/src/org/openstreetmap/josm/actions/relation/SelectMembersAction.java
r13130 r13434 43 43 } 44 44 if (add) { 45 MainApplication.getLayerManager().get EditLayer().data.addSelected(members);45 MainApplication.getLayerManager().getActiveDataSet().addSelected(members); 46 46 } else { 47 MainApplication.getLayerManager().get EditLayer().data.setSelected(members);47 MainApplication.getLayerManager().getActiveDataSet().setSelected(members); 48 48 } 49 49 } -
trunk/src/org/openstreetmap/josm/actions/relation/SelectRelationAction.java
r12636 r13434 6 6 import java.awt.event.ActionEvent; 7 7 8 import org.openstreetmap.josm.data.osm.DataSet; 8 9 import org.openstreetmap.josm.gui.MainApplication; 9 import org.openstreetmap.josm.gui.layer.OsmDataLayer;10 10 import org.openstreetmap.josm.tools.ImageProvider; 11 11 … … 34 34 public void actionPerformed(ActionEvent e) { 35 35 if (!isEnabled() || relations.isEmpty()) return; 36 OsmDataLayer editLayer = MainApplication.getLayerManager().getEditLayer();37 if ( editLayer == null || editLayer.data== null) return;36 DataSet ds = MainApplication.getLayerManager().getActiveDataSet(); 37 if (ds == null) return; 38 38 if (add) { 39 editLayer.data.addSelected(relations);39 ds.addSelected(relations); 40 40 } else { 41 editLayer.data.setSelected(relations);41 ds.setSelected(relations); 42 42 } 43 43 }
Note:
See TracChangeset
for help on using the changeset viewer.