package org.codemap.resources; import java.util.Collection; import org.codemap.Configuration; import org.codemap.DigitalElevationModel; import org.codemap.HillShading; import org.codemap.Labeling; import org.codemap.MapInstance; import org.codemap.MapSelection; import org.codemap.util.MColor; import org.codemap.util.MapScheme; import org.eclipse.swt.graphics.Image; import ch.akuhn.hapax.index.LatentSemanticIndex; import ch.akuhn.values.CollectionValue; import ch.akuhn.values.IntegerValue; import ch.akuhn.values.Value; public class MapValues { public final IntegerValue mapSize; public final Value<Collection<String>> elements; public final Value<MapScheme<Boolean>> hills; public final Value<MapScheme<MColor>> colorScheme; public final Value<MapScheme<String>> labelScheme; public final MapSelection currentSelection; public final MapSelection openFilesSelection; public final MapSelection youAreHereSelection; public final Value<LatentSemanticIndex> index; public final Value<Configuration> configuration; public final Value<MapInstance> mapInstance; public final Value<DigitalElevationModel> elevationModel; public final Value<HillShading> shading; public final Value<Image> background; public final Value<Labeling> labeling; public final Value<Collection<String>> projects; public final Value<Collection<String>> extensions; public final CollectionValue<MapSelection> selections; public MapValues(MapValueBuilder make) { mapSize = make.mapSizeValue(); elements = make.elementsValue(); hills = make.hillsValue(); colorScheme = make.colorsValue(); labelScheme = make.labelsValue(); currentSelection = make.currentSelectionValue(); openFilesSelection = make.openFilesSelectionValue(); youAreHereSelection = make.youAreHereSelection(); index = make.indexValue(elements); configuration = make.configurationValue(index); mapInstance = make.mapInstanceValue(mapSize, index, configuration); elevationModel = make.elevationModelValue(mapInstance, hills); shading = make.hillShadingValue(mapInstance, elevationModel); background = make.backgroundValue(mapInstance, elevationModel, shading, colorScheme); labeling = make.labelingValue(mapInstance, labelScheme); projects = make.projectsValue(); extensions = make.extensionsValue(); selections = make.selectionsValue(currentSelection, openFilesSelection, youAreHereSelection); } /** Returns current visualization size in pixels. * */ public int getSize() { return mapSize.getValue(); } }