diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/ScrollViewRule.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/ScrollViewRule.java | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/ScrollViewRule.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/ScrollViewRule.java deleted file mode 100644 index 9f2b4ae6f..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/ScrollViewRule.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.common.layout; - -import static com.android.SdkConstants.ANDROID_URI; -import static com.android.SdkConstants.ATTR_LAYOUT_HEIGHT; -import static com.android.SdkConstants.ATTR_LAYOUT_WIDTH; -import static com.android.SdkConstants.ATTR_ORIENTATION; -import static com.android.SdkConstants.FQCN_LINEAR_LAYOUT; -import static com.android.SdkConstants.VALUE_VERTICAL; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.common.api.DrawingStyle; -import com.android.ide.common.api.DropFeedback; -import com.android.ide.common.api.IDragElement; -import com.android.ide.common.api.IGraphics; -import com.android.ide.common.api.INode; -import com.android.ide.common.api.IViewRule; -import com.android.ide.common.api.InsertType; -import com.android.ide.common.api.Point; -import com.android.ide.common.api.Rect; - -/** - * An {@link IViewRule} for android.widget.ScrollView. - */ -public class ScrollViewRule extends FrameLayoutRule { - - @Override - public void onChildInserted(@NonNull INode child, @NonNull INode parent, - @NonNull InsertType insertType) { - super.onChildInserted(child, parent, insertType); - - // The child of the ScrollView should fill in both directions - String fillParent = getFillParentValueName(); - child.setAttribute(ANDROID_URI, ATTR_LAYOUT_WIDTH, fillParent); - child.setAttribute(ANDROID_URI, ATTR_LAYOUT_HEIGHT, fillParent); - } - - @Override - public void onCreate(@NonNull INode node, @NonNull INode parent, - @NonNull InsertType insertType) { - super.onCreate(node, parent, insertType); - - if (insertType.isCreate()) { - // Insert a default linear layout (which will in turn be registered as - // a child of this node and the create child method above will set its - // fill parent attributes, its id, etc. - INode linear = node.appendChild(FQCN_LINEAR_LAYOUT); - linear.setAttribute(ANDROID_URI, ATTR_ORIENTATION, VALUE_VERTICAL); - } - } - - @Override - public DropFeedback onDropMove(@NonNull INode targetNode, @NonNull IDragElement[] elements, - @Nullable DropFeedback feedback, @NonNull Point p) { - DropFeedback f = super.onDropMove(targetNode, elements, feedback, p); - - // ScrollViews only allow a single child - if (targetNode.getChildren().length > 0) { - f.invalidTarget = true; - } - return f; - } - - @Override - protected void drawFeedback( - IGraphics gc, - INode targetNode, - IDragElement[] elements, - DropFeedback feedback) { - if (targetNode.getChildren().length > 0) { - Rect b = targetNode.getBounds(); - if (b.isValid()) { - gc.useStyle(DrawingStyle.DROP_RECIPIENT); - gc.drawRect(b); - } - } else { - super.drawFeedback(gc, targetNode, elements, feedback); - } - } -} |