/*
* 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.gwt.client.action.layertree;
import org.geomajas.gwt.client.i18n.I18nProvider;
import org.geomajas.gwt.client.map.layer.Layer;
import org.geomajas.gwt.client.util.WidgetLayout;
/**
* Action that switches visibility of a layer.
*
* @author Frank Wynants
* @author Pieter De Graef
*/
public class LayerVisibleModalAction extends LayerTreeModalAction {
public LayerVisibleModalAction() {
super(WidgetLayout.iconLayerShow, WidgetLayout.iconLayerHide, WidgetLayout.iconLayerDisabled,
I18nProvider.getLayerTree().inVisibleAction(), I18nProvider.getLayerTree().visibleAction());
}
public boolean isEnabled(Layer<?> layer) {
return (layer != null);
}
public boolean isSelected(Layer<?> layer) {
return layer != null && layer.isShowing();
}
public void onDeselect(Layer<?> layer) {
layer.setVisible(false);
}
public void onSelect(Layer<?> layer) {
layer.setVisible(true);
}
}