/* * 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.example.base.client.widget; import org.geomajas.gwt2.example.base.client.ExampleBase; import com.google.gwt.event.dom.client.MouseOutEvent; import com.google.gwt.event.dom.client.MouseOutHandler; import com.google.gwt.event.dom.client.MouseOverEvent; import com.google.gwt.event.dom.client.MouseOverHandler; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.user.client.ui.Image; /** * Clickable image that displays a different image resource when the mouse hovers over it. * * @author Pieter De Graef */ public class ClickableImage extends Image { private ImageResource normalResource; private ImageResource hoverResource; public ClickableImage() { super(ExampleBase.getShowcaseResource().iconArrowDown()); addStyleName(ExampleBase.getShowcaseResource().css().clickable()); addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { if (hoverResource != null) { setResource(hoverResource); } } }); addMouseOutHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { if (normalResource != null) { setResource(normalResource); } } }); } // ------------------------------------------------------------------------ // Getters and setters: // ------------------------------------------------------------------------ public ImageResource getNormalResource() { return normalResource; } public void setNormalResource(ImageResource normalResource) { this.normalResource = normalResource; setResource(normalResource); } public ImageResource getHoverResource() { return hoverResource; } public void setHoverResource(ImageResource hoverResource) { this.hoverResource = hoverResource; } }