From 04e66461b0e7815d5ec4172ee8e4a55dc0c02819 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Fri, 7 Oct 2011 18:10:36 +0400 Subject: [PATCH] IDEA-75280 android dom model: support for inline drawables for all drawable lists --- .../dom/drawable/AnimationListItem.java | 11 +----- .../dom/drawable/DrawableStateListItem.java | 13 +------ .../android/dom/drawable/LayerListItem.java | 19 +---------- .../android/dom/drawable/LevelListItem.java | 13 +------ .../android/dom/drawable/ListItemBase.java | 24 +++++++++++++ .../dom/drawable/levelListHighlighting.xml | 1 - .../dom/drawable/stateListCompletion6.xml | 9 +++++ .../drawable/stateListCompletion6_after.xml | 9 +++++ .../dom/drawable/stateListHighlighting.xml | 1 - .../dom/drawable/stateListHighlighting1.xml | 34 +++++++++++++++++++ .../dom/AndroidDrawableResourcesDomTest.java | 8 +++++ 11 files changed, 88 insertions(+), 54 deletions(-) create mode 100644 plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java create mode 100644 plugins/android/testData/dom/drawable/stateListCompletion6.xml create mode 100644 plugins/android/testData/dom/drawable/stateListCompletion6_after.xml create mode 100644 plugins/android/testData/dom/drawable/stateListHighlighting1.xml diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java index 3d015e2c5a16..bcd4e4929da9 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java @@ -1,16 +1,7 @@ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface AnimationListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - AndroidAttributeValue getDrawable(); +public interface AnimationListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java index feeab917d186..a92bf7367c36 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java @@ -15,19 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import com.intellij.util.xml.Required; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface DrawableStateListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - @Required - AndroidAttributeValue getDrawable(); +public interface DrawableStateListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java index 259390ef68f1..432b92836eb1 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java @@ -15,25 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - -import java.util.List; - /** * @author Eugene.Kudelevsky */ -public interface LayerListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - AndroidAttributeValue getDrawable(); - - List getBitmaps(); - - List getShapes(); - - List getClips(); +public interface LayerListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java index 28b2323ffd93..7928290fefa7 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java @@ -15,19 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import com.intellij.util.xml.Required; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface LevelListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - @Required - AndroidAttributeValue getDrawable(); +public interface LevelListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java new file mode 100644 index 000000000000..11ce3569f574 --- /dev/null +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java @@ -0,0 +1,24 @@ +package org.jetbrains.android.dom.drawable; + +import com.intellij.util.xml.Convert; +import org.jetbrains.android.dom.AndroidAttributeValue; +import org.jetbrains.android.dom.ResourceType; +import org.jetbrains.android.dom.converters.ResourceReferenceConverter; +import org.jetbrains.android.dom.resources.ResourceValue; + +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public interface ListItemBase extends DrawableDomElement { + @Convert(ResourceReferenceConverter.class) + @ResourceType("drawable") + AndroidAttributeValue getDrawable(); + + List getBitmaps(); + + List getShapes(); + + List getClips(); +} diff --git a/plugins/android/testData/dom/drawable/levelListHighlighting.xml b/plugins/android/testData/dom/drawable/levelListHighlighting.xml index 6c3d49da7047..526d5fc9da41 100644 --- a/plugins/android/testData/dom/drawable/levelListHighlighting.xml +++ b/plugins/android/testData/dom/drawable/levelListHighlighting.xml @@ -3,5 +3,4 @@ - <item/> \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListCompletion6.xml b/plugins/android/testData/dom/drawable/stateListCompletion6.xml new file mode 100644 index 000000000000..a6353aa32bb5 --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListCompletion6.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml b/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml new file mode 100644 index 000000000000..1ca91936c7ce --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListHighlighting.xml b/plugins/android/testData/dom/drawable/stateListHighlighting.xml index 440024a170dc..da2f5046df18 100644 --- a/plugins/android/testData/dom/drawable/stateListHighlighting.xml +++ b/plugins/android/testData/dom/drawable/stateListHighlighting.xml @@ -4,6 +4,5 @@ - <item android:state_middle="true"/> diff --git a/plugins/android/testData/dom/drawable/stateListHighlighting1.xml b/plugins/android/testData/dom/drawable/stateListHighlighting1.xml new file mode 100644 index 000000000000..d80d83ab02f8 --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListHighlighting1.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java b/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java index cb00b5ac8c93..62236b84ea2e 100644 --- a/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java +++ b/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java @@ -45,6 +45,10 @@ public class AndroidDrawableResourcesDomTest extends AndroidDomTest { doTestHighlighting(); } + public void testStateListHighlighting1() throws Throwable { + doTestHighlighting(); + } + public void testStateListCompletion1() throws Throwable { doTestCompletion(); } @@ -65,6 +69,10 @@ public class AndroidDrawableResourcesDomTest extends AndroidDomTest { doTestCompletion(); } + public void testStateListCompletion6() throws Throwable { + doTestCompletion(); + } + public void testBitmapHighlighting1() throws Throwable { doTestHighlighting(); }