From fa185d9485077240dd2f67ce62a075a54efe3463 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Tue, 5 Jun 2012 21:17:47 +0400 Subject: [PATCH] IDEA-86892 android-dom: add "rotate" element --- .../dom/drawable/AndroidDrawableDomUtil.java | 3 ++- .../InsetOrClipOrScaleDomFileDescription.java | 2 +- .../android/dom/drawable/ListItemBase.java | 2 ++ .../dom/drawable/rotateCompletion1.xml | 4 ++++ .../dom/drawable/rotateCompletion1_after.xml | 4 ++++ .../dom/drawable/rotateCompletion2.xml | 4 ++++ .../dom/drawable/rotateHighlighting1.xml | 9 +++++++++ .../dom/drawable/rotateHighlighting2.xml | 7 +++++++ .../dom/AndroidDrawableResourcesDomTest.java | 18 +++++++++++++++++- 9 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 plugins/android/testData/dom/drawable/rotateCompletion1.xml create mode 100644 plugins/android/testData/dom/drawable/rotateCompletion1_after.xml create mode 100644 plugins/android/testData/dom/drawable/rotateCompletion2.xml create mode 100644 plugins/android/testData/dom/drawable/rotateHighlighting1.xml create mode 100644 plugins/android/testData/dom/drawable/rotateHighlighting2.xml diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/AndroidDrawableDomUtil.java b/plugins/android/src/org/jetbrains/android/dom/drawable/AndroidDrawableDomUtil.java index 898f5ad629d7..d3f6d4518d67 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/AndroidDrawableDomUtil.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/AndroidDrawableDomUtil.java @@ -31,7 +31,7 @@ public class AndroidDrawableDomUtil { public static final Map SPECIAL_STYLEABLE_NAMES = new HashMap(); private static final String[] POSSIBLE_DRAWABLE_ROOTS = new String[]{"selector", "bitmap", "nine-patch", "layer-list", "level-list", "transition", "inset", "clip", "scale", "shape", - "animation-list", "animated-rotate"}; + "animation-list", "animated-rotate", "rotate"}; static { SPECIAL_STYLEABLE_NAMES.put("selector", "StateListDrawable"); @@ -42,6 +42,7 @@ public class AndroidDrawableDomUtil { SPECIAL_STYLEABLE_NAMES.put("clip", "ClipDrawable"); SPECIAL_STYLEABLE_NAMES.put("scale", "ScaleDrawable"); SPECIAL_STYLEABLE_NAMES.put("animation-list", "AnimationDrawable"); + SPECIAL_STYLEABLE_NAMES.put("rotate", "RotateDrawable"); SPECIAL_STYLEABLE_NAMES.put("animated-rotate", "AnimatedRotateDrawable"); SPECIAL_STYLEABLE_NAMES.put("shape", "GradientDrawable"); diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/InsetOrClipOrScaleDomFileDescription.java b/plugins/android/src/org/jetbrains/android/dom/drawable/InsetOrClipOrScaleDomFileDescription.java index f2ca48fc1200..05f5b323dce2 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/InsetOrClipOrScaleDomFileDescription.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/InsetOrClipOrScaleDomFileDescription.java @@ -29,7 +29,7 @@ import org.jetbrains.annotations.Nullable; */ public class InsetOrClipOrScaleDomFileDescription extends AndroidResourceDomFileDescription { - @NonNls private static final String[] ROOT_TAGS = new String[] {"inset", "clip", "scale", "animated-rotate"}; + @NonNls private static final String[] ROOT_TAGS = new String[] {"inset", "clip", "scale", "animated-rotate", "rotate"}; public InsetOrClipOrScaleDomFileDescription() { super(InsetOrClipOrScale.class, ROOT_TAGS[0], "drawable"); diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java index b1a2834f7352..4e8ff538cc3f 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java @@ -29,4 +29,6 @@ public interface ListItemBase extends DrawableDomElement { List getInsets(); List getAnimatedRotates(); + + List getRotates(); } diff --git a/plugins/android/testData/dom/drawable/rotateCompletion1.xml b/plugins/android/testData/dom/drawable/rotateCompletion1.xml new file mode 100644 index 000000000000..ad6ea50f2780 --- /dev/null +++ b/plugins/android/testData/dom/drawable/rotateCompletion1.xml @@ -0,0 +1,4 @@ + + +/> \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/rotateCompletion1_after.xml b/plugins/android/testData/dom/drawable/rotateCompletion1_after.xml new file mode 100644 index 000000000000..ce160d5191ae --- /dev/null +++ b/plugins/android/testData/dom/drawable/rotateCompletion1_after.xml @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/rotateCompletion2.xml b/plugins/android/testData/dom/drawable/rotateCompletion2.xml new file mode 100644 index 000000000000..5ab310975500 --- /dev/null +++ b/plugins/android/testData/dom/drawable/rotateCompletion2.xml @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/rotateHighlighting1.xml b/plugins/android/testData/dom/drawable/rotateHighlighting1.xml new file mode 100644 index 000000000000..ed3a7152a3a1 --- /dev/null +++ b/plugins/android/testData/dom/drawable/rotateHighlighting1.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/rotateHighlighting2.xml b/plugins/android/testData/dom/drawable/rotateHighlighting2.xml new file mode 100644 index 000000000000..6e0a8a7c0657 --- /dev/null +++ b/plugins/android/testData/dom/drawable/rotateHighlighting2.xml @@ -0,0 +1,7 @@ + + + + + + + \ 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 34c54686254a..215e981f8e40 100644 --- a/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java +++ b/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java @@ -265,13 +265,29 @@ public class AndroidDrawableResourcesDomTest extends AndroidDomTest { doTestHighlighting(); } + public void testRotateCompletion1() throws Throwable { + doTestCompletion(); + } + + public void testRotateCompletion2() throws Throwable { + doTestOnlyDrawableReferences(); + } + + public void testRotateHighlighting1() throws Throwable { + doTestHighlighting(); + } + + public void testRotateHighlighting2() throws Throwable { + doTestHighlighting(); + } + public void testIncorrectRootTag() throws Throwable { doTestHighlighting(); } public void testRootTagCompletion() throws Throwable { doTestCompletionVariants(getTestName(true) + ".xml", "selector", "bitmap", "nine-patch", "layer-list", "level-list", "transition", - "inset", "clip", "scale", "shape", "animation-list", "animated-rotate"); + "inset", "clip", "scale", "shape", "animation-list", "animated-rotate", "rotate"); } public void testInlineClip() throws Throwable {