All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geomajas.gwt2.client.event.LayerOrderChangedEvent Maven / Gradle / Ivy

The newest version!
/*
 * This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
 *
 * Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium.
 *
 * The program is available in open source according to the GNU Affero
 * General Public License. All contributions in this program are covered
 * by the Geomajas Contributors License Agreement. For full licensing
 * details, see LICENSE.txt in the project root.
 */

package org.geomajas.gwt2.client.event;

import org.geomajas.annotation.Api;

import com.google.web.bindery.event.shared.Event;

/**
 * Event that is fired when the order of a layer is changed within the
 * {@link org.geomajas.gwt2.client.map.layer.LayersModel}. This event contains indices pointing to the original index
 * and the target index for the layer. Of course, changing the index of a single layer, also changes the indices of
 * other layers.
 * 
 * @author Pieter De Graef
 * @author Jan De Moerloose
 * @since 2.0.0
 */
@Api(allMethods = true)
public class LayerOrderChangedEvent extends Event {

	private final int fromIndex;

	private final int toIndex;

	/**
	 * Create an event for the specified layer indices.
	 * 
	 * @param fromIndex
	 *            the index before the move
	 * @param toIndex
	 *            the index after the move
	 */
	public LayerOrderChangedEvent(int fromIndex, int toIndex) {
		this.fromIndex = fromIndex;
		this.toIndex = toIndex;
	}

	@Override
	public Type getAssociatedType() {
		return LayerOrderChangedHandler.TYPE;
	}

	@Override
	protected void dispatch(LayerOrderChangedHandler layerOrderChangedHandler) {
		layerOrderChangedHandler.onLayerOrderChanged(this);
	}

	/**
	 * Get the original index at which a layer has been moved.
	 * 
	 * @return The original index at which a layer has been moved.
	 */
	public int getFromIndex() {
		return fromIndex;
	}

	/**
	 * Get the new index at which the layer has been placed.
	 * 
	 * @return The new index at which the layer has been placed.
	 */
	public int getToIndex() {
		return toIndex;
	}

	/**
	 * Return the minimum of the 2 indices (fromIndex, toIndex).
	 * 
	 * @return The minimum of the 2 indices.
	 */
	public int getMinIndex() {
		return (toIndex < fromIndex) ? toIndex : fromIndex;
	}

	/**
	 * Return the maximum of the 2 indices (fromIndex, toIndex).
	 * 
	 * @return The maximum of the 2 indices.
	 */
	public int getMaxIndex() {
		return (toIndex < fromIndex) ? fromIndex : toIndex;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy