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

gwt.material.design.client.ui.MaterialImage Maven / Gradle / Ivy

There is a newer version: 2.8.3
Show newest version
package gwt.material.design.client.ui;

/*
 * #%L
 * GwtMaterial
 * %%
 * Copyright (C) 2015 GwtMaterialDesign
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.ImageElement;
import com.google.gwt.event.dom.client.*;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.resources.client.ImageResource;
import gwt.material.design.client.base.HasCaption;
import gwt.material.design.client.base.HasImage;
import gwt.material.design.client.base.HasType;
import gwt.material.design.client.base.MaterialWidget;
import gwt.material.design.client.base.mixin.CssTypeMixin;
import gwt.material.design.client.base.mixin.ImageMixin;
import gwt.material.design.client.constants.ImageType;

//@formatter:off
/**
 * Images can be styled in different ways using Material Design
 * 

UiBinder Usage:

* *
 *{@code//Simple Image
 * 
 *
 * // Circle Image
 * 
 *
 * // MaterialBoxed Image
 * 
 * }
 * 
* * @author kevzlou7979 * @author Ben Dol * @see Material Media */ //@formatter:on public class MaterialImage extends MaterialWidget implements HasCaption, HasType, HasImage, HasClickHandlers, HasDoubleClickHandlers, HasAllMouseHandlers, HasLoadHandlers, HasErrorHandlers, HasAllDragAndDropHandlers, HasAllGestureHandlers, HasAllTouchHandlers { private final CssTypeMixin typeMixin = new CssTypeMixin<>(this); private final ImageMixin imageMixin = new ImageMixin<>(this); /** * Creates an empty image. */ public MaterialImage() { super(Document.get().createImageElement(), "responsive-img"); } /** * Creates a simple image. */ public MaterialImage(String url) { this(); setUrl(url); } /** * Creates an image with Specific type. */ public MaterialImage(String url, ImageType type) { this(url); setType(type); } /** * Creates an image from an ImageResource. */ public MaterialImage(ImageResource resource) { this(); setResource(resource); } /** * Creates an image from an ImageResource with Specific type. */ public MaterialImage(ImageResource resource, ImageType type) { this(resource); setType(type); } @Override public void onLoad() { super.onLoad(); onInitMaterialDesign(); } @Override public void setType(ImageType type) { typeMixin.setType(type); } @Override public ImageType getType() { return typeMixin.getType(); } @Override public String getCaption() { return getElement().getAttribute("caption"); } @Override public void setCaption(String caption) { getElement().setAttribute("data-caption", caption); } public native void onInitMaterialDesign() /*-{ $wnd.jQuery(document).ready(function(){ $wnd.jQuery('.materialboxed').materialbox(); }); }-*/; @Override public void setUrl(String url) { imageMixin.setUrl(url); } @Override public String getUrl() { return imageMixin.getUrl(); } @Override public void setResource(ImageResource resource) { imageMixin.setResource(resource); } @Override public ImageResource getResource() { return imageMixin.getResource(); } public int getWidth() { ImageElement imageElement = getElement().cast(); return imageElement.getWidth(); } public int getHeight() { ImageElement imageElement = getElement().cast(); return imageElement.getHeight(); } @Override public HandlerRegistration addClickHandler(final ClickHandler handler) { return addDomHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if(isEnabled()){ handler.onClick(event); } } }, ClickEvent.getType()); } @Override public HandlerRegistration addMouseDownHandler(final MouseDownHandler handler) { return addDomHandler(new MouseDownHandler() { @Override public void onMouseDown(MouseDownEvent event) { if(isEnabled()){ handler.onMouseDown(event); } } }, MouseDownEvent.getType()); } @Override public HandlerRegistration addMouseMoveHandler(final MouseMoveHandler handler) { return addDomHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { if(isEnabled()){ handler.onMouseMove(event); } } }, MouseMoveEvent.getType()); } @Override public HandlerRegistration addMouseOutHandler(final MouseOutHandler handler) { return addDomHandler(new MouseOutHandler() { @Override public void onMouseOut(MouseOutEvent event) { if(isEnabled()){ handler.onMouseOut(event); } } }, MouseOutEvent.getType()); } @Override public HandlerRegistration addMouseOverHandler(final MouseOverHandler handler) { return addDomHandler(new MouseOverHandler() { @Override public void onMouseOver(MouseOverEvent event) { if(isEnabled()){ handler.onMouseOver(event); } } }, MouseOverEvent.getType()); } @Override public HandlerRegistration addMouseUpHandler(final MouseUpHandler handler) { return addDomHandler(new MouseUpHandler() { @Override public void onMouseUp(MouseUpEvent event) { if(isEnabled()){ handler.onMouseUp(event); } } }, MouseUpEvent.getType()); } @Override public HandlerRegistration addMouseWheelHandler(final MouseWheelHandler handler) { return addDomHandler(new MouseWheelHandler() { @Override public void onMouseWheel(MouseWheelEvent event) { if(isEnabled()){ handler.onMouseWheel(event); } } }, MouseWheelEvent.getType()); } @Override public HandlerRegistration addLoadHandler(final LoadHandler handler) { return addDomHandler(new LoadHandler() { @Override public void onLoad(LoadEvent event) { if(isEnabled()){ handler.onLoad(event); } } }, LoadEvent.getType()); } @Override public HandlerRegistration addErrorHandler(final ErrorHandler handler) { return addDomHandler(new ErrorHandler() { @Override public void onError(ErrorEvent event) { if(isEnabled()){ handler.onError(event); } } }, ErrorEvent.getType()); } @Override public HandlerRegistration addDoubleClickHandler(final DoubleClickHandler handler) { return addDomHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { if(isEnabled()){ handler.onDoubleClick(event); } } }, DoubleClickEvent.getType()); } @Override public HandlerRegistration addDragEndHandler(final DragEndHandler handler) { return addBitlessDomHandler(new DragEndHandler() { @Override public void onDragEnd(DragEndEvent event) { if(isEnabled()){ handler.onDragEnd(event); } } }, DragEndEvent.getType()); } @Override public HandlerRegistration addDragEnterHandler(final DragEnterHandler handler) { return addBitlessDomHandler(new DragEnterHandler() { @Override public void onDragEnter(DragEnterEvent event) { if(isEnabled()){ handler.onDragEnter(event); } } }, DragEnterEvent.getType()); } @Override public HandlerRegistration addDragHandler(final DragHandler handler) { return addBitlessDomHandler(new DragHandler() { @Override public void onDrag(DragEvent event) { if(isEnabled()){ handler.onDrag(event); } } }, DragEvent.getType()); } @Override public HandlerRegistration addDragLeaveHandler(final DragLeaveHandler handler) { return addBitlessDomHandler(new DragLeaveHandler() { @Override public void onDragLeave(DragLeaveEvent event) { if(isEnabled()){ handler.onDragLeave(event); } } }, DragLeaveEvent.getType()); } @Override public HandlerRegistration addDragOverHandler(final DragOverHandler handler) { return addBitlessDomHandler(new DragOverHandler() { @Override public void onDragOver(DragOverEvent event) { if(isEnabled()){ handler.onDragOver(event); } } }, DragOverEvent.getType()); } @Override public HandlerRegistration addDragStartHandler(final DragStartHandler handler) { return addBitlessDomHandler(new DragStartHandler() { @Override public void onDragStart(DragStartEvent event) { if(isEnabled()){ handler.onDragStart(event); } } }, DragStartEvent.getType()); } @Override public HandlerRegistration addDropHandler(final DropHandler handler) { return addBitlessDomHandler(new DropHandler() { @Override public void onDrop(DropEvent event) { if(isEnabled()){ handler.onDrop(event); } } }, DropEvent.getType()); } @Override public HandlerRegistration addGestureChangeHandler(final GestureChangeHandler handler) { return addDomHandler(new GestureChangeHandler() { @Override public void onGestureChange(GestureChangeEvent event) { if(isEnabled()){ handler.onGestureChange(event); } } }, GestureChangeEvent.getType()); } @Override public HandlerRegistration addGestureEndHandler(final GestureEndHandler handler) { return addDomHandler(new GestureEndHandler() { @Override public void onGestureEnd(GestureEndEvent event) { if(isEnabled()){ handler.onGestureEnd(event); } } }, GestureEndEvent.getType()); } @Override public HandlerRegistration addGestureStartHandler(final GestureStartHandler handler) { return addDomHandler(new GestureStartHandler() { @Override public void onGestureStart(GestureStartEvent event) { if(isEnabled()){ handler.onGestureStart(event); } } }, GestureStartEvent.getType()); } @Override public HandlerRegistration addTouchCancelHandler(final TouchCancelHandler handler) { return addDomHandler(new TouchCancelHandler() { @Override public void onTouchCancel(TouchCancelEvent event) { if(isEnabled()){ handler.onTouchCancel(event); } } }, TouchCancelEvent.getType()); } @Override public HandlerRegistration addTouchEndHandler(final TouchEndHandler handler) { return addDomHandler(new TouchEndHandler() { @Override public void onTouchEnd(TouchEndEvent event) { if(isEnabled()){ handler.onTouchEnd(event); } } }, TouchEndEvent.getType()); } @Override public HandlerRegistration addTouchMoveHandler(final TouchMoveHandler handler) { return addDomHandler(new TouchMoveHandler() { @Override public void onTouchMove(TouchMoveEvent event) { if(isEnabled()){ handler.onTouchMove(event); } } }, TouchMoveEvent.getType()); } @Override public HandlerRegistration addTouchStartHandler(final TouchStartHandler handler) { return addDomHandler(new TouchStartHandler() { @Override public void onTouchStart(TouchStartEvent event) { if(isEnabled()){ handler.onTouchStart(event); } } }, TouchStartEvent.getType()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy