aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java275
1 files changed, 0 insertions, 275 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java
deleted file mode 100644
index 1f236fb2b..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/exportgradle/ConfirmationPage.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright (C) 2013 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.exportgradle;
-
-import com.google.common.collect.Lists;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Confirmation page to review the actual project export
- * list and see warning about existing files.
- *
- */
-public class ConfirmationPage extends WizardPage {
-
- private final ProjectSetupBuilder mBuilder;
- private TableViewer mTableViewer;
- private Label mModuleDescription1;
- private Label mModuleDescription2;
- private Label mModuleDescription3;
- private Label mProjectRootLabel;
- private Label mProjectRootWarning;
- private List<IJavaProject> mOverrideProjects;
- private boolean mOverrideWarning;
- private Button mForceOverride;
-
- public ConfirmationPage(ProjectSetupBuilder builder) {
- super("ConfirmationPage"); //$NON-NLS-1$
- mBuilder = builder;
- setPageComplete(false);
- setTitle(ExportMessages.PageTitle);
- setDescription(ExportMessages.PageDescription);
- }
-
- @Override
- public void createControl(Composite parent) {
- initializeDialogUnits(parent);
- GridData data;
-
- Composite workArea = new Composite(parent, SWT.NONE);
- setControl(workArea);
-
- workArea.setLayout(new GridLayout());
- workArea.setLayoutData(new GridData(GridData.FILL_BOTH
- | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));
-
- Label title = new Label(workArea, SWT.NONE);
- title.setText("Please review the export options.");
-
- Group group = new Group(workArea, SWT.NONE);
- group.setText("Project root");
- group.setLayout(new GridLayout());
- group.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
-
- mProjectRootLabel = new Label(group, SWT.NONE);
- mProjectRootLabel.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
-
- mProjectRootWarning = new Label(group, SWT.NONE);
- mProjectRootWarning.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
-
- Group group2 = new Group(workArea, SWT.NONE);
- group2.setText("Exported Modules");
- group2.setLayout(new GridLayout());
- group2.setLayoutData(data = new GridData(SWT.FILL, SWT.FILL, true, true));
- data.heightHint = 300;
-
- Table table = new Table(group2, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
- mTableViewer = new TableViewer(table);
- table.setLayout(new TableLayout());
- table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- mTableViewer.setContentProvider(new IStructuredContentProvider() {
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof ProjectSetupBuilder) {
- ProjectSetupBuilder builder = (ProjectSetupBuilder) inputElement;
- Collection<GradleModule> modules = builder.getModules();
- Object[] array = new Object[modules.size()];
- int i = 0;
- for (GradleModule module : modules) {
- array[i++] = module.getJavaProject();
- }
-
- return array;
- }
-
- return null;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- });
- mTableViewer.setLabelProvider(new WorkbenchLabelProvider() {
- @Override
- protected String decorateText(String input, Object element) {
- if (element instanceof IJavaProject) {
- IJavaProject javaProject = (IJavaProject) element;
- StringBuilder sb = new StringBuilder(input);
- if (!mBuilder.isOriginalProject(javaProject)) {
- sb.append('*');
- }
- // TODO: decorate icon instead?
- if (mOverrideProjects.contains(javaProject)) {
- sb.append(" (1 warning)");
- }
-
- return sb.toString();
- }
-
- return input;
- }
- });
- mTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- Object firstElement = selection.getFirstElement();
- if (firstElement instanceof IJavaProject) {
- GradleModule module = mBuilder.getModule((IJavaProject) firstElement);
- if (mBuilder.getOriginalModules().contains(module)) {
- mModuleDescription1.setText("Exported because selected in previous page.");
- } else {
- List<GradleModule> list = mBuilder.getShortestDependencyTo(module);
- StringBuilder sb = new StringBuilder();
- for (GradleModule m : list) {
- if (sb.length() > 0) {
- sb.append(" > ");
- }
- sb.append(m.getJavaProject().getProject().getName());
- }
- mModuleDescription1.setText("Dependency chain: " + sb);
- }
- mModuleDescription2.setText("Path: " + module.getPath());
-
- if (mOverrideProjects.contains(module.getJavaProject())) {
- mModuleDescription3.setText(
- "WARNING: build.gradle already exists for this project");
- } else {
- mModuleDescription3.setText("");
- }
- } else {
- mModuleDescription1.setText("");
- mModuleDescription2.setText("");
- mModuleDescription3.setText("");
- }
- }
- });
-
- mModuleDescription1 = new Label(group2, SWT.NONE);
- mModuleDescription1.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
- mModuleDescription2 = new Label(group2, SWT.NONE);
- mModuleDescription2.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
- mModuleDescription3 = new Label(group2, SWT.NONE);
- mModuleDescription3.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
-
- mForceOverride = new Button(workArea, SWT.CHECK);
- mForceOverride.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
- mForceOverride.setText("Force overriding of existing files");
- mForceOverride.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateEnablement();
- }
- });
-
- setControl(workArea);
- Dialog.applyDialogFont(parent);
- }
-
- /**
- * Get list of projects which have already a buildfile.
- *
- * @param javaProjects list of IJavaProject objects
- * @return set of project names
- */
- private void computeOverride(String commonRoot) {
- mOverrideProjects = Lists.newArrayList();
- for (GradleModule module : mBuilder.getModules()) {
- if (new File(module.getProject().getLocation().toFile(),
- BuildFileCreator.BUILD_FILE).exists()) {
- mOverrideProjects.add(module.getJavaProject());
- }
- }
-
- // also check on the root settings.gradle/build.gradle
- boolean settingsFile = new File(commonRoot, BuildFileCreator.SETTINGS_FILE).exists();
- boolean buildFile = new File(commonRoot, BuildFileCreator.BUILD_FILE).exists();
- if (settingsFile && buildFile) {
- mProjectRootWarning.setText(
- "WARNING: build.gradle/settings.gradle already exists at this location.");
- } else if (settingsFile) {
- mProjectRootWarning.setText(
- "WARNING: settings.gradle already exists at this location.");
- } else if (buildFile) {
- mProjectRootWarning.setText("WARNING: build.gradle already exists at this location.");
- }
-
- mOverrideWarning = mOverrideProjects.size() > 0 || settingsFile || buildFile;
- }
-
- /**
- * Enables/disables the finish button on the wizard and displays error messages as needed.
- */
- private void updateEnablement() {
- if (mOverrideWarning && !mForceOverride.getSelection()) {
- setErrorMessage("Enable overriding of existing files before clicking Finish");
- mBuilder.setCanGenerate(false);
- } else {
- setErrorMessage(null);
- mBuilder.setCanGenerate(true);
- }
- setPageComplete(false);
- getContainer().updateButtons();
- }
-
- @Override
- public void setVisible(boolean visible) {
- super.setVisible(visible);
- if (visible) {
- mProjectRootWarning.setText("");
-
- String commonRoot = mBuilder.getCommonRoot().toOSString();
- computeOverride(commonRoot);
- mProjectRootLabel.setText(commonRoot);
- mTableViewer.setInput(mBuilder);
- mTableViewer.getTable().setFocus();
- mBuilder.setCanFinish(false);
- mBuilder.setCanGenerate(true);
- updateEnablement();
- }
- }
-} \ No newline at end of file