/*******************************************************************************
 * Copyright (c) 2016 Diamond Light Source Ltd.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *******************************************************************************/
package org.eclipse.dawnsci.plotting.api.histogram;

/**
 * Enum used to list all colormaps categories
 */
public enum HistoCategory {
		ALL("All", "List of all colormaps"),
		SEQUENTIAL1 ("Sequential 1", "Approximately monochromatic colormaps varying smoothly between two color tones---usually from low saturation (e.g. white) to high saturation (e.g. a bright blue)"), 
		SEQUENTIAL2 ("Sequential 2", "Approximately monochromatic colormaps varying smoothly between two-three color tones"), 
		UNIFORM ("Uniform", "Perceptually Uniform sequential colormaps"),
		MISCELLANEOUS ("Miscellaneous", "Colormaps that don't fit into other categories"),
		DIVERGENT ("Divergent", "Colour maps with median value (usually light in color) and which vary smoothly to two different color tones at high and low values"), 
		QUALITATIVE ("Qualitative", "Colormaps which vary rapidly in color; useful for choosing a set of discrete colors");

		private final String name;
		private final String description;

		private HistoCategory(String name, String description) {
			this.name = name;
			this.description = description;
		}

		public static String[] names() {
			HistoCategory[] states = values();
			String[] names = new String[states.length];
			for (int i = 0; i < states.length; i++) {
				names[i] = states[i].name();
			}
			return names;
		}

		public static HistoCategory getCategory(String category) {
			HistoCategory[] states = values();
			for (int i = 0; i < states.length; i++) {
				if (states[i].name().equals(category))
					return states[i];
			}
			return null;
		}

		public String getName() {
			return name;
		}

		public String getDescription() {
			return description;
		}
	}
@@ -652,16 +652,81 @@
 ential 1
+ (approximately monochromatic with variation between two colours)
 %22, %22Appr
@@ -915,16 +915,56 @@
 ential 2
+ (variation between two or more colours)
 %22, %22Appr
@@ -1071,13 +1071,11 @@
 form
-%22, %22P
+ (p
 erce
@@ -1082,17 +1082,17 @@
 ptually 
-U
+u
 niform s
@@ -1104,102 +1104,53 @@
 tial
- colormaps%22),%0A%09%09MISCELLANEOUS (%22Miscellaneous%22, %22Colormaps that don't fit into other categorie
+)%22, %22Perceptually Uniform sequential colormap
 s%22),
@@ -1173,16 +1173,36 @@
 ivergent
+ (with median value)
 %22, %22Colo
@@ -1359,16 +1359,45 @@
 litative
+ (rapid variation in colours)
 %22, %22Colo
@@ -1477,16 +1477,101 @@
 colors%22)
+,%0A%09%09MISCELLANEOUS (%22Miscellaneous%22, %22Colormaps that don't fit into other categories%22)
 ;%0A%0A%09%09pri
@@ -1937,25 +1937,28 @@
 = states%5Bi%5D.
-n
+getN
 ame();%0A%09%09%09%7D%0A
@@ -2141,17 +2141,20 @@
 ates%5Bi%5D.
-n
+getN
 ame().eq

Modify histogram category enum