aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java184
1 files changed, 0 insertions, 184 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java
deleted file mode 100644
index 713f6d92e..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimatorDescriptors.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
- *
- * 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.eclipse.adt.internal.editors.animator;
-
-import static com.android.SdkConstants.ANDROID_NS_NAME;
-import static com.android.SdkConstants.ANDROID_URI;
-
-import com.android.ide.common.resources.platform.DeclareStyleableInfo;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.AttributeDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.DescriptorsUtils;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.IDescriptorProvider;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.XmlnsAttributeDescriptor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Descriptors for /res/animator XML files.
- */
-public class AnimatorDescriptors implements IDescriptorProvider {
- /** The root element descriptor */
- private ElementDescriptor mDescriptor;
- /** The root element descriptors */
- private ElementDescriptor[] mRootDescriptors;
- private Map<String, ElementDescriptor> nameToDescriptor;
-
- /** @return the root descriptor. */
- @Override
- public ElementDescriptor getDescriptor() {
- if (mDescriptor == null) {
- mDescriptor = new ElementDescriptor("", getRootElementDescriptors()); //$NON-NLS-1$
- }
-
- return mDescriptor;
- }
-
- @Override
- public ElementDescriptor[] getRootElementDescriptors() {
- return mRootDescriptors;
- }
-
- ElementDescriptor getElementDescriptor(String rootTag) {
- if (nameToDescriptor == null) {
- nameToDescriptor = new HashMap<String, ElementDescriptor>();
- for (ElementDescriptor descriptor : getRootElementDescriptors()) {
- nameToDescriptor.put(descriptor.getXmlName(), descriptor);
- }
- }
-
- ElementDescriptor descriptor = nameToDescriptor.get(rootTag);
- if (descriptor == null) {
- descriptor = getDescriptor();
- }
- return descriptor;
- }
-
- public synchronized void updateDescriptors(Map<String, DeclareStyleableInfo> styleMap) {
- if (styleMap == null) {
- return;
- }
-
- XmlnsAttributeDescriptor xmlns = new XmlnsAttributeDescriptor(ANDROID_NS_NAME,
- ANDROID_URI);
-
- List<ElementDescriptor> descriptors = new ArrayList<ElementDescriptor>();
-
- String sdkUrl =
- "http://developer.android.com/guide/topics/graphics/animation.html"; //$NON-NLS-1$
-
- ElementDescriptor set = addElement(descriptors, styleMap,
- "set", "Animator Set", "AnimatorSet", null, //$NON-NLS-1$ //$NON-NLS-3$
- null /* tooltip */, sdkUrl,
- xmlns, null, true /*mandatory*/);
-
- ElementDescriptor objectAnimator = addElement(descriptors, styleMap,
- "objectAnimator", "Object Animator", //$NON-NLS-1$
- "PropertyAnimator", "Animator", //$NON-NLS-1$ //$NON-NLS-2$
- null /* tooltip */, sdkUrl,
- xmlns, null, true /*mandatory*/);
-
- ElementDescriptor animator = addElement(descriptors, styleMap,
- "animator", "Animator", "Animator", null, //$NON-NLS-1$ //$NON-NLS-3$
- null /* tooltip */, sdkUrl,
- xmlns, null, true /*mandatory*/);
-
- mRootDescriptors = descriptors.toArray(new ElementDescriptor[descriptors.size()]);
-
- // Allow arbitrary nesting: the children of all of these element can include
- // any of the others
- if (objectAnimator != null) {
- objectAnimator.setChildren(mRootDescriptors);
- }
- if (animator != null) {
- animator.setChildren(mRootDescriptors);
- }
- if (set != null) {
- set.setChildren(mRootDescriptors);
- }
- }
-
- /**
- * Looks up the given style, and if found creates a new {@link ElementDescriptor}
- * corresponding to the style. It can optionally take an extra style to merge in
- * additional attributes from, and an extra attribute to add in as well. The new
- * element, if it exists, can also be optionally added into a list.
- *
- * @param descriptors an optional list to add the element into, or null
- * @param styleMap The map style => attributes from the attrs.xml file
- * @param xmlName the XML tag name to use for the element
- * @param uiName the UI name to display the element as
- * @param styleName the name of the style which must exist for this style
- * @param extraStyle an optional extra style to merge in attributes from, or null
- * @param tooltip the tooltip or documentation for this element, or null
- * @param sdkUrl an optional SDK url to display for the element, or null
- * @param extraAttribute an extra attribute to add to the attributes list, or null
- * @param childrenElements an array of children allowed by this element, or null
- * @param mandatory if true, this element is mandatory
- * @return a newly created element, or null if the style does not exist
- */
- public static ElementDescriptor addElement(
- List<ElementDescriptor> descriptors,
- Map<String, DeclareStyleableInfo> styleMap,
- String xmlName, String uiName, String styleName, String extraStyle,
- String tooltip, String sdkUrl,
- AttributeDescriptor extraAttribute,
- ElementDescriptor[] childrenElements,
- boolean mandatory) {
- DeclareStyleableInfo style = styleMap.get(styleName);
- if (style == null) {
- return null;
- }
- ElementDescriptor element = new ElementDescriptor(xmlName, uiName, tooltip, sdkUrl,
- null, childrenElements, mandatory);
-
- ArrayList<AttributeDescriptor> descs = new ArrayList<AttributeDescriptor>();
-
- DescriptorsUtils.appendAttributes(descs,
- null, // elementName
- ANDROID_URI,
- style.getAttributes(),
- null, // requiredAttributes
- null); // overrides
- element.setTooltip(style.getJavaDoc());
-
- if (extraStyle != null) {
- style = styleMap.get(extraStyle);
- if (style != null) {
- DescriptorsUtils.appendAttributes(descs,
- null, // elementName
- ANDROID_URI,
- style.getAttributes(),
- null, // requiredAttributes
- null); // overrides
- }
- }
-
- if (extraAttribute != null) {
- descs.add(extraAttribute);
- }
-
- element.setAttributes(descs.toArray(new AttributeDescriptor[descs.size()]));
- if (descriptors != null) {
- descriptors.add(element);
- }
-
- return element;
- }
-}