diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerPage.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerPage.java | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerPage.java deleted file mode 100644 index b02765012..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerPage.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (C) 2010 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.project; - -import com.android.ide.eclipse.adt.AdtConstants; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.internal.ui.dialogs.StatusInfo; -import org.eclipse.jdt.internal.ui.dialogs.StatusUtil; -import org.eclipse.jdt.ui.wizards.IClasspathContainerPage; -import org.eclipse.jdt.ui.wizards.IClasspathContainerPageExtension; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; - -import java.util.Arrays; - -public class AndroidClasspathContainerPage extends WizardPage implements IClasspathContainerPage, - IClasspathContainerPageExtension { - - private IProject mOwnerProject; - - private String mLibsProjectName; - - private Combo mProjectsCombo; - - private IStatus mCurrStatus; - - private boolean mPageVisible; - - public AndroidClasspathContainerPage() { - super("AndroidClasspathContainerPage"); //$NON-NLS-1$ - mPageVisible = false; - mCurrStatus = new StatusInfo(); - setTitle("Android Libraries"); - setDescription("This container manages classpath entries for Android container"); - } - - @Override - public IClasspathEntry getSelection() { - IPath path = new Path(AdtConstants.CONTAINER_FRAMEWORK); - - final int index = this.mProjectsCombo.getSelectionIndex(); - if (index != -1) { - final String selectedProjectName = this.mProjectsCombo.getItem(index); - - if (this.mOwnerProject == null - || !selectedProjectName.equals(this.mOwnerProject.getName())) { - path = path.append(selectedProjectName); - } - } - - return JavaCore.newContainerEntry(path); - } - - @Override - public void setSelection(final IClasspathEntry cpentry) { - final IPath path = cpentry == null ? null : cpentry.getPath(); - - if (path == null || path.segmentCount() == 1) { - if (this.mOwnerProject != null) { - this.mLibsProjectName = this.mOwnerProject.getName(); - } - } else { - this.mLibsProjectName = path.segment(1); - } - } - - @Override - public void createControl(final Composite parent) { - final Composite composite = new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout(2, false)); - - final Label label = new Label(composite, SWT.NONE); - label.setText("Project:"); - - final String[] androidProjects = getAndroidProjects(); - - this.mProjectsCombo = new Combo(composite, SWT.READ_ONLY); - this.mProjectsCombo.setItems(androidProjects); - - final int index; - - if (this.mOwnerProject != null) { - index = indexOf(androidProjects, this.mLibsProjectName); - } else { - if (this.mProjectsCombo.getItemCount() > 0) { - index = 0; - } else { - index = -1; - } - } - - if (index != -1) { - this.mProjectsCombo.select(index); - } - - final GridData gd = new GridData(); - gd.grabExcessHorizontalSpace = true; - gd.minimumWidth = 100; - - this.mProjectsCombo.setLayoutData(gd); - - setControl(composite); - } - - @Override - public boolean finish() { - return true; - } - - @Override - public void setVisible(boolean visible) { - super.setVisible(visible); - mPageVisible = visible; - // policy: wizards are not allowed to come up with an error message - if (visible && mCurrStatus.matches(IStatus.ERROR)) { - StatusInfo status = new StatusInfo(); - status.setError(""); //$NON-NLS-1$ - mCurrStatus = status; - } - updateStatus(mCurrStatus); - } - - /** - * Updates the status line and the OK button according to the given status - * - * @param status status to apply - */ - protected void updateStatus(IStatus status) { - mCurrStatus = status; - setPageComplete(!status.matches(IStatus.ERROR)); - if (mPageVisible) { - StatusUtil.applyToStatusLine(this, status); - } - } - - /** - * Updates the status line and the OK button according to the status - * evaluate from an array of status. The most severe error is taken. In case - * that two status with the same severity exists, the status with lower - * index is taken. - * - * @param status the array of status - */ - protected void updateStatus(IStatus[] status) { - updateStatus(StatusUtil.getMostSevere(status)); - } - - @Override - public void initialize(final IJavaProject project, final IClasspathEntry[] currentEntries) { - this.mOwnerProject = (project == null ? null : project.getProject()); - } - - private static String[] getAndroidProjects() { - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - final String[] names = new String[projects.length]; - for (int i = 0; i < projects.length; i++) { - names[i] = projects[i].getName(); - } - Arrays.sort(names); - return names; - } - - private static int indexOf(final String[] array, final String str) { - for (int i = 0; i < array.length; i++) { - if (array[i].equals(str)) { - return i; - } - } - return -1; - } - -} |