diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/TargetMenuListener.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/TargetMenuListener.java | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/TargetMenuListener.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/TargetMenuListener.java deleted file mode 100644 index 71905f7c9..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/TargetMenuListener.java +++ /dev/null @@ -1,126 +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.internal.preferences.AdtPrefs; -import com.android.sdklib.AndroidVersion; -import com.android.sdklib.IAndroidTarget; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -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.List; -import java.util.RandomAccess; - -/** - * The {@linkplain TargetMenuListener} class is responsible for - * generating the rendering target menu in the {@link ConfigurationChooser}. - */ -class TargetMenuListener extends SelectionAdapter { - private final ConfigurationChooser mConfigChooser; - private final IAndroidTarget mTarget; - private final boolean mPickBest; - - TargetMenuListener( - @NonNull ConfigurationChooser configChooser, - @Nullable IAndroidTarget target, - boolean pickBest) { - mConfigChooser = configChooser; - mTarget = target; - mPickBest = pickBest; - } - - @Override - public void widgetSelected(SelectionEvent e) { - IAndroidTarget target = mTarget; - AdtPrefs prefs = AdtPrefs.getPrefs(); - if (mPickBest) { - boolean autoPick = prefs.isAutoPickRenderTarget(); - autoPick = !autoPick; - prefs.setAutoPickRenderTarget(autoPick); - if (autoPick) { - target = ConfigurationMatcher.findDefaultRenderTarget(mConfigChooser); - } else { - // Turn it off, but keep current target until another one is chosen - return; - } - } else { - // Manually picked some other target: turn off auto-pick - prefs.setAutoPickRenderTarget(false); - } - mConfigChooser.selectTarget(target); - mConfigChooser.onRenderingTargetChange(); - } - - static void show(ConfigurationChooser chooser, ToolItem combo) { - Menu menu = new Menu(chooser.getShell(), SWT.POP_UP); - Configuration configuration = chooser.getConfiguration(); - IAndroidTarget current = configuration.getTarget(); - List<IAndroidTarget> targets = chooser.getTargetList(); - boolean haveRecent = false; - - MenuItem menuItem = new MenuItem(menu, SWT.CHECK); - menuItem.setText("Automatically Pick Best"); - menuItem.addSelectionListener(new TargetMenuListener(chooser, null, true)); - if (AdtPrefs.getPrefs().isAutoPickRenderTarget()) { - menuItem.setSelection(true); - } - - @SuppressWarnings("unused") - MenuItem separator = new MenuItem(menu, SWT.SEPARATOR); - - // Process in reverse order: most important targets first - assert targets instanceof RandomAccess; - for (int i = targets.size() - 1; i >= 0; i--) { - IAndroidTarget target = targets.get(i); - - AndroidVersion version = target.getVersion(); - if (version.getApiLevel() >= 7) { - haveRecent = true; - } else if (haveRecent) { - // Don't show ancient rendering targets; they're pretty broken - // (unless of course all you have are ancient targets) - break; - } - - String title = ConfigurationChooser.getRenderingTargetLabel(target, false); - MenuItem item = new MenuItem(menu, SWT.CHECK); - item.setText(title); - - boolean selected = current == target; - if (selected) { - item.setSelection(true); - } - - item.addSelectionListener(new TargetMenuListener(chooser, target, false)); - } - - 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); - } -} |