aboutsummaryrefslogtreecommitdiffstats
path: root/layoutlib_api/src/com/android/ide/common/rendering/api
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2011-06-07 16:25:12 -0700
committerXavier Ducrohet <xav@android.com>2011-06-07 16:58:12 -0700
commit917373c1e375c76edba08a0936ddee7253dd5527 (patch)
tree0d1d0015bdac89abb1d58594446c856d3017c68c /layoutlib_api/src/com/android/ide/common/rendering/api
parent08f09e9f14c7b594b630c95ad8484666a54ea62c (diff)
downloadsdk-917373c1e375c76edba08a0936ddee7253dd5527.zip
sdk-917373c1e375c76edba08a0936ddee7253dd5527.tar.gz
sdk-917373c1e375c76edba08a0936ddee7253dd5527.tar.bz2
Add proper styleable support.
Change-Id: I2dc79e71521f93d798fd4a9b33aa59979bef379d
Diffstat (limited to 'layoutlib_api/src/com/android/ide/common/rendering/api')
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
new file mode 100644
index 0000000..2b13d0b
--- /dev/null
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.rendering.api;
+
+import com.android.resources.ResourceType;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A Resource value representing a declare-styleable resource.
+ *
+ * {@link #getValue()} will return null, instead use {@link #getAttributeValues(String)} to
+ * get the enum/flag value associated with an attribute defined in the declare-styleable.
+ *
+ */
+public class DeclareStyleableResourceValue extends ResourceValue {
+
+ private Map<String, Map<String, Integer>> mEnumMap;
+
+ public DeclareStyleableResourceValue(ResourceType type, String name, boolean isFramework) {
+ super(type, name, isFramework);
+
+ }
+
+ /**
+ * Return the enum/flag integer value for a given attribute.
+ * @param name the name of the attribute
+ * @return the map of (name, integer) values.
+ */
+ public Map<String, Integer> getAttributeValues(String name) {
+ if (mEnumMap != null) {
+ return mEnumMap.get(name);
+ }
+
+ return null;
+ }
+
+ public void addValue(String attribute, String name, Integer value) {
+ Map<String, Integer> map;
+
+ if (mEnumMap == null) {
+ mEnumMap = new HashMap<String, Map<String,Integer>>();
+
+ map = new HashMap<String, Integer>();
+ mEnumMap.put(attribute, map);
+ } else {
+ map = mEnumMap.get(attribute);
+ if (map == null) {
+ map = new HashMap<String, Integer>();
+ mEnumMap.put(attribute, map);
+ }
+ }
+
+ map.put(name, value);
+ }
+}