IDEA-75280 android dom model: support for inline drawables for all drawable lists

This commit is contained in:
Eugene Kudelevsky
2011-10-07 18:45:54 +04:00
parent 5363fb2948
commit 04e66461b0
11 changed files with 88 additions and 54 deletions
@@ -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<ResourceValue> getDrawable();
public interface AnimationListItem extends ListItemBase {
}
@@ -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<ResourceValue> getDrawable();
public interface DrawableStateListItem extends ListItemBase {
}
@@ -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<ResourceValue> getDrawable();
List<BitmapOrNinePatchElement> getBitmaps();
List<Shape> getShapes();
List<InsetOrClipOrScale> getClips();
public interface LayerListItem extends ListItemBase {
}
@@ -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<ResourceValue> getDrawable();
public interface LevelListItem extends ListItemBase {
}
@@ -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<ResourceValue> getDrawable();
List<BitmapOrNinePatchElement> getBitmaps();
List<Shape> getShapes();
List<InsetOrClipOrScale> getClips();
}
@@ -3,5 +3,4 @@
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/myDrawable"/>
<item android:drawable="<error>@drawable/aba</error>" android:maxLevel="1"/>
<<error>item</error>/>
</level-list>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradie<caret>
</shape>
</item>
</selector>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
</shape>
</item>
</selector>
@@ -4,6 +4,5 @@
<item android:state_window_focused="false" android:drawable="@drawable/myDrawable" />
<item android:state_pressed="" android:drawable="@drawable/myDrawable" />
<item android:state_focused="true" android:drawable="@drawable/myDrawable" />
<<error>item</error> android:state_middle="true"/>
<item android:drawable="<error>@drawable/myDrawab</error>" />
</selector>
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:startColor="#ddf9ee54"
android:endColor="#ffca46"
android:angle="90"/>
<stroke android:width="0dp"/>
<corners android:radius="0dp"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<gradient
android:startColor="#ddf9ee54"
android:endColor="#ffaa46"
android:angle="90"/>
<stroke android:width="0dp"/>
<corners android:radius="0dp"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
</shape>
</item>
</selector>
@@ -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();
}