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.ShowSearchResultsAction;
import org.codemap.resources.MapValues;
import org.codemap.search.SearchResultController;
public class SearchResultCommand extends CheckedCommand {
private static final String SEARCH_RESULTS_KEY = makeCommandId("search_results");
public SearchResultCommand(MapPerProject mapPerProject) {
super(mapPerProject);
}
@Override
protected void applyState() {
super.applyState();
if (isEnabled()) showSearchResults();
else hideSearchResults();
}
private void hideSearchResults() {
getSearchResultController().onLayerDeactivated();
}
private void showSearchResults() {
getSearchResultController().onLayerActivated();
}
protected SearchResultController getSearchResultController() {
return CodemapCore.getPlugin().getController().getSearchResultController();
}
@Override
protected String getKey() {
return SEARCH_RESULTS_KEY;
}
@Override
protected Class<? extends CommandAction> getActionID() {
return ShowSearchResultsAction.class;
}
@Override
public void configure(MapValues mapValues) {
applyState();
}
@Override
public void configure(MapView view) {
getSearchResultController().setCurrentCommand(this);
super.configure(view);
}
}