/* * GroupMode.java * * Created on July 31, 2007, 8:32 PM */ package editor.mapmode; import editor.MapPanel; import java.awt.Color; import java.awt.Graphics2D; import java.util.ArrayList; import java.util.List; /** * * @author Michael Myers * @since 0.5pre3 */ public class GroupMode extends ProvincePaintingMode { protected List<Integer> provIds; protected Color foundColor = Color.GREEN; protected Color notFoundColor = new Color(100, 100, 100); // darker than GRAY, lighter than DARK_GRAY /** * Creates a new instance of GroupMode */ public GroupMode(List<String> provIds) { super(); this.provIds = makeIntList(provIds); } public GroupMode(MapPanel panel, List<String> provIds) { super(panel); this.provIds = makeIntList(provIds); } protected void paintProvince(final Graphics2D g, int provId) { if (provIds.contains(provId)) { mapPanel.paintProvince(g, provId, foundColor); } else { mapPanel.paintProvince(g, provId, notFoundColor); } } protected void paintSeaZone(final Graphics2D g, int id) { if (provIds.contains(id)) { mapPanel.paintProvince(g, id, foundColor); } } private List<Integer> makeIntList(List<String> provIds) { final List<Integer> ret = new ArrayList<Integer>(provIds.size()); for (String id : provIds) { ret.add(Integer.parseInt(id)); } return ret; } }