diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/OrientationMenuAction.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/OrientationMenuAction.java | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/OrientationMenuAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/OrientationMenuAction.java deleted file mode 100644 index 5cad29afc..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/OrientationMenuAction.java +++ /dev/null @@ -1,180 +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.ide.eclipse.adt.internal.editors.layout.gle2.SubmenuAction; -import com.android.resources.NightMode; -import com.android.resources.ScreenOrientation; -import com.android.resources.UiMode; -import com.android.sdklib.devices.Device; -import com.android.sdklib.devices.State; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.ToolItem; - -import java.util.List; - -/** - * Action which creates a submenu that shows the available orientations as well - * as some related options for night mode and dock mode - */ -class OrientationMenuAction extends SubmenuAction { - // Constants used to indicate what type of menu is being shown, such that - // the submenus can lazily construct their contents - private static final int MENU_NIGHTMODE = 1; - private static final int MENU_UIMODE = 2; - - private final ConfigurationChooser mConfigChooser; - /** Type of menu; one of the constants {@link #MENU_NIGHTMODE} etc */ - private final int mType; - - OrientationMenuAction(int type, String title, ConfigurationChooser configuration) { - super(title); - mType = type; - mConfigChooser = configuration; - } - - static void showMenu(ConfigurationChooser configChooser, ToolItem combo) { - MenuManager manager = new MenuManager(); - - // Show toggles for all the available states - - Configuration configuration = configChooser.getConfiguration(); - Device device = configuration.getDevice(); - State current = configuration.getDeviceState(); - if (device != null) { - List<State> states = device.getAllStates(); - - if (states.size() > 1 && current != null) { - State flip = configuration.getNextDeviceState(current); - String flipName = flip != null ? flip.getName() : current.getName(); - manager.add(new DeviceConfigAction(configChooser, - String.format("Switch to %1$s", flipName), flip, false, true)); - manager.add(new Separator()); - } - - for (State config : states) { - manager.add(new DeviceConfigAction(configChooser, config.getName(), - config, config == current, false)); - } - manager.add(new Separator()); - } - manager.add(new OrientationMenuAction(MENU_UIMODE, "UI Mode", configChooser)); - manager.add(new Separator()); - manager.add(new OrientationMenuAction(MENU_NIGHTMODE, "Night Mode", configChooser)); - - Menu menu = manager.createContextMenu(configChooser.getShell()); - 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); - } - - @Override - protected void addMenuItems(Menu menu) { - switch (mType) { - case MENU_NIGHTMODE: { - NightMode selected = mConfigChooser.getConfiguration().getNightMode(); - for (NightMode mode : NightMode.values()) { - boolean checked = mode == selected; - SelectNightModeAction action = new SelectNightModeAction(mode, checked); - new ActionContributionItem(action).fill(menu, -1); - - } - break; - } - case MENU_UIMODE: { - UiMode selected = mConfigChooser.getConfiguration().getUiMode(); - for (UiMode mode : UiMode.values()) { - boolean checked = mode == selected; - SelectUiModeAction action = new SelectUiModeAction(mode, checked); - new ActionContributionItem(action).fill(menu, -1); - } - break; - } - } - } - - - private class SelectNightModeAction extends Action { - private final NightMode mMode; - - private SelectNightModeAction(NightMode mode, boolean checked) { - super(mode.getLongDisplayValue(), IAction.AS_RADIO_BUTTON); - mMode = mode; - if (checked) { - setChecked(true); - } - } - - @Override - public void run() { - Configuration configuration = mConfigChooser.getConfiguration(); - configuration.setNightMode(mMode, false); - mConfigChooser.notifyFolderConfigChanged(); - } - } - - private class SelectUiModeAction extends Action { - private final UiMode mMode; - - private SelectUiModeAction(UiMode mode, boolean checked) { - super(mode.getLongDisplayValue(), IAction.AS_RADIO_BUTTON); - mMode = mode; - if (checked) { - setChecked(true); - } - } - - @Override - public void run() { - Configuration configuration = mConfigChooser.getConfiguration(); - configuration.setUiMode(mMode, false); - } - } - - private static class DeviceConfigAction extends Action { - private final ConfigurationChooser mConfiguration; - private final State mState; - - private DeviceConfigAction(ConfigurationChooser configuration, String title, - State state, boolean checked, boolean flip) { - super(title, IAction.AS_RADIO_BUTTON); - mConfiguration = configuration; - mState = state; - if (checked) { - setChecked(true); - } - ScreenOrientation orientation = configuration.getOrientation(state); - setImageDescriptor(configuration.getOrientationImage(orientation, flip)); - } - - @Override - public void run() { - mConfiguration.selectDeviceState(mState); - mConfiguration.onDeviceConfigChange(); - } - } -} |