package org.codemap.commands; import org.codemap.CodemapCore; import org.codemap.MapPerProject; import org.codemap.mapview.MapView; import org.codemap.mapview.action.CommandAction; import org.codemap.mapview.action.ShowMarkersAction; import org.codemap.marker.MarkerController; import org.codemap.resources.MapValues; public class MarkerCommand extends CheckedCommand { private static final String MARKER_KEY = makeCommandId("marker"); public MarkerCommand(MapPerProject mapPerProject) { super(mapPerProject); } @Override protected void applyState() { if (isEnabled()) showMarkers(); else hideMarkers(); super.applyState(); } private void showMarkers() { getMarkerController().onLayerActivated(); } private void hideMarkers() { getMarkerController().onLayerDeactivated(); } protected MarkerController getMarkerController() { return CodemapCore.getPlugin().getController().getMarkerController(); } @Override protected String getKey() { return MARKER_KEY; } @Override protected Class<? extends CommandAction> getActionID() { return ShowMarkersAction.class; } @Override public void configure(MapValues mapValues) { applyState(); } @Override public void configure(MapView view) { getMarkerController().setCurrentCommand(this); super.configure(view); } }