blob: d4b02b8aca7398fe3abd3e2dd5e10bd24e2f5e74 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2002, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
****************************************************************************/
package org.eclipse.gmf.runtime.diagram.ui.requests;
import java.util.Collections;
import java.util.List;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.gef.Request;
import org.eclipse.gef.requests.DropRequest;
import org.eclipse.swt.dnd.DND;
/**
* A Drop request that has a List of <code>Object</code>s
* to drop at a specific location on the target editpart
* The request can also return an object representing the
* result of the drop requiredDetail
*
* @author melaasar
*/
public class DropObjectsRequest extends Request
implements DropRequest {
/** the drop location */
private Point location;
/** the list of objects to drop */
private List objects = Collections.EMPTY_LIST;
/** the result of satisfying the drop request */
private Object result;
/** the allowed requiredDetail as in the DND event */
private int allowedDetail = DND.DROP_NONE;
/** the required DND requiredDetail */
private int requiredDetail = DND.DROP_NONE;
/**
* Method CreateViewRequest.
*/
public DropObjectsRequest() {
super(RequestConstants.REQ_DROP_OBJECTS);
}
/**
* Returns the objects.
* @return List
*/
public final List getObjects() {
return objects;
}
/**
* Returns the location.
* @return Point
*/
public Point getLocation() {
return location;
}
/**
* Returns the result of the drop request
* @return any DROP_* field of the <code>DND</code> interface
*/
public Object getResult() {
return result;
}
/**
* gets the drag requiredDetail
* @return int
*/
public int getRequiredDetail() {
return requiredDetail;
}
/**
* Gets the allowed requiredDetail as in the DND event
* @return the allowed requiredDetail as in the DND event
*/
public int getAllowedDetail() {
return allowedDetail;
}
/**
* Sets the objects.
* @param objects The objects to set
*/
public final void setObjects(List objects) {
if (objects == null)
this.objects = Collections.EMPTY_LIST;
else
this.objects = objects;
}
/**
* Sets the location.
* @param location The location to set
*/
public void setLocation(Point location) {
this.location = location;
}
/**
* Sets the result of the drop request
* Editpolicies can use this method to set the result of the request
* @param result The result to set
*/
public void setResult(Object result) {
this.result = result;
}
/**
* Sets the drag requiredDetail
* @param operation can be any DROP_* field of the <code>DND</code> interface
*/
public void setRequiredDetail(int operation) {
this.requiredDetail = operation;
}
/**
* Sets the allowed requiredDetail as in the DND event
* @param allowedDetail the allowed requiredDetail in the DND event
*/
public void setAllowedDetail(int allowedDetail) {
this.allowedDetail = allowedDetail;
}
}