Only enable add action when in RapiDLayer and a Primitive is selected

Signed-off-by: Taylor Smock <smocktaylor@gmail.com>
pull/1/head
Taylor Smock 2019-09-21 17:44:02 -06:00
rodzic 455edddab8
commit a4c446d46a
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 9FDE4FFEF1C4CCB7
1 zmienionych plików z 25 dodań i 0 usunięć

Wyświetl plik

@ -11,6 +11,7 @@ import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.data.UndoRedoHandler;
import org.openstreetmap.josm.data.osm.OsmPrimitive;
import org.openstreetmap.josm.gui.MainApplication;
import org.openstreetmap.josm.gui.layer.Layer;
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.plugins.rapid.RapiDPlugin;
import org.openstreetmap.josm.tools.Shortcut;
@ -43,4 +44,28 @@ public class RapiDMoveAction extends JosmAction {
}
}
}
@Override
protected void updateEnabledState() {
setEnabled(checkIfActionEnabled());
}
@Override
protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
if (selection == null || selection.isEmpty()) {
setEnabled(false);
} else {
setEnabled(checkIfActionEnabled());
}
}
private boolean checkIfActionEnabled() {
Layer active = getLayerManager().getActiveLayer();
if (active instanceof RapiDLayer) {
RapiDLayer rapid = (RapiDLayer) active;
Collection<OsmPrimitive> selection = rapid.getDataSet().getAllSelected();
return (selection != null && !selection.isEmpty());
} else
return false;
}
}