Changeset 13434 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
- Timestamp:
- 2018-02-18T05:02:23+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
r13130 r13434 64 64 import org.openstreetmap.josm.command.Command; 65 65 import org.openstreetmap.josm.data.SelectionChangedListener; 66 import org.openstreetmap.josm.data.osm.DataSet; 66 67 import org.openstreetmap.josm.data.osm.DefaultNameFormatter; 67 68 import org.openstreetmap.josm.data.osm.IRelation; … … 91 92 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent; 92 93 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener; 94 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 93 95 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset; 94 96 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler; … … 231 233 232 234 private final PreferenceChangedListener preferenceListener = e -> { 233 if (MainApplication.getLayerManager().get EditDataSet() != null) {235 if (MainApplication.getLayerManager().getActiveDataSet() != null) { 234 236 // Re-load data when display preference change 235 237 updateSelection(); … … 487 489 Relation relation = (Relation) membershipData.getValueAt(row, 0); 488 490 MainApplication.getMap().relationListDialog.selectRelation(relation); 489 RelationEditor.getEditor(490 MainApplication.getLayerManager().getEditLayer(),491 relation,492 ((MemberInfo) membershipData.getValueAt(row, 1)).role493 ).setVisible(true);491 OsmDataLayer layer = MainApplication.getLayerManager().getActiveDataLayer(); 492 if (!layer.isReadOnly()) { 493 RelationEditor.getEditor( 494 layer, relation, ((MemberInfo) membershipData.getValueAt(row, 1)).role).setVisible(true); 495 } 494 496 } 495 497 … … 534 536 public void setVisible(boolean b) { 535 537 super.setVisible(b); 536 if (b && MainApplication.getLayerManager().get EditDataSet() != null) {538 if (b && MainApplication.getLayerManager().getActiveDataSet() != null) { 537 539 updateSelection(); 538 540 } … … 644 646 membershipTable.setVisible(membershipData.getRowCount() > 0); 645 647 648 DataSet ds = Main.main.getActiveDataSet(); 649 boolean isReadOnly = ds != null && ds.isReadOnly(); 646 650 boolean hasSelection = !newSel.isEmpty(); 647 651 boolean hasTags = hasSelection && tagData.getRowCount() > 0; 648 652 boolean hasMemberships = hasSelection && membershipData.getRowCount() > 0; 649 addAction.setEnabled( hasSelection);650 editAction.setEnabled( hasTags || hasMemberships);651 deleteAction.setEnabled( hasTags || hasMemberships);653 addAction.setEnabled(!isReadOnly && hasSelection); 654 editAction.setEnabled(!isReadOnly && (hasTags || hasMemberships)); 655 deleteAction.setEnabled(!isReadOnly && (hasTags || hasMemberships)); 652 656 tagTable.setVisible(hasTags); 653 657 tagTable.getTableHeader().setVisible(hasTags); … … 1055 1059 @Override 1056 1060 protected final void updateEnabledState() { 1057 setEnabled( 1058 (tagTable != null && tagTable.getSelectedRowCount() >= 1) 1061 DataSet ds = Main.main.getActiveDataSet(); 1062 setEnabled(ds != null && !ds.isReadOnly() && 1063 ((tagTable != null && tagTable.getSelectedRowCount() >= 1) 1059 1064 || (membershipTable != null && membershipTable.getSelectedRowCount() > 0) 1060 ) ;1065 )); 1061 1066 } 1062 1067 … … 1110 1115 @Override 1111 1116 protected void updateEnabledState() { 1112 setEnabled( 1113 (tagTable != null && tagTable.getSelectedRowCount() == 1) 1117 DataSet ds = Main.main.getActiveDataSet(); 1118 setEnabled(ds != null && !ds.isReadOnly() && 1119 ((tagTable != null && tagTable.getSelectedRowCount() == 1) 1114 1120 ^ (membershipTable != null && membershipTable.getSelectedRowCount() == 1) 1115 ) ;1121 )); 1116 1122 } 1117 1123
Note:
See TracChangeset
for help on using the changeset viewer.