Package com.vk.gwt.designer.client.ui.widget.vkImage

Source Code of com.vk.gwt.designer.client.ui.widget.vkImage.VkImage

/*
* Copyright 2011 Gaurav Saxena < gsaxena81 AT gmail.com >
*
* 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.
*/
package com.vk.gwt.designer.client.ui.widget.vkImage;

import java.util.List;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.DoubleClickEvent;
import com.google.gwt.event.dom.client.DoubleClickHandler;
import com.google.gwt.event.dom.client.ErrorEvent;
import com.google.gwt.event.dom.client.ErrorHandler;
import com.google.gwt.event.dom.client.LoadEvent;
import com.google.gwt.event.dom.client.LoadHandler;
import com.google.gwt.event.dom.client.MouseDownEvent;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.event.dom.client.MouseMoveEvent;
import com.google.gwt.event.dom.client.MouseMoveHandler;
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.event.dom.client.MouseUpEvent;
import com.google.gwt.event.dom.client.MouseUpHandler;
import com.google.gwt.event.dom.client.MouseWheelEvent;
import com.google.gwt.event.dom.client.MouseWheelHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Widget;
import com.gwtstructs.gwt.client.widgets.jsBridge.Export;
import com.vk.gwt.designer.client.api.attributes.HasVkAllMouseHandlers;
import com.vk.gwt.designer.client.api.attributes.HasVkAlternateText;
import com.vk.gwt.designer.client.api.attributes.HasVkClickHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkDoubleClickHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkErrorHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkLoadHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseDownHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseMoveHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseOutHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseOverHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseUpHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkMouseWheelHandler;
import com.vk.gwt.designer.client.api.attributes.HasVkUrl;
import com.vk.gwt.designer.client.api.component.IVkWidget;
import com.vk.gwt.designer.client.designer.VkStateHelper;

public class VkImage extends Image implements IVkWidget, HasVkAllMouseHandlers, HasVkLoadHandler, HasVkErrorHandler, HasVkAlternateText, HasVkUrl{
  public static final String NAME = "Image";
  private HandlerRegistration clickHandlerRegistration;
  private HandlerRegistration doubleClickHandlerRegistration;
  private HandlerRegistration mouseDownHandlerRegistration;
  private HandlerRegistration mouseUpHandlerRegistration;
  private HandlerRegistration mouseMoveHandlerRegistration;
  private HandlerRegistration mouseOutHandlerRegistration;
  private HandlerRegistration mouseOverHandlerRegistration;
  private HandlerRegistration mouseWheelHandlerRegistration;
  private HandlerRegistration loadHandlerRegistration;
  private HandlerRegistration errorHandlerRegistration;
 
  private String mouseDownJs = "";
  private String mouseUpJs = "";
  private String mouseMoveJs = "";
  private String mouseOutJs = "";
  private String mouseOverJs = "";
  private String mouseWheelJs = "";
  private String clickJs = "";
  private String doubleClickJs = "";
  private String loadJs = "";
  private String errorJs = "";
  private IVkWidget vkParent;

