Commit ab7d9815 authored by Nico Mack's avatar Nico Mack
Browse files

Added method to lookup value range by colour

parent 46b30876
...@@ -18,6 +18,7 @@ import lu.list.itis.dkd.tui.bootstrapping.BootstrappingUtils; ...@@ -18,6 +18,7 @@ import lu.list.itis.dkd.tui.bootstrapping.BootstrappingUtils;
import lu.list.itis.dkd.tui.bootstrapping.ShapeBootstrapper; import lu.list.itis.dkd.tui.bootstrapping.ShapeBootstrapper;
import lu.list.itis.dkd.tui.exception.BuildException; import lu.list.itis.dkd.tui.exception.BuildException;
import lu.list.itis.dkd.tui.utility.ColorFactory; import lu.list.itis.dkd.tui.utility.ColorFactory;
import lu.list.itis.dkd.tui.utility.ColorUtils;
import lu.list.itis.dkd.tui.utility.CpsNamespace; import lu.list.itis.dkd.tui.utility.CpsNamespace;
import lu.list.itis.dkd.tui.utility.Externalization; import lu.list.itis.dkd.tui.utility.Externalization;
import lu.list.itis.dkd.tui.utility.StringUtils; import lu.list.itis.dkd.tui.utility.StringUtils;
...@@ -74,6 +75,8 @@ public class ColourScale<T extends Comparable<T>> { ...@@ -74,6 +75,8 @@ public class ColourScale<T extends Comparable<T>> {
private static final Font DEFAULT_FONT = new Font("Arial", Font.PLAIN, 12); private static final Font DEFAULT_FONT = new Font("Arial", Font.PLAIN, 12);
private static final Shape DEFAULT_SHAPE = ShapeFactory.buildSquare(12); private static final Shape DEFAULT_SHAPE = ShapeFactory.buildSquare(12);
private static final double MAX_SIMILARITY_DISTANCE = 10d;
private static final Logger LOGGER = LoggerFactory.getLogger(ColourScale.class.getSimpleName()); private static final Logger LOGGER = LoggerFactory.getLogger(ColourScale.class.getSimpleName());
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
...@@ -294,6 +297,20 @@ public class ColourScale<T extends Comparable<T>> { ...@@ -294,6 +297,20 @@ public class ColourScale<T extends Comparable<T>> {
return this.defaultColour; return this.defaultColour;
} }
// ---------------------------------------------------------------------------
public ValueRange<T> getValueFor(Color color) {
ValueRange<T> range = null;
for (ColourMapping<T> mapping : mappings) {
if (ColorUtils.areSimilar(mapping.getColour(), color, MAX_SIMILARITY_DISTANCE)) {
range = mapping.getRange();
break;
}
}
return range;
}
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
/** /**
* Returns a list of all mappings present in this colour scale. * Returns a list of all mappings present in this colour scale.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment