diff options
author | Tor Norbye <tnorbye@google.com> | 2012-03-06 14:22:37 -0800 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2012-03-08 08:27:58 -0800 |
commit | 3e75d4f79a8328ed18505830c786402369082efa (patch) | |
tree | d4e2056dc59578a81e0cac63c44ce7a04ad7a4d4 /eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java | |
parent | 9bfb05e9d9ea4b2b969e50c3096e2fdb95653648 (diff) | |
download | sdk-3e75d4f79a8328ed18505830c786402369082efa.zip sdk-3e75d4f79a8328ed18505830c786402369082efa.tar.gz sdk-3e75d4f79a8328ed18505830c786402369082efa.tar.bz2 |
Make GridLayout support work with the support library
Also fix the paste operation to target the parent if
the paste target does not accept children.
Change-Id: Id084db376e5ff9b4a374e6d2145bc890a925a078
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java index 0c7ed9f..74c1b59 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java @@ -19,14 +19,12 @@ import static com.android.ide.common.layout.GridLayoutRule.GRID_SIZE; import static com.android.ide.common.layout.GridLayoutRule.MARGIN_SIZE; import static com.android.ide.common.layout.GridLayoutRule.MAX_CELL_DIFFERENCE; import static com.android.ide.common.layout.GridLayoutRule.SHORT_GAP_DP; -import static com.android.ide.common.layout.LayoutConstants.ANDROID_URI; import static com.android.ide.common.layout.LayoutConstants.ATTR_COLUMN_COUNT; import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_COLUMN; import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_COLUMN_SPAN; import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_GRAVITY; import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_ROW; import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_ROW_SPAN; -import static com.android.ide.common.layout.LayoutConstants.VALUE_1; import static com.android.ide.common.layout.LayoutConstants.VALUE_BOTTOM; import static com.android.ide.common.layout.LayoutConstants.VALUE_CENTER_HORIZONTAL; import static com.android.ide.common.layout.LayoutConstants.VALUE_RIGHT; @@ -478,20 +476,18 @@ public class GridDropHandler { // bottom half! - int columnX = mGrid.getColumnX(column); - int rowY = mGrid.getRowY(row); + //int columnX = mGrid.getColumnX(column); + //int rowY = mGrid.getRowY(row); - targetNode.setAttribute(ANDROID_URI, ATTR_COLUMN_COUNT, VALUE_1); - //targetNode.setAttribute(ANDROID_URI, ATTR_COLUMN_COUNT, "3"); + mGrid.setGridAttribute(targetNode, ATTR_COLUMN_COUNT, 2); + //mGrid.setGridAttribute(targetNode, ATTR_COLUMN_COUNT, 3); //INode scr0 = addSpacer(targetNode, -1, 0, 0, 1, 1); //INode sc1 = addSpacer(targetNode, -1, 0, 1, 0, 0); //INode sc2 = addSpacer(targetNode, -1, 0, 2, 1, 0); //INode sr1 = addSpacer(targetNode, -1, 1, 0, 0, 0); //INode sr2 = addSpacer(targetNode, -1, 2, 0, 0, 1); - //sc1.setAttribute(ANDROID_URI, ATTR_LAYOUT_COLUMN_WEIGHT, VALUE_1); - //sr1.setAttribute(ANDROID_URI, ATTR_LAYOUT_ROW_WEIGHT, VALUE_1); - //sc1.setAttribute(ANDROID_URI, ATTR_LAYOUT_GRAVITY, VALUE_FILL_HORIZONTAL); - //sr1.setAttribute(ANDROID_URI, ATTR_LAYOUT_GRAVITY, VALUE_FILL_VERTICAL); + //mGrid.setGridAttribute(sc1, ATTR_LAYOUT_GRAVITY, VALUE_FILL_HORIZONTAL); + //mGrid.setGridAttribute(sr1, ATTR_LAYOUT_GRAVITY, VALUE_FILL_VERTICAL); // //mGrid.loadFromXml(); //column = mGrid.getColumn(columnX); @@ -655,33 +651,33 @@ public class GridDropHandler { // Set the cell position of the new widget if (mColumnMatch.type == SegmentType.RIGHT) { - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_GRAVITY, VALUE_RIGHT); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_GRAVITY, VALUE_RIGHT); } else if (mColumnMatch.type == SegmentType.CENTER_HORIZONTAL) { - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_GRAVITY, VALUE_CENTER_HORIZONTAL); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_GRAVITY, VALUE_CENTER_HORIZONTAL); } - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_COLUMN, Integer.toString(column)); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_COLUMN, column); if (mRowMatch.type == SegmentType.BOTTOM) { String value = VALUE_BOTTOM; if (mColumnMatch.type == SegmentType.RIGHT) { value = value + '|' + VALUE_RIGHT; + } else if (mColumnMatch.type == SegmentType.CENTER_HORIZONTAL) { + value = value + '|' + VALUE_CENTER_HORIZONTAL; } - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_GRAVITY, value); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_GRAVITY, value); } - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_ROW, Integer.toString(row)); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_ROW, row); // Apply spans to ensure that the widget can fit without pushing columns if (columnSpan > 1) { - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_COLUMN_SPAN, - Integer.toString(columnSpan)); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_COLUMN_SPAN, columnSpan); } if (rowSpan > 1) { - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_ROW_SPAN, Integer.toString(rowSpan)); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_ROW_SPAN, rowSpan); } // Ensure that we don't store columnCount=0 if (mGrid.actualColumnCount == 0) { - mGrid.layout.setAttribute(ANDROID_URI, ATTR_COLUMN_COUNT, - Integer.toString(Math.max(1, column + 1))); + mGrid.setGridAttribute(mGrid.layout, ATTR_COLUMN_COUNT, Math.max(1, column + 1)); } return newChild; @@ -708,10 +704,8 @@ public class GridDropHandler { mGrid.addRow(mRowMatch.cellIndex, newChild, UNDEFINED, false, UNDEFINED, UNDEFINED); } - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_COLUMN, - Integer.toString(mColumnMatch.cellIndex)); - newChild.setAttribute(ANDROID_URI, ATTR_LAYOUT_ROW, - Integer.toString(mRowMatch.cellIndex)); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_COLUMN, mColumnMatch.cellIndex); + mGrid.setGridAttribute(newChild, ATTR_LAYOUT_ROW, mRowMatch.cellIndex); return newChild; } |