/*
* $Id$
*
* Copyright (c) 2000-2006 by Brent Easton, Rodney Kinney
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License (LGPL) as published by the Free Software Foundation.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, copies are available
* at http://www.opensource.org.
*/
package VASSAL.build.module.map.boardPicker.board.mapgrid;
import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
import VASSAL.build.AbstractConfigurable;
import VASSAL.build.Buildable;
import VASSAL.build.module.documentation.HelpFile;
import VASSAL.build.module.map.boardPicker.board.ZonedGrid;
/**
*
* @author Brent Easton
* A Container class for Zone Highlighters.
*
*/
public class ZonedGridHighlighter extends AbstractConfigurable {
protected List<ZoneHighlight> highlightList;
protected String currentColorName;
protected Color currentColor ;
public ZonedGridHighlighter() {
highlightList = new ArrayList<ZoneHighlight>();
}
public void addHighlight(ZoneHighlight h) {
highlightList.add(h);
}
public void removeHighlight(ZoneHighlight h) {
highlightList.remove(h);
}
public ZoneHighlight getZoneHighlightByName(String highlightName) {
for (ZoneHighlight h : highlightList) {
if (h.getName().equals(highlightName)) {
return h;
}
}
return null;
}
public String getName() {
return name;
}
public String[] getAttributeNames() {
return new String[0];
}
public String[] getAttributeDescriptions() {
return new String[0];
}
public Class<?>[] getAttributeTypes() {
return new Class<?>[0];
}
public void addTo(Buildable b) {
((ZonedGrid) b).setZoneHighlighter(this);
}
public void removeFrom(Buildable b) {
((ZonedGrid) b).setZoneHighlighter(null);
}
public static String getConfigureTypeName() {
return "Zone Highlighters";
}
public VASSAL.build.module.documentation.HelpFile getHelpFile() {
return HelpFile.getReferenceManualPage("ZonedGrid.htm","ZoneHighlighter");
}
public String getAttributeValueString(String key) {
return null;
}
public void setAttribute(String key, Object val) {
}
public Class<?>[] getAllowableConfigureComponents() {
return new Class<?>[] {ZoneHighlight.class};
}
}