blob: 881d753617627d4dc4aa6aeea1182b1a847c0363 [file] [log] [blame]
/*
* Copyright (C) 2007 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.manifest.descriptors;
import com.android.ide.common.api.IAttributeInfo;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DescriptorsUtils;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ITextAttributeCreator;
import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiResourceAttributeNode;
import com.android.resources.ResourceType;
/**
* Describes a Theme/Style XML attribute displayed by a {@link UiResourceAttributeNode}
* <p/>
* Used by the override for .../theme in {@link AndroidManifestDescriptors}.
*/
public final class ThemeAttributeDescriptor extends TextAttributeDescriptor {
/**
* Used by {@link DescriptorsUtils} to create instances of this descriptor.
*/
public static final ITextAttributeCreator CREATOR = new ITextAttributeCreator() {
@Override
public TextAttributeDescriptor create(String xmlLocalName,
String nsUri, IAttributeInfo attrInfo) {
return new ThemeAttributeDescriptor(xmlLocalName, nsUri, attrInfo);
}
};
public ThemeAttributeDescriptor(String xmlLocalName, String nsUri, IAttributeInfo attrInfo) {
super(xmlLocalName, nsUri, attrInfo);
}
/**
* @return A new {@link UiResourceAttributeNode} linked to this theme descriptor.
*/
@Override
public UiAttributeNode createUiNode(UiElementNode uiParent) {
return new UiResourceAttributeNode(ResourceType.STYLE, this, uiParent);
}
}