/*
* 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.assetstudio;
/**
* The type of asset to create: launcher icon, menu icon, etc.
*/
public enum AssetType {
/** Launcher icon to be shown in the application list */
LAUNCHER("Launcher Icons", "ic_launcher"), //$NON-NLS-2$
/** Icons shown in the action bar */
ACTIONBAR("Action Bar and Tab Icons (Android 3.0+)", "ic_action_%s"), //$NON-NLS-2$
/** Icons shown in a notification message */
NOTIFICATION("Notification Icons", "ic_stat_%s"), //$NON-NLS-2$
/** Icons shown as part of tabs */
TAB("Pre-Android 3.0 Tab Icons", "ic_tab_%s"), //$NON-NLS-2$
/** Icons shown in menus */
MENU("Pre-Android 3.0 Menu Icons", "ic_menu_%s"); //$NON-NLS-2$
/** Display name to show to the user in the asset type selection list */
private final String mDisplayName;
/** Default asset name format */
private String mDefaultNameFormat;
AssetType(String displayName, String defaultNameFormat) {
mDisplayName = displayName;
mDefaultNameFormat = defaultNameFormat;
}
/**
* Returns the display name of this asset type to show to the user in the
* asset wizard selection page etc
*/
String getDisplayName() {
return mDisplayName;
}
/**
* Returns the default format to use to suggest a name for the asset
*/
String getDefaultNameFormat() {
return mDefaultNameFormat;
}
/** Whether this asset type configures foreground scaling */
boolean needsForegroundScaling() {
return this == LAUNCHER;
}
/** Whether this asset type needs a shape parameter */
boolean needsShape() {
return this == LAUNCHER || this == NOTIFICATION;
}
/** Whether this asset type needs foreground and background color parameters */
boolean needsColors() {
return this == LAUNCHER;
}
/** Whether this asset type needs an effects parameter */
boolean needsEffects() {
return this == LAUNCHER;
}
/** Whether this asset type needs a theme parameter */
boolean needsTheme() {
return this == ACTIONBAR;
}
}