diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ActivityMenuListener.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ActivityMenuListener.java | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ActivityMenuListener.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ActivityMenuListener.java deleted file mode 100644 index 36cd0fbbb..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ActivityMenuListener.java +++ /dev/null @@ -1,162 +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.editors.layout.configuration; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.internal.editors.manifest.ManifestInfo; -import com.android.ide.eclipse.adt.internal.resources.ResourceHelper; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jdt.ui.ISharedImages; -import org.eclipse.jdt.ui.JavaUI; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.MenuItem; -import org.eclipse.swt.widgets.ToolItem; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * The {@linkplain ActivityMenuListener} class is responsible for - * generating the activity menu in the {@link ConfigurationChooser}. - */ -class ActivityMenuListener extends SelectionAdapter { - private static final int ACTION_OPEN_ACTIVITY = 1; - private static final int ACTION_SELECT_ACTIVITY = 2; - - private final ConfigurationChooser mConfigChooser; - private final int mAction; - private final String mFqcn; - - ActivityMenuListener( - @NonNull ConfigurationChooser configChooser, - int action, - @Nullable String fqcn) { - mConfigChooser = configChooser; - mAction = action; - mFqcn = fqcn; - } - - @Override - public void widgetSelected(SelectionEvent e) { - switch (mAction) { - case ACTION_OPEN_ACTIVITY: { - Configuration configuration = mConfigChooser.getConfiguration(); - String fqcn = configuration.getActivity(); - AdtPlugin.openJavaClass(mConfigChooser.getProject(), fqcn); - break; - } - case ACTION_SELECT_ACTIVITY: { - mConfigChooser.selectActivity(mFqcn); - mConfigChooser.onSelectActivity(); - break; - } - default: assert false : mAction; - } - } - - static void show(ConfigurationChooser chooser, ToolItem combo) { - // TODO: Allow using fragments here as well? - Menu menu = new Menu(chooser.getShell(), SWT.POP_UP); - ISharedImages sharedImages = JavaUI.getSharedImages(); - Configuration configuration = chooser.getConfiguration(); - String current = configuration.getActivity(); - - if (current != null) { - MenuItem item = new MenuItem(menu, SWT.PUSH); - String label = ConfigurationChooser.getActivityLabel(current, true); - item.setText( String.format("Open %1$s...", label)); - Image image = sharedImages.getImage(ISharedImages.IMG_OBJS_CUNIT); - item.setImage(image); - item.addSelectionListener( - new ActivityMenuListener(chooser, ACTION_OPEN_ACTIVITY, null)); - - @SuppressWarnings("unused") - MenuItem separator = new MenuItem(menu, SWT.SEPARATOR); - } - - IProject project = chooser.getProject(); - Image image = sharedImages.getImage(ISharedImages.IMG_OBJS_CLASS); - - // Add activities found to be relevant to this layout - String layoutName = ResourceHelper.getLayoutName(chooser.getEditedFile()); - String pkg = ManifestInfo.get(project).getPackage(); - List<String> preferred = ManifestInfo.guessActivities(project, layoutName, pkg); - current = addActivities(chooser, menu, current, image, preferred); - - // Add all activities - List<String> activities = ManifestInfo.getProjectActivities(project); - if (preferred.size() > 0) { - // Filter out the activities we've already listed above - List<String> filtered = new ArrayList<String>(activities.size()); - Set<String> remove = new HashSet<String>(preferred); - for (String fqcn : activities) { - if (!remove.contains(fqcn)) { - filtered.add(fqcn); - } - } - activities = filtered; - } - - if (activities.size() > 0) { - if (preferred.size() > 0) { - @SuppressWarnings("unused") - MenuItem separator = new MenuItem(menu, SWT.SEPARATOR); - } - - addActivities(chooser, menu, current, image, activities); - } - - Rectangle bounds = combo.getBounds(); - Point location = new Point(bounds.x, bounds.y + bounds.height); - location = combo.getParent().toDisplay(location); - menu.setLocation(location.x, location.y); - menu.setVisible(true); - } - - private static String addActivities(ConfigurationChooser chooser, Menu menu, String current, - Image image, List<String> activities) { - for (final String fqcn : activities) { - String title = ConfigurationChooser.getActivityLabel(fqcn, false); - MenuItem item = new MenuItem(menu, SWT.CHECK); - item.setText(title); - item.setImage(image); - - boolean selected = title.equals(current); - if (selected) { - item.setSelection(true); - current = null; // Only show the first occurrence as selected - // such that we don't show it selected again in the full activity list - } - - item.addSelectionListener(new ActivityMenuListener(chooser, - ACTION_SELECT_ACTIVITY, fqcn)); - } - - return current; - } -} |