aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasDropListener.java2
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java11
2 files changed, 12 insertions, 1 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasDropListener.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasDropListener.java
index d5bfa81..b3af5f7 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasDropListener.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasDropListener.java
@@ -290,7 +290,7 @@ import java.util.Arrays;
* one of the callOnXyz methods of GRE to refresh the fields.
*
* @param df The current {@link DropFeedback}.
- * @param event An optional event to determine if the current operaiton is copy or move.
+ * @param event An optional event to determine if the current operation is copy or move.
*/
private void updateDropFeedback(DropFeedback df, DropTargetEvent event) {
if (event != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
index 880d76e..88064ce 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
@@ -1541,6 +1541,17 @@ class LayoutCanvas extends Canvas implements ISelectionProvider {
}
}
+ // If you are dragging a non-selected item, select it
+ if (mDragSelection.isEmpty()) {
+ int x = mHScale.inverseTranslate(e.x);
+ int y = mVScale.inverseTranslate(e.y);
+ CanvasViewInfo vi = findViewInfoAt(x, y);
+ if (vi != null) {
+ selectSingle(vi);
+ mDragSelection.addAll(mSelections);
+ }
+ }
+
sanitizeSelection(mDragSelection);
e.doit = !mDragSelection.isEmpty();