// This file is part of AceWiki.
// Copyright 2008-2013, AceWiki developers.
//
// AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU
// Lesser General Public License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
// even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License along with AceWiki. If
// not, see http://www.gnu.org/licenses/.
package ch.uzh.ifi.attempto.preditor;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import ch.uzh.ifi.attempto.base.ConcreteOption;
import ch.uzh.ifi.attempto.base.NextTokenOptions;
/**
* This class is the default implementation of a menu creator.
*
* @author Tobias Kuhn
*/
public class DefaultMenuCreator implements MenuCreator {
private DefaultMenuItemComparator comparator = new DefaultMenuItemComparator();
private Map<String, Integer> colors = new HashMap<String, Integer>();
public MenuEntry createMenuEntry(ConcreteOption option) {
return new MenuEntry(option, "");
}
public List<SpecialMenuItem> createSpecialMenuItems(NextTokenOptions options) {
return Collections.emptyList();
}
public List<String> getMenuGroupOrdering() {
return Collections.emptyList();
}
public int getColorShift(String menuBlockName) {
if (colors.containsKey(menuBlockName)) {
return colors.get(menuBlockName);
} else {
return 0;
}
}
/**
* This methods sets the color shift for the given menu block. It defines the color in which
* the menu block is to be displayed.
*
* @see MenuCreator#getColorShift
* @param menuBlockName The name of the menu block for which the color shift should be set.
* @param colorShift The color shift value.
*/
public void setColorShift(String menuBlockName, int colorShift) {
colors.put(menuBlockName, colorShift);
}
public Comparator<MenuItem> getMenuItemComparator() {
return comparator;
}
}