aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-03-02 09:56:13 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-02 09:56:13 -0800
commitb6dd1a4d70cebef8bfa91020eecb35e36ef6abd1 (patch)
tree74593383909cdfd4fa4e8eeb92ac855aba9b5938 /eclipse/plugins
parentf0b625c2679ecd65345e4b33842d1773bf50cd8f (diff)
parenteb84e2ffdfc1f734ed360caab3c48d799cd5d20f (diff)
downloadsdk-b6dd1a4d70cebef8bfa91020eecb35e36ef6abd1.zip
sdk-b6dd1a4d70cebef8bfa91020eecb35e36ef6abd1.tar.gz
sdk-b6dd1a4d70cebef8bfa91020eecb35e36ef6abd1.tar.bz2
Merge "Show correct icons for <view class="Button"/>"
Diffstat (limited to 'eclipse/plugins')
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlinePage.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlinePage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlinePage.java
index ef1a17c..485d574 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlinePage.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/OutlinePage.java
@@ -17,6 +17,7 @@
package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
import static com.android.ide.common.layout.LayoutConstants.ANDROID_URI;
+import static com.android.ide.common.layout.LayoutConstants.ATTR_CLASS;
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_ROW;
@@ -28,6 +29,7 @@ import static com.android.ide.common.layout.LayoutConstants.DRAWABLE_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.LAYOUT_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.LINEAR_LAYOUT;
import static com.android.ide.common.layout.LayoutConstants.VALUE_VERTICAL;
+import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_VIEWTAG;
import static org.eclipse.jface.viewers.StyledString.QUALIFIER_STYLER;
import com.android.annotations.VisibleForTesting;
@@ -496,13 +498,26 @@ public class OutlinePage extends ContentOutlinePage
Image img = null;
// Special case for the common case of vertical linear layouts:
// show vertical linear icon (the default icon shows horizontal orientation)
- if (desc.getUiName().equals(LINEAR_LAYOUT)) {
+ String uiName = desc.getUiName();
+ if (uiName.equals(LINEAR_LAYOUT)) {
Element e = (Element) node.getXmlNode();
if (VALUE_VERTICAL.equals(e.getAttributeNS(ANDROID_URI,
ATTR_ORIENTATION))) {
IconFactory factory = IconFactory.getInstance();
img = factory.getIcon("VerticalLinearLayout"); //$NON-NLS-1$
}
+ } else if (uiName.equals(VIEW_VIEWTAG)) {
+ Node xmlNode = node.getXmlNode();
+ if (xmlNode instanceof Element) {
+ String className = ((Element) xmlNode).getAttribute(ATTR_CLASS);
+ if (className != null && className.length() > 0) {
+ int index = className.lastIndexOf('.');
+ if (index != -1) {
+ className = className.substring(index + 1);
+ }
+ img = IconFactory.getInstance().getIcon(className);
+ }
+ }
}
if (img == null) {
img = desc.getGenericIcon();