package org.codemap.commands;
import org.codemap.CodemapCore;
import org.codemap.MapPerProject;
import org.codemap.mapview.action.CommandAction;
import org.codemap.mapview.action.ShowOpenFilesAction;
import org.codemap.resources.MapValues;
public class OpenFilesCommand extends CheckedCommand {
private static final String OPEN_FILES_KEY = makeCommandId("open_files");
public OpenFilesCommand(MapPerProject mapPerProject) {
super(mapPerProject);
}
@Override
protected void applyState() {
super.applyState();
if (isEnabled()) showOpenFiles();
else hideOpenFiles();
}
private void hideOpenFiles() {
getMyMap().getOpenFilesOverlay().setEnabled(false);
triggerChange();
}
private void showOpenFiles() {
getMyMap().getOpenFilesOverlay().setEnabled(true);
triggerChange();
}
private void triggerChange() {
// FIXME, nononononoonono!
// (and even worse, this is a copy-paste from YouAreHereCommand)
CodemapCore.getPlugin().getOpenFilesSelection().triggerChange();
}
@Override
protected String getKey() {
return OPEN_FILES_KEY;
}
@Override
protected Class<? extends CommandAction> getActionID() {
return ShowOpenFilesAction.class;
}
@Override
public void configure(MapValues mapValues) {
applyState();
}
}