aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java212
1 files changed, 0 insertions, 212 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
deleted file mode 100644
index 99814f731..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2012 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.wizards.templates;
-
-import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.ATTR_BUILD_API;
-import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.ATTR_MIN_API;
-import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.ATTR_MIN_API_LEVEL;
-import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.ATTR_PACKAGE_NAME;
-import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.ATTR_TARGET_API;
-
-import com.android.annotations.NonNull;
-import com.android.ide.eclipse.adt.AdtPlugin;
-import com.android.ide.eclipse.adt.AdtUtils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-import java.io.File;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Template wizard which creates parameterized templates
- */
-public class NewTemplateWizard extends TemplateWizard {
- /** Template name and location under $sdk/templates for the default activity */
- static final String BLANK_ACTIVITY = "activities/BlankActivity"; //$NON-NLS-1$
- /** Template name and location under $sdk/templates for the custom view template */
- static final String CUSTOM_VIEW = "other/CustomView"; //$NON-NLS-1$
-
- protected NewTemplatePage mMainPage;
- protected NewTemplateWizardState mValues;
- private final String mTemplateName;
-
- NewTemplateWizard(String templateName) {
- mTemplateName = templateName;
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- super.init(workbench, selection);
-
- mValues = new NewTemplateWizardState();
-
- File template = TemplateManager.getTemplateLocation(mTemplateName);
- if (template != null) {
- mValues.setTemplateLocation(template);
- }
- hideBuiltinParameters();
-
- List<IProject> projects = AdtUtils.getSelectedProjects(selection);
- if (projects.size() == 1) {
- mValues.project = projects.get(0);
- }
-
- mMainPage = new NewTemplatePage(mValues, true);
- }
-
- @Override
- protected boolean shouldAddIconPage() {
- return mValues.getIconState() != null;
- }
-
- /**
- * Hide those parameters that the template requires but that we don't want
- * to ask the users about, since we can derive it from the target project
- * the template is written into.
- */
- protected void hideBuiltinParameters() {
- Set<String> hidden = mValues.hidden;
- hidden.add(ATTR_PACKAGE_NAME);
- hidden.add(ATTR_MIN_API);
- hidden.add(ATTR_MIN_API_LEVEL);
- hidden.add(ATTR_TARGET_API);
- hidden.add(ATTR_BUILD_API);
- }
-
- @Override
- public void addPages() {
- super.addPages();
- addPage(mMainPage);
- }
-
- @Override
- public IWizardPage getNextPage(IWizardPage page) {
- TemplateMetadata template = mValues.getTemplateHandler().getTemplate();
-
- if (page == mMainPage && shouldAddIconPage()) {
- WizardPage iconPage = getIconPage(mValues.getIconState());
- mValues.updateIconState(mMainPage.getEvaluator());
- return iconPage;
- } else if (page == mMainPage
- || shouldAddIconPage() && page == getIconPage(mValues.getIconState())) {
- if (template != null) {
- if (InstallDependencyPage.isInstalled(template.getDependencies())) {
- return getPreviewPage(mValues);
- } else {
- return getDependencyPage(template, true);
- }
- }
- } else if (page == getDependencyPage(template, false)) {
- return getPreviewPage(mValues);
- }
-
- return super.getNextPage(page);
- }
-
- @Override
- @NonNull
- protected IProject getProject() {
- return mValues.project;
- }
-
- @Override
- @NonNull
- protected List<String> getFilesToOpen() {
- TemplateHandler activityTemplate = mValues.getTemplateHandler();
- return activityTemplate.getFilesToOpen();
- }
-
- @Override
- @NonNull
- protected List<Runnable> getFinalizingActions() {
- TemplateHandler activityTemplate = mValues.getTemplateHandler();
- return activityTemplate.getFinalizingActions();
- }
-
- @Override
- protected List<Change> computeChanges() {
- return mValues.computeChanges();
- }
-
- /**
- * Opens the given set of files (as relative paths within a given project
- *
- * @param project the project containing the paths
- * @param relativePaths the paths to files to open
- * @param mWorkbench the workbench to open the files in
- */
- public static void openFiles(
- @NonNull final IProject project,
- @NonNull final List<String> relativePaths,
- @NonNull final IWorkbench mWorkbench) {
- if (!relativePaths.isEmpty()) {
- // This has to be delayed in order for focus handling to work correctly
- AdtPlugin.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (String path : relativePaths) {
- IResource resource = project.findMember(path);
- if (resource != null) {
- if (resource instanceof IFile) {
- try {
- AdtPlugin.openFile((IFile) resource, null, false);
- } catch (PartInitException e) {
- AdtPlugin.log(e, "Failed to open %1$s", //$NON-NLS-1$
- resource.getFullPath().toString());
- }
- }
- boolean isLast = relativePaths.size() == 1 ||
- path.equals(relativePaths.get(relativePaths.size() - 1));
- if (isLast) {
- BasicNewResourceWizard.selectAndReveal(resource,
- mWorkbench.getActiveWorkbenchWindow());
- }
- }
- }
- }
- });
- }
- }
-
- /**
- * Specific New Custom View wizard
- */
- public static class NewCustomViewWizard extends NewTemplateWizard {
- /** Creates a new {@link NewCustomViewWizard} */
- public NewCustomViewWizard() {
- super(CUSTOM_VIEW);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- super.init(workbench, selection);
- setWindowTitle("New Custom View");
- super.mMainPage.setTitle("New Custom View");
- super.mMainPage.setDescription("Creates a new custom view");
- }
- }
-}