aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaphael Moll <ralf@android.com>2010-12-27 16:37:42 -0800
committerRaphael Moll <ralf@android.com>2010-12-27 16:37:42 -0800
commitfe2c646b1bd033dea4c45e31630ffc9c5703e1f9 (patch)
tree78273649b4b453b3a926203260d1b2f4e521b0dc
parentabd3143e603ebed1023a5c740e92a29adc7eb798 (diff)
downloadsdk-fe2c646b1bd033dea4c45e31630ffc9c5703e1f9.zip
sdk-fe2c646b1bd033dea4c45e31630ffc9c5703e1f9.tar.gz
sdk-fe2c646b1bd033dea4c45e31630ffc9c5703e1f9.tar.bz2
Enable code specific to Eclipse 3.5
Change-Id: I29f6d1d74ce2979882988c18bc3e79d995445015
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GestureManager.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlineDropListener.java25
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PaletteControl.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtils.java55
4 files changed, 7 insertions, 82 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GestureManager.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GestureManager.java
index 8365a37..a284c0a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GestureManager.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GestureManager.java
@@ -613,7 +613,8 @@ public class GestureManager {
// the dragged view
int deltaX = (int) (scale * (boundingBox.x - p.x));
int deltaY = (int) (scale * (boundingBox.y - p.y));
- SwtUtils.setDragImageOffsets(e, -deltaX, -deltaY);
+ e.offsetX = -deltaX;
+ e.offsetY = -deltaY;
// View rules may need to know it as well
GlobalCanvasDragInfo dragInfo = GlobalCanvasDragInfo.getInstance();
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlineDropListener.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlineDropListener.java
index e70687e..ecf152f 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlineDropListener.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlineDropListener.java
@@ -28,8 +28,6 @@ import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.DropTargetEvent;
import org.eclipse.swt.dnd.TransferData;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -57,7 +55,7 @@ import java.util.Set;
@Override
public boolean performDrop(Object data) {
- final DropTargetEvent event = getEvent();
+ final DropTargetEvent event = getCurrentEvent();
if (event == null) {
return false;
}
@@ -166,7 +164,7 @@ import java.util.Set;
@Override
public boolean validateDrop(Object target, int operation,
TransferData transferType) {
- DropTargetEvent event = getEvent();
+ DropTargetEvent event = getCurrentEvent();
if (event == null) {
return false;
}
@@ -219,23 +217,4 @@ import java.util.Set;
}
return false;
}
-
- // Eclipse 3.4 workaround for lack of #getCurrentEvent()
- private DropTargetEvent getEvent() {
- // Eclipse 3.4 does not provide ViewerDropAdapter#getCurrentEvent
- // FIXME: Replace the below code with just "getCurrentEvent()" when
- // we drop Eclipse 3.4 support.
- try {
- Class<ViewerDropAdapter> clz = ViewerDropAdapter.class;
- Method m = clz.getDeclaredMethod("getCurrentEvent"); //$NON-NLS-1$
- return (DropTargetEvent) m.invoke(this, (Object[]) null);
- } catch (SecurityException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- } catch (NoSuchMethodException e) {
- } catch (InvocationTargetException e) {
- }
-
- return null;
- }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PaletteControl.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PaletteControl.java
index 9c7c472..5b00a70 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PaletteControl.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PaletteControl.java
@@ -664,9 +664,9 @@ public class PaletteControl extends Composite {
// mouse pointer
Rectangle imageBounds = mImage.getBounds();
- int offsetX = imageBounds.width / 2;
- int offsetY = imageBounds.height / 2;
- SwtUtils.setDragImageOffsets(event, offsetX, offsetY);
+ event.offsetX = imageBounds.width / 2;
+ event.offsetY = imageBounds.height / 2;
+
}
event.doit = true;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtils.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtils.java
index 29a6059..3d872c7 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtils.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtils.java
@@ -16,9 +16,7 @@
package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
import com.android.ide.common.api.Rect;
-import com.android.ide.common.layout.Pair;
-import org.eclipse.swt.dnd.DragSourceEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.PaletteData;
@@ -28,7 +26,6 @@ import org.eclipse.swt.widgets.Display;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt;
import java.awt.image.WritableRaster;
-import java.lang.reflect.Field;
import java.util.List;
/**
@@ -173,58 +170,6 @@ public class SwtUtils {
}
/**
- * Sets the DragSourceEvent's offsetX and offsetY fields.
- *
- * @param event the {@link DragSourceEvent}
- * @param offsetX the offset X value
- * @param offsetY the offset Y value
- */
- public static void setDragImageOffsets(DragSourceEvent event, int offsetX, int offsetY) {
- // Eclipse 3.4 does not support drag image offsets
- // event.offsetX = offsetX;
- // event.offsetY= offsetY;
- // FIXME: Replace by direct field access when we drop Eclipse 3.4 support.
- try {
- Class<DragSourceEvent> clz = DragSourceEvent.class;
- Field xField = clz.getDeclaredField("offsetX"); //$NON-NLS-1$
- Field yField = clz.getDeclaredField("offsetY"); //$NON-NLS-1$
- xField.set(event, Integer.valueOf(offsetX));
- yField.set(event, Integer.valueOf(offsetY));
- } catch (SecurityException e) {
- } catch (NoSuchFieldException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- }
- }
-
- /**
- * Returns the DragSourceEvent's offsetX and offsetY fields.
- *
- * @param event the {@link DragSourceEvent}
- * @return A pair of the offset X and Y values, or null if it fails (e.g. on Eclipse
- * 3.4)
- */
- public static Pair<Integer,Integer> getDragImageOffsets(DragSourceEvent event) {
- // Eclipse 3.4 does not support drag image offsets:
- // return Pair.of(event.offsetX, event.offsetY);
- // FIXME: Replace by direct field access when we drop Eclipse 3.4 support.
- try {
- Class<DragSourceEvent> clz = DragSourceEvent.class;
- Field xField = clz.getDeclaredField("offsetX"); //$NON-NLS-1$
- Field yField = clz.getDeclaredField("offsetY"); //$NON-NLS-1$
- int offsetX = xField.getInt(event);
- int offsetY = yField.getInt(event);
- return Pair.of(offsetX, offsetY);
- } catch (SecurityException e) {
- } catch (NoSuchFieldException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- }
-
- return null;
- }
-
- /**
* Creates a new image from a source image where the contents from a given set of
* bounding boxes are copied into the new image and the rest is left transparent. A
* scale can be applied to make the resulting image larger or smaller than the source