/* * Copyright 2010 The gwtquery plugins team. * * 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 gwtquery.plugins.droppable.client.gwt; /** * This objet determines if the current rendering cell have to be draggable * and/or droppable * * @param <C> the cell type * @author Julien Dramaix (julien.dramaix@gmail.com) */ public interface CellDragAndDropBehaviour<C> { /** * Implementation of {@link CellDragAndDropBehaviour} definig cells as * draggable only * * @param <C> * @author Julien Dramaix (julien.dramaix@gmail.com) */ public class CellDragOnlyBehaviour<C> implements CellDragAndDropBehaviour<C> { public boolean isDraggable(C value) { return true; } public boolean isDroppable(C value) { return false; } } /** * Implementation of {@link CellDragAndDropBehaviour} defining cells as * droppable only * * @param <C> * @author Julien Dramaix (julien.dramaix@gmail.com) */ public class CellDropOnlyBehaviour<C> implements CellDragAndDropBehaviour<C> { public boolean isDraggable(C value) { return false; } public boolean isDroppable(C value) { return true; } } /** * This method is called during the render of a cell. It decides if the cell * is draggable or not. * * @param value * @return */ boolean isDraggable(C value); /** * This method is called during the render of a cell. It decides if the cell * is droppable or not. * * @param value * @return */ boolean isDroppable(C value); }