01: package com.vividsolutions.jump.workbench.ui.plugin.test;
02:
03: import java.awt.Color;
04: import java.io.IOException;
05: import java.util.ArrayList;
06: import java.util.Arrays;
07: import java.util.Collections;
08: import java.util.HashMap;
09: import java.util.Iterator;
10: import java.util.List;
11: import java.util.Map;
12:
13: import com.vividsolutions.jts.io.ParseException;
14: import com.vividsolutions.jump.workbench.model.Layer;
15: import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
16: import com.vividsolutions.jump.workbench.plugin.PlugInContext;
17: import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle;
18: import com.vividsolutions.jump.workbench.ui.renderer.style.ColorScheme;
19: import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle;
20:
21: public class TestColorThemingPlugIn extends AbstractPlugIn {
22:
23: public void initialize(PlugInContext context) throws Exception {
24: context.getFeatureInstaller().addMainMenuItemWithJava14Fix(
25: this , new String[] { "Tools", "Test" }, getName(),
26: false, null, null);
27: randomTrianglesPlugIn.setCities(cities);
28: }
29:
30: private List cities = Arrays
31: .asList(new String[] { "Alabama", "Alaska", "Arizona",
32: "Arkansas", "California", "Colorado",
33: "Connecticut", "Delaware", "Florida", "Georgia",
34: "Hawaii" });
35:
36: private RandomTrianglesPlugIn randomTrianglesPlugIn = new RandomTrianglesPlugIn();
37:
38: public boolean execute(PlugInContext context) throws Exception {
39: ArrayList names = new ArrayList();
40: names.addAll(ColorScheme.discreteColorSchemeNames());
41: names.addAll(ColorScheme.rangeColorSchemeNames());
42: Collections.reverse(names);
43: for (Iterator i = names.iterator(); i.hasNext();) {
44: String colorScheme = (String) i.next();
45: execute(context, colorScheme);
46: }
47: return true;
48: }
49:
50: private void execute(PlugInContext context, String colorSchemeName)
51: throws ParseException, IOException {
52: randomTrianglesPlugIn.execute(context, 500);
53: Layer layer = context.getLayerManager().getLayer(
54: "Random Triangles");
55: ColorScheme colorScheme = ColorScheme.create(colorSchemeName);
56: layer.setName("(" + colorScheme.getColors().size() + ") "
57: + colorSchemeName);
58: Map attributeToStyleMap = new HashMap();
59: for (Iterator i = cities.iterator(); i.hasNext();) {
60: String city = (String) i.next();
61: attributeToStyleMap.put(city, new BasicStyle(colorScheme
62: .next()));
63: }
64:
65: layer.getBasicStyle().setEnabled(false);
66: ColorThemingStyle themeStyle = new ColorThemingStyle("City",
67: attributeToStyleMap, new BasicStyle(Color.gray));
68: themeStyle.setEnabled(true);
69: layer.addStyle(themeStyle);
70: layer.setVisible(false);
71: }
72:
73: }
|