package org.codemap.commands; import org.codemap.CodemapCore; import org.codemap.MapPerProject; import org.codemap.mapview.action.CommandAction; import org.codemap.mapview.action.ShowYouAreHereAction; import org.codemap.resources.MapValues; public class YouAreHereCommand extends CheckedCommand { private static final String YOUR_ARE_HERE_KEY = makeCommandId("you_are_here"); public YouAreHereCommand(MapPerProject mapPerProject) { super(mapPerProject); } @Override protected void applyState() { super.applyState(); if (isEnabled()) showYouAreHere(); else hideYouAreHere(); } private void hideYouAreHere() { getMyMap().getYouAreHereOverlay().setEnabled(false); triggerChange(); } private void showYouAreHere() { getMyMap().getYouAreHereOverlay().setEnabled(true); triggerChange(); } private void triggerChange() { // FIXME, nononononoonono! CodemapCore.getPlugin().getOpenFilesSelection().triggerChange(); } @Override protected String getKey() { return YOUR_ARE_HERE_KEY; } @Override protected Class<? extends CommandAction> getActionID() { return ShowYouAreHereAction.class; } @Override public void configure(MapValues mapValues) { applyState(); } }