com.vaadin.terminal.gwt.client.ui.dd.VDropHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin Show documentation
Show all versions of vaadin Show documentation
Vaadin is a web application framework for Rich Internet Applications (RIA).
Vaadin enables easy development and maintenance of fast and secure rich web
applications with a stunning look and feel and a wide browser support.
It features a server-side architecture with the majority of the logic running
on the server. Ajax technology is used at the browser-side to ensure a rich
and interactive user experience.
/*
* Copyright 2011 Vaadin Ltd.
*
* 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.vaadin.terminal.gwt.client.ui.dd;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
import com.vaadin.terminal.gwt.client.Paintable;
/**
* Vaadin Widgets that want to receive something via drag and drop implement
* this interface.
*/
public interface VDropHandler {
/**
* Called by DragAndDropManager when a drag operation is in progress and the
* cursor enters the area occupied by this Paintable.
*
* @param dragEvent
* DragEvent which contains the transferable and other
* information for the operation
*/
public void dragEnter(VDragEvent dragEvent);
/**
* Called by DragAndDropManager when a drag operation is in progress and the
* cursor leaves the area occupied by this Paintable.
*
* @param dragEvent
* DragEvent which contains the transferable and other
* information for the operation
*/
public void dragLeave(VDragEvent dragEvent);
/**
* Called by DragAndDropManager when a drag operation was in progress and a
* drop was performed on this Paintable.
*
*
* @param dragEvent
* DragEvent which contains the transferable and other
* information for the operation
*
* @return true if the Tranferrable of this drag event needs to be sent to
* the server, false if drop is rejected or no server side event
* should be sent
*/
public boolean drop(VDragEvent drag);
/**
* When drag is over current drag handler.
*
* With drag implementation by {@link VDragAndDropManager} will be called
* when mouse is moved. HTML5 implementations call this continuously even
* though mouse is not moved.
*
* @param currentDrag
*/
public void dragOver(VDragEvent currentDrag);
/**
* Returns the Paintable into which this DragHandler is associated
*/
public Paintable getPaintable();
/**
* Returns the application connection to which this {@link VDropHandler}
* belongs to. DragAndDropManager uses this fucction to send Transferable to
* server side.
*/
public ApplicationConnection getApplicationConnection();
}