aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java225
1 files changed, 0 insertions, 225 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java
deleted file mode 100644
index a26a22e49..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ChooseAssetTypePage.java
+++ /dev/null
@@ -1,225 +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.assetstudio;
-
-import com.android.ide.eclipse.adt.internal.project.ProjectChooserHelper;
-import com.android.ide.eclipse.adt.internal.project.ProjectChooserHelper.ProjectCombo;
-import com.android.ide.eclipse.adt.internal.resources.ResourceNameValidator;
-import com.android.resources.ResourceFolderType;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/** Page for choosing the type of asset to create, as well as the target project */
-public class ChooseAssetTypePage extends WizardPage implements SelectionListener, ModifyListener {
- private final CreateAssetSetWizardState mValues;
- private ProjectCombo mProjectButton;
- private Button mClipboardButton;
- private Text mNameText;
- private boolean mNameModified;
- private Label mResourceName;
-
- /**
- * Create the wizard.
- */
- public ChooseAssetTypePage(CreateAssetSetWizardState values) {
- super("chooseAssetTypePage");
- mValues = values;
- setTitle("Choose Icon Set Type");
- setDescription("Select the type of icon set to create:");
- }
-
- /**
- * Create contents of the wizard.
- *
- * @param parent the parent composite
- */
- @Override
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NULL);
-
- setControl(container);
- container.setLayout(new GridLayout(3, false));
-
- for (AssetType type : AssetType.values()) {
- Button button = new Button(container, SWT.RADIO);
- button.setData(type);
- button.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
- button.setSelection(type == mValues.type);
- button.setText(type.getDisplayName());
- button.addSelectionListener(this);
- }
-
- Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
- GridData gdSeparator = new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1);
- gdSeparator.heightHint = 20;
- separator.setLayoutData(gdSeparator);
-
- Label projectLabel = new Label(container, SWT.NONE);
- projectLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- projectLabel.setText("Project:");
-
- ProjectChooserHelper helper =
- new ProjectChooserHelper(getShell(), null /* filter */);
- mProjectButton = new ProjectCombo(helper, container, mValues.project);
- mProjectButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
- mProjectButton.addSelectionListener(this);
-
- Label assetLabel = new Label(container, SWT.NONE);
- assetLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- assetLabel.setText("Icon Name:");
-
- mNameText = new Text(container, SWT.BORDER);
- mNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
- mNameText.addModifyListener(this);
-
- Label resourceLabel = new Label(container, SWT.NONE);
- resourceLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- resourceLabel.setText("Resource:");
-
- mResourceName = new Label(container, SWT.NONE);
- mResourceName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-
- mClipboardButton = new Button(container, SWT.FLAT);
- mClipboardButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- mClipboardButton.setText("Copy Name to Clipboard");
-
- mClipboardButton.addSelectionListener(this);
-
- updateAssetType();
- validatePage();
- parent.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- mNameText.setFocus();
- }
- });
- }
-
- private void updateAssetType() {
- if (!mNameModified) {
- // Default name suggestion, possibly as a suffix, e.g. "ic_menu_<name>"
- String replace = "name";
- String suggestedName = String.format(mValues.type.getDefaultNameFormat(), replace);
- mNameText.setText(suggestedName);
- mValues.outputName = suggestedName;
-
- updateResourceLabel();
- mNameModified = false;
- int start = suggestedName.indexOf(replace);
- if (start != -1) {
- mNameText.setSelection(start, start + replace.length());
- } else {
- mNameText.selectAll();
- }
- } else {
- mNameText.selectAll();
- }
- }
-
- private void updateResourceLabel() {
- mResourceName.setText("@drawable/" + getOutputName()); //$NON-NLS-1$
- }
-
- @Override
- public boolean canFlipToNextPage() {
- return mValues.project != null;
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- Object source = e.getSource();
- if (source == mProjectButton) {
- mValues.project = mProjectButton.getSelectedProject();
- validatePage();
- } else if (source == mClipboardButton) {
- Clipboard clipboard = new Clipboard(getShell().getDisplay());
- TextTransfer textTransfer = TextTransfer.getInstance();
- clipboard.setContents(
- new Object[] { mResourceName.getText() },
- new Transfer[] { textTransfer });
- clipboard.dispose();
- } else if (source instanceof Button) {
- // User selected a different asset type to be created
- Object data = ((Button) source).getData();
- if (data instanceof AssetType) {
- mValues.type = (AssetType) data;
- CreateAssetSetWizardState.sLastType = mValues.type;
- updateAssetType();
- }
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void modifyText(ModifyEvent e) {
- Object source = e.getSource();
- if (source == mNameText) {
- mNameModified = true;
- mValues.outputName = mNameText.getText().trim();
- updateResourceLabel();
- }
-
- validatePage();
- }
-
- private String getOutputName() {
- return mNameText.getText().trim();
- }
-
- private void validatePage() {
- String error = null;
-
- if (mValues.project == null) {
- error = "Please select an Android project.";
- } else {
- String outputName = getOutputName();
- if (outputName == null || outputName.length() == 0) {
- error = "Please enter a name";
- } else {
- ResourceNameValidator validator =
- ResourceNameValidator.create(true, ResourceFolderType.DRAWABLE);
- error = validator.isValid(outputName);
- }
- }
-
- setPageComplete(error == null);
- if (error != null) {
- setMessage(error, IMessageProvider.ERROR);
- } else {
- setErrorMessage(null);
- setMessage(null);
- }
- }
-}