01: /*******************************************************************************
02: * Copyright (c) 2004, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.presentations;
11:
12: import org.eclipse.swt.graphics.Rectangle;
13:
14: /**
15: * This structure describes a drop event that will cause a dragged part
16: * to be stacked in a position currently occupied by another part.
17: *
18: * @since 3.0
19: */
20: public final class StackDropResult {
21:
22: private Rectangle snapRectangle;
23:
24: private Object cookie;
25:
26: /**
27: * Creates a drop result
28: *
29: * @param snapRectangle region that should be highlighted by the tracking
30: * rectangle (display coordinates)
31: * @param cookie the presentation may attach an object to this drop result
32: * in order to identify the drop location. This object will be passed back into the
33: * presentation's add method.
34: */
35: public StackDropResult(Rectangle snapRectangle, Object cookie) {
36: this .snapRectangle = snapRectangle;
37: this .cookie = cookie;
38: }
39:
40: /**
41: * Returns a rectangle (screen coordinates) describing the target location
42: * for this drop operation. While dragging, the tracking rectangle will
43: * snap to this position.
44: *
45: * @return a snap rectangle (not null)
46: */
47: public Rectangle getSnapRectangle() {
48: return snapRectangle;
49: }
50:
51: /**
52: * Returns the cookie for this drop result. This object provided by the presentation,
53: * but is remembered by the workbench. It will be given back to the presentation's add
54: * method to indicate that a part is being added as a result of a drop operation.
55: *
56: * @return the drop cookie for this drop result
57: */
58: public Object getCookie() {
59: return cookie;
60: }
61:
62: }
|