  @Override
  public void addClickHandler(final String js) {
    if(clickHandlerRegistration != null)
      clickHandlerRegistration.removeHandler();
    clickHandlerRegistration = null;
    clickJs = js.trim();
    if(!clickJs.isEmpty())
    {
      clickHandlerRegistration = addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(clickJs, event, true);
        }
      });
    }
  }
  @Override
  public void addDoubleClickHandler(final String js) {
    if(doubleClickHandlerRegistration != null)
      doubleClickHandlerRegistration.removeHandler();
    doubleClickHandlerRegistration = null;
    doubleClickJs  = js.trim();
    if(!doubleClickJs.isEmpty())
    {
      doubleClickHandlerRegistration = addDoubleClickHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(doubleClickJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseDownHandler(String js) {
    if(mouseDownHandlerRegistration != null)
      mouseDownHandlerRegistration.removeHandler();
    mouseDownHandlerRegistration = null;
    mouseDownJs = js.trim();
    if(!mouseDownJs.isEmpty())
    {
      mouseDownHandlerRegistration = addMouseDownHandler(new MouseDownHandler() {
        @Override
        public void onMouseDown(MouseDownEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseDownJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseUpHandler(String js) {
    if(mouseUpHandlerRegistration != null)
      mouseUpHandlerRegistration.removeHandler();
    mouseUpHandlerRegistration = null;
    mouseUpJs = js.trim();
    if(!mouseUpJs.isEmpty())
    {
      mouseUpHandlerRegistration = addMouseUpHandler(new MouseUpHandler() {
        @Override
        public void onMouseUp(MouseUpEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseUpJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseMoveHandler(String js) {
    if(mouseMoveHandlerRegistration != null)
      mouseMoveHandlerRegistration.removeHandler();
    mouseMoveHandlerRegistration = null;
    mouseMoveJs = js.trim();
    if(!mouseMoveJs.isEmpty())
    {
      mouseMoveHandlerRegistration = addMouseMoveHandler(new MouseMoveHandler() {
        @Override
        public void onMouseMove(MouseMoveEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseMoveJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseOverHandler(String js) {
    if(mouseOverHandlerRegistration != null)
      mouseOverHandlerRegistration.removeHandler();
    mouseOverHandlerRegistration = null;
    mouseOverJs = js.trim();
    if(!mouseOverJs.isEmpty())
    {
      mouseOverHandlerRegistration = addMouseOverHandler(new MouseOverHandler() {
        @Override
        public void onMouseOver(MouseOverEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseOverJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseOutHandler(String js) {
    if(mouseOutHandlerRegistration != null)
      mouseOutHandlerRegistration.removeHandler();
    mouseOutHandlerRegistration = null;
    mouseOutJs = js;
    if(!mouseOutJs.isEmpty())
    {
      mouseOutHandlerRegistration = addMouseOutHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseOutJs, event, true);
        }
      });
    }
  }
  @Override
  public void addMouseWheelHandler(String js) {
    if(mouseWheelHandlerRegistration != null)
      mouseWheelHandlerRegistration.removeHandler();
    mouseWheelHandlerRegistration = null;
    mouseWheelJs = js.trim();
    if(!mouseWheelJs.isEmpty())
    {
      mouseWheelHandlerRegistration = addMouseWheelHandler(new MouseWheelHandler() {
        @Override
        public void onMouseWheel(MouseWheelEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(mouseWheelJs, event, true);
        }
      });
    }
  }
  @Override
  public void addLoadHandler(String js) {
    if(loadHandlerRegistration != null)
      loadHandlerRegistration.removeHandler();
    loadHandlerRegistration = null;
    loadJs = js.trim();
    if(!loadJs.isEmpty())
    {
      loadHandlerRegistration = addLoadHandler(new LoadHandler() {
        @Override
        public void onLoad(LoadEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(loadJs, event, true);
        }
      });
    }
  }
  @Override
  public void addErrorHandler(String js) {
    if(errorHandlerRegistration != null)
      errorHandlerRegistration.removeHandler();
    errorHandlerRegistration = null;
    errorJs = js.trim();
    if(!errorJs.isEmpty())
    {
      errorHandlerRegistration = addErrorHandler(new ErrorHandler() {
        @Override
        public void onError(ErrorEvent event) {
          VkStateHelper.getInstance().getEventHelper().executeEvent(errorJs, event, true);
        }
      });
    }
  }
  @Override
  public String getPriorJs(String eventName) {
    if(eventName.equals(HasVkClickHandler.NAME))
      return clickJs;
    else if(eventName.equals(HasVkDoubleClickHandler.NAME))
      return doubleClickJs;
    else if(eventName.equals(HasVkMouseDownHandler.NAME))
      return mouseDownJs;
    else if(eventName.equals(HasVkMouseUpHandler.NAME))
      return mouseUpJs;
    else if(eventName.equals(HasVkMouseOverHandler.NAME))
      return mouseOverJs;
    else if(eventName.equals(HasVkMouseOutHandler.NAME))
      return mouseOutJs;
    else if(eventName.equals(HasVkMouseWheelHandler.NAME))
      return mouseWheelJs;
    else if(eventName.equals(HasVkMouseMoveHandler.NAME))
      return mouseMoveJs;
    else if(eventName.equals(HasVkLoadHandler.NAME))
      return loadJs;
    else if(eventName.equals(HasVkErrorHandler.NAME))
      return errorJs;
    else return "";
  }
  public void setAlt(String text) {
    DOM.setElementAttribute(getElement(), "alt", text);
  }
  public String getAlt() {
    return DOM.getElementAttribute(getElement(), "alt");
  }
  @Override
  public String getWidgetName() {
    return NAME;
  }
  @Override
  public void clone(Widget targetWidget) {}
  @Override
  public boolean showMenu() {
      return true;
  }
  @Override
  public boolean isMovable() {
    return true;
  }
  @Override
  public boolean isResizable() {
    return true;
  }
  /**************************Export attribute Methods********************************/
  @Override
  @Export
  public void setUrl(String url)
  {
    super.setUrl(url);
  }
  @Override
  @Export
  public String getUrl()
  {
    return super.getUrl();
  }
  @Override
  @Export
  public void setVisible(boolean isVisible)
  {
    super.setVisible(isVisible);
  }
  @Override
  @Export
  public boolean isVisible()
  {
    return super.isVisible();
  }
  @Override
  @Export
  public void addStyleName(String className)
  {
    super.addStyleName(className);
  }
  @Override
  @Export
  public void removeStyleName(String className)
  {
    super.removeStyleName(className);
  }
  @Override
  public List<Widget> getToolbarWidgets() {
    // TODO Auto-generated method stub
    return null;
  }
  @Override
  public IVkWidget getVkParent() {
    return vkParent;
  }
  @Override
  public void setVkParent(IVkWidget panel) {
    this.vkParent = panel;
  }
}
TOP

Related Classes of com.vk.gwt.designer.client.ui.widget.vkImage.VkImage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